DNS

DNSはDomain Name Systemの略
ドメイン名とIPアドレスの対応付け
メールの宛先ホストを指示

→ IPアドレスではわかりにくい為、名前で指定
ARPANETではホスト名とIPアドレスの対応表としてHOSTS.txtを使用していた。
SRI-NICから入手して接続。SIR-NICはホストとIPの更新作業を行なっていた。実態はAT&Tなど
現在の/etc/hosts と同様

ファイルの増大化に伴い、1983年にRFC882、RFC883発表 これが現在のDNSの元
RFC882:https://tools.ietf.org/html/rfc882
RFC883:https://tools.ietf.org/html/rfc883

DNSの仕組み
名前空間最上位にルートサーバが作成。ルートサーバはjp, comなどドメイン名を管理
ドメインを階層構造で管理、更新を分散化

問い合わせを行う為のDNSサーバはキャッシュ機能がある

セカンダリDNSとは負荷分散、障害対策のために、DNSを二つ用意する
DNSSECとはデータ作成元の認証やデータの完全性を確認できるよう仕様を拡張するもの

1つの権威DNSサーバが管理する範囲をゾーンと呼び、その情報をゾーン情報と呼ぶ
ゾーン情報は、Aレコード、MXレコード、NSレコードなど多数のゾーン情報がある

SOA: ゾーン情報を記載(ドメインDNS, ドメイン管理者、更新間隔、転送再試行、レコード有効時間、キャッシュ有効時間) 他のDNSに転送する
NS: ドメインのDNSサーバ名を指定
A: ホストのIPアドレス
PTR: IPアドレスに対するホスト名
CNAME: ホスト名のエイリアス
MX: ドメインのメール・サーバ名
HINFO: ホストの追加情報
WKS: ホストで実行されているサービス情報
TXT: ホストへのテキスト情報

ネームサーバーとは、インターネット通信時にドメイン名をIPアドレスに変換する名前解決を行うサーバー
ネームサーバー = DNSサーバー

Route53で言う所の SOAがゾーン情報、NSがドメインのDNSサーバーに当たる

AWSのroute53で登録するとDNSサーバーがawsになる。

サーバー側で、virtual hostを設定すると、指定したディレクトリをさす

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example.com

# Other directives here

</VirtualHost>

ルートネームサーバからサーバに繋げるのはわかるけど、シードDNSがクライアントにipを返す仕組みがわからないな。

vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ nslookup google.com
Server: 10.0.2.3
Address: 10.0.2.3#53

Non-authoritative answer:
Name: google.com
Address: 216.58.199.238

vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ nslookup 216.58.199.238
Server: 10.0.2.3
Address: 10.0.2.3#53

Non-authoritative answer:
238.199.58.216.in-addr.arpa name = kix05s02-in-f238.1e100.net.
238.199.58.216.in-addr.arpa name = kix05s02-in-f14.1e100.net.

vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ dig google.com

; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54587 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 205 IN A 216.58.197.14 ;; Query time: 48 msec ;; SERVER: 10.0.2.3#53(10.0.2.3) ;; WHEN: Fri Nov 01 11:29:11 UTC 2019 ;; MSG SIZE rcvd: 55