やっと実用的な部分に踏み込めるようになってきました。
本日はインターネットの基幹技術である、DNSとはについてお話します。
まずあなたが小さなデザイン事務所でも経営していることにしましょう。
作業者が5名いて、監督者が1名。それぞれにPCが与えられておりブロードバンドルータを通じてインターネットに繋いでいることにしましょう。
PCの数は6台。プリンタは1台でこれもネットワークに繋がっています。
作業者は工程ごとに分担するようにしているので一つの作品に対してそれぞれがアクセスできる必要があります。
せっかくですのでNASを導入しておきましょう。
作品はこのNASに保存するので全員がアクセスできます。
NASにもIPアドレスが必要なのでノード数は8。
さて、共有資源を探すさいに
「¥¥192.168.10.5¥share〜」などと打てばアクセスできますが、それには
「誰のpcが何番のIPアドレスをもっているか」全員が間違いなく知っている必要があります。
この場合、すべてのPCにホスト名とIPアドレスの対応表をもたせることで「名前解決」を行うことが出来ます。
Windowsでしたら「C:\Windows\system32\drivers\etc\hosts」
Linuxでしたら「/etc/hosts」にその記述を行います。
これによって、
「¥¥192.168.10.5¥share〜」ではなく
「¥¥hostname¥share〜」とアクセスすればそのホストが何番のIPアドレスをもっているかに関わらずアクセスができるので便利ですね。
それで、あなたの勤める会社は急成長して従業員が増えて社員5000人となりました。
当然全員がPCを持っており、プリンタも増えました。
あなたは引き続きこの巨大ネットワークの管理を任されています。
PCは古くなったら新しいものを順次導入します。
IPアドレスとホスト名の符号はどんどんと複雑かつ、随時変更されていきます。
変更が発生するたびにあなたは社屋中を駆けずり回ってhostsファイルを更新することに疲れました。
そこで、各PCにIPアドレスを設定する際に、hostsの記述を空にして「名前解決はこのサーバに委ねなさい」という設定を実施します。(この設定をしていてもhostsの記述が優先されますので注意)
DNSサーバにはどのPCが何番のIPアドレスを持っているかを一元管理させています。
これで管理者はPCが増えたり入れ替えたりするときにはDNSサーバを更新するだけでよくなりました。
ところでこのDNSサーバ、従業員が「https://www.yahoo.co.jp」をブラウザで見るときにも参照されます。
従業員がブラウザを開いてURLを打ったとき、まずはあなたの管理するDNSサーバに「www.yahoo.co.jpってIPアドレス何番ですか」、という問い合わせが発生します。
しかし当然あなたの会社はYahooでもなんでもないのであなたの管理するDNSサーバはwww.yahoo.co.jpのIPアドレスを知りません。
つまり、あなたの会社の従業員はwww.yahoo.co.jpが見れません。
これでは困りますね。
自分の管理していないネットワークに関する問い合わせは、「フォワード」します。
ほかのDNSサーバに聞きに行ってもらうわけですね。
このための設定を「フォワーダ」と言います。
www.yahoo.co.jp
というのは、「jpグループ」のなかの「coグループ」のなかの「yahooグループ」の中の「www」というホストを指します。
もっと言えばこの「jp」の上に「.」というのがありまして
これを「ルートサーバ」と言います。
全世界に13台あります。
まずごのルートサーバが、「jpグループのことはここに聞いて」と返し
jpグループのDNSサーバが「coグループのことはここに聞いて」と返し
coグループのDNSサーバが「yahooグループのことはここに聞いて」と返し
Yahoo社内のDNSサーバが「wwwのIPアドレスは何番ですよ」と返してくれます
このように管理が「階層構造」になっているのが大きな特徴です。
これによって柔軟な運用が最小限の工数で賄えるようになっています。
この仕組みによってあなたはあなたの会社のホストだけを管理すればよくなるということです。
現実に名前解決を確認する方法は以下のコマンドを使用します。
Windowsの場合はnslookup
Linuxの場合はdigかnslookupですね
これらのコマンドを使用して名前解決が出来ているかを確認します。
以下にコマンド出力結果を掲載しておきましょう。
% nslookup hogehoge.com
Server: 192.168.92.xxx
Address: 192.168.92.xxx#53
Non-authoritative answer:
Name: hogehoge.com
Address: 13.225.183.xxx
Name: hogehoge.com
Address: 13.225.183.xxx
Name: hogehoge.com
Address: 13.225.183.xxx
Name: hogehoge.com
Address: 13.225.183.xxx
さてこのDNSですが基幹技術というだけあって1回では伝えきれないほどのボリュームがあります。
今回はここまでとしましょう。