DNSのお勉強

DNSのお勉強です。

ルートサーバー

インターネットのドメインは、最後のドットが省略されてる。

d.hatena.ne.jp.

ファイルみたいに表すと。

/jp/ne/hatena/d

となる。

最後の「.」って奴がルートのドメイン。ルートのドメインを管理してるのがルートサーバー。

ルートサーバ - Wikipedia

インターネットの世界を支えてる凄いサーバー達。コレが無ければみんなIPアドレスで通信しなければならない。大変だぁ。

dig

digでルートサーバー情報を探ってみる

% dig . NS

; <<>> DiG 9.3.4-P1 <<>> . NS
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22833
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13

;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
(略)
.                       210283  IN      NS      M.ROOT-SERVERS.NET.
(略)

;; ADDITIONAL SECTION:
(略)
M.ROOT-SERVERS.NET.     600440  IN      A       202.12.27.33
(略)

ルートサーバーの情報が得られた。ftp://ftp.rs.internic.net/domain/named.rootの情報といっしょ。こいつが判らないとインターネットの孤島となってしまう。ま、プロバイダが知ってる筈なので、直接知る必要は無い。

dig @ネームサーバとして、jp→hatena→dと聞いていくと、最後にns1.future-s.comに聞けと言われる。

Aレコードで問い合わせてみる。

% dig @ns1.future-s.com. d.hatena.ne.jp. A
(略)
d.hatena.ne.jp.         86400   IN      A       59.106.108.77

d.hatena.ne.jpのIPアドレスが取得出来ました。

http://59.106.108.77/

で、はてなのトップページにアクセス出来ますね。

WindowsからLinuxを操る

DNSの仕組みが判ってきたところで、DNSを実際に活用していきたいと思う。

全く使ってないWindowsLinuxクライアントとして活用しよう〜

まず、LinuxIPアドレスを調べてっと。

% /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:46:C7:D7:8D
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
(略)

Linuxの方のIPアドレスは192.168.0.2


bindを!!といきたい所ですがWindowsにbind入れるのは面倒そうなので、hostsで。

作業をWindowsに移してっと。

C:\WINDOWS\system32\drivers\etc\hostsにwindows版hostsファイルがあるので、LinuxIPアドレスを一行追加。

192.168.0.2 linux

/etc/hostsと仕様がいっしょというのはありがたい。linuxの所はお好きにどうぞ。

さて、保存したらcygwinからlinuxドメインでログインしてみる。

$ ssh linux
tanaka@linux's password:
% 

おぉ、見慣れたzshの画面が!!

IPアドレスを直接入力してたので、ちょっと楽になったかな。


DNSの道のりはまだまだ続く。