DNS
Domain Name System
ドメイン名をキーに、各種情報を引ける世界規模の分散データベース
DNS が引ける情報は DNSレコードのtypeで区別される
例えば、domain nameとIP Addressを紐付けるなど
なぜ必要か
ホスト同士はIPアドレス(93.184.216.34)で通信するが、人間はこれを覚えられない
そこで人間が扱える名前(example.com)と機械が扱うアドレスを橋渡しする層が必要になる
また、間接参照のメリットもある
サーバを引っ越してIPが変わっても、名前はそのままにできる
1つの名前を複数IPに割り当てて負荷分散できる
名前ごとに「メールはここ、Webはここ」と用途別に振り分けられる
つまりDNSは単なる変換表ではなく、「名前」という安定した参照点を提供するインフラと言える
DNSサーバ
DNSキャッシュサーバー
DNSレコード
参考
『DNSがよくわかる教科書』
https://qiita.com/getty104/items/b9c18c4d86f6a1274d18
DNSの浸透という表現の問題点
IP Addressは、ネットワークを管理する側の都合で変更されることもある
その場合、IPアドレスだけ見ていると、全く別の相手に繋がってしまう可能性がある
代わりに名前を使う
名前で指定された相手がその時点で使っているIPアドレスを接続の都度調べるようにする
DNSレコード
https://gyazo.com/046e1d89a1acc6d2bdd3d8cb2d7e5807 https://www.akamai.com/ja/glossary/what-are-dns-servers
DNSのリクエストと、サーバへのリクエストは、独立したリクエスト
上記画像の1,2は、すでにローカルにIPのキャッシュがあれば行われない
この図めっちゃわかりやすいな
https://www.kagoya.jp/howto/wp-content/uploads/kagoya1610-3_2_2-1.jpg https://www.kagoya.jp/howto/rentalserver/dns-server/
委任
DNSでは、 あるサーバがドメイン名情報をすべて持っているわけではなく、 「委任」と呼ばれる仕組みでデータを階層ごとに分散化しています。 ここで言う委任は、自分の管理するドメインのうち、 一部を他のサーバに管理を任せることを指しています。ref
権威DNSサーバー
DNSラウンドロビン
DNSフェイルオーバー
DoH
ネームリゾルバ
https://ja.wikipedia.org/wiki/リゾルバ
DNS_PROBE_FINISHED_NXDOMAIN
https://kinsta.com/jp/knowledgebase/dns_probe_finished_nxdomain/
NXDOMAIN
Non-Existent Domainの略
https://www.dnsknowledge.com/whatis/nxdomain-non-existent-domain-2/
DNSキャッシュポイズニング
#??
浸透とは?
これ、待つしか無いのか?
http://www.e-ontap.com/dns/propagation/
$ sudo killall -HUP mDNSResponder
killallコマンド
macでDNSキャッシュを消すやつ?
https://stackoverflow.com/questions/38867905/how-to-view-dns-cache-in-osx
https://www.nic.ad.jp/ja/dns/
用語集
https://kinsta.com/knowledgebase/what-is-dns/
概要
https://www.slideshare.net/ttkzw/dnsrfc
RFC
https://aws.amazon.com/jp/route53/what-is-dns/
https://developers-jp.googleblog.com/2019/11/dns.html
https://gigazine.net/news/20191129-fight-over-encrypted-dns/
https://okuranagaimo.blogspot.com/2020/06/dns_20.html
https://okuranagaimo.blogspot.com/2020/10/dns_13.html
https://www.nic.ad.jp/ja/dom/system.html
https://speakerdeck.com/mamy1326/basics-of-dns-that-application-engineers-should-know
参考
DNSとは - JPNIC
概要
【図解】DNSサーバーとは?設定・変更と確認方法 | カゴヤのサーバー研究室
概要、図がわかりやすい
https://educatedguesswork.org/posts/dns-security/