Hard work by INTERNET

ベンチャーで働くひとりぼっちWEB開発者が頑張るブログ

DNSの理解を少し深めた

/proc を探検する - いますぐ実践! Linuxシステム管理 / Vol.023

名前解決の理解がかなり曖昧だった。
NSサーバを適当に登録して、aレコードやcnameレコードを適当に投稿してWEBサーバのバーチャルホストを設定するだけで大抵動くので曖昧のままでご飯を食べれてた。

今回、ブラウザが再帰的に権威サーバへ再帰的に問合せしている手順をdigコマンドを使って再現した。 だがまだ理解が微妙だ。

今回はgoogle.comの名前解決をしてみた。

com を知っているnsサーバを問い合わせる

$ dig com ns
;; ANSWER SECTION:
com.                    11257   IN      NS      m.gtld-servers.net.
com.                    11257   IN      NS      j.gtld-servers.net.
com.                    11257   IN      NS      e.gtld-servers.net.
com.                    11257   IN      NS      c.gtld-servers.net.
com.                    11257   IN      NS      l.gtld-servers.net.
com.                    11257   IN      NS      k.gtld-servers.net.
com.                    11257   IN      NS      g.gtld-servers.net.
com.                    11257   IN      NS      i.gtld-servers.net.
com.                    11257   IN      NS      a.gtld-servers.net.
com.                    11257   IN      NS      h.gtld-servers.net.
com.                    11257   IN      NS      d.gtld-servers.net.
com.                    11257   IN      NS      f.gtld-servers.net.
com.                    11257   IN      NS      b.gtld-servers.net.

答えがたくさん帰ってきた。com を知っているサーバは*.gtld-servers.netだ。

次は *.gtld-servers.netのnsに対して、google.com のnsを問い合わせる。

google.com の ns サーバを問い合わせる

$ dig @a.gtld-servers.net google.com ns
;; AUTHORITY SECTION:
google.com.             172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns1.google.com.
google.com.             172800  IN      NS      ns3.google.com.
google.com.             172800  IN      NS      ns4.google.com.

google.com を登録しているnsサーバは ns2.google.com あたりということがわかった。 次はaレコードをns2.google.comに問い合わせる。

$ dig @ns2.google.com google.com a
;; ANSWER SECTION:
google.com.             300     IN      A       173.194.117.199
google.com.             300     IN      A       173.194.117.194
google.com.             300     IN      A       173.194.117.192
google.com.             300     IN      A       173.194.117.197
google.com.             300     IN      A       173.194.117.201
google.com.             300     IN      A       173.194.117.200
google.com.             300     IN      A       173.194.117.193
google.com.             300     IN      A       173.194.117.206
google.com.             300     IN      A       173.194.117.196
google.com.             300     IN      A       173.194.117.198
google.com.             300     IN      A       173.194.117.195

google.com を手で問い合わせた。

権威サーバというのは、com や google.com のnsを知っているサーバのことを指すらしい。 ns2.google.com は 権威サーバというのかな。

ゾーンファイルを持っているのは、ns2.google.com だと思う。

うーーーーーん。なんか微妙に理解ができていない。 nsレコードとはなんなんだ....。