![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
以上7つの設定ファイルが必要です。
上記ファイルがダウンロードできます。良かったら参考にしてください。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
DNSサーバーの動作確認のため、nslookupというコマンドを使用します。DNSが正しく設定されているかどうか確実に行うためには、クライアントの設定を確実に行う必要があります。それでは、上記で設定した内容が動作するかどうか順を追って検証していきましょう。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
DNSサーバに対してデーターの問い合わせを行うプログラムで、対話型とコマンドライン型の2種類があり、対話型が多く利用されます。今回の検証では、この対話型で行って行きましょう。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| > server Default server: 192.168.0.100 Address: 192.168.0.100#53 > |
こんな感じになりましたか?
Default server: 192.168.0.100この行が、これから問い合わせをするサーバーです。
Address: 192.168.0.100#53この行が、ipアドレスとポート番号をあらわしています。
localhost と入力しenterしてください。
| > localhost Server: 192.168.0.100 Address: 192.168.0.100#53 Name: localhost Address: 127.0.0.1 > |
こんな感じになりましたか?
Name: localhostこの行が、ホスト名です。
Address: 127.0.0.1この行が、ipアドレスです。
www.sample.con と入力しenterしてください。
| > www.sample.con Server: 192.168.0.100 Address: 192.168.0.100#53 www.sample.con canonical name = sv1.sample.con. Name: sv1.sample.con Address: 192.168.0.100 > |
こんな感じになりましたか?
www.sample.con canonical name = sv1.sample.con. この行は、sv1.sample.conの別名が、www.sample.conですと言う意味です。
これは、ドメイン名からipアドレスを解決する正引きと言います。
192.168.0.100 と入力しenterしてください。
| > 192.168.0.100 Server: 192.168.0.100 Address: 192.168.0.100#53 100.0.168.192.in-addr.arpa name = www.sample.con. 100.0.168.192.in-addr.arpa name = sv1.sample.con. > |
こんな感じになりましたか?
100.0.168.192.in-addr.arpa name = www.sample.con.と100.0.168.192.in-addr.arpa
name = sv1.sample.con.は、同じipアドレスを使っていることが判ります。
これは、ipアドレスからドメイン名を解決する逆引きと言います。
ここまで来れば内部での名前解決は出来たことになります。続いて外部の情報を引いて見ましょう。
set type=ns 入力しenterしてください。
"."ドットを入力しenterしてください。
| > set type=ns > . Server: 192.168.0.100 Address: 192.168.0.100#53 Non-authoritative answer: . nameserver = i.root-servers.net. . nameserver = j.root-servers.net. . nameserver = k.root-servers.net. . nameserver = l.root-servers.net. . nameserver = m.root-servers.net. . nameserver = a.root-servers.net. . nameserver = b.root-servers.net. . nameserver = c.root-servers.net. . nameserver = d.root-servers.net. . nameserver = e.root-servers.net. . nameserver = f.root-servers.net. . nameserver = g.root-servers.net. . nameserver = h.root-servers.net. Authoritative answers can be found from: b.root-servers.net internet address = 128.9.0.107 c.root-servers.net internet address = 192.33.4.12 d.root-servers.net internet address = 128.8.10.90 e.root-servers.net internet address = 192.203.230.10 g.root-servers.net internet address = 192.112.36.4 h.root-servers.net internet address = 128.63.2.53 i.root-servers.net internet address = 192.36.148.17 l.root-servers.net internet address = 198.32.64.12 m.root-servers.net internet address = 202.12.27.33 > |
こんな感じになりましたか?
これは、ルートドメインへns(ネームサーバー)を問い合わせた結果です。ルートドメインが管理しているネームサーバーの一覧が表示されます。
> set type=ns は、nsレコードを検索しますと言うことです。
> .で、ルートドメインを管理しているns(ネームサーバー)を問い合わせると言う意味です。その後に出てきたnameserver
= i.root-servers.net.はルートドメインを管理しているサーバー名で、i.root-servers.net
internet address = 192.36.148.17がipアドレスです。ということで、ルートドメインを管理しているサーバーは13台で管理していると言うことがわかりますね。これは、ラウンドロビンと言われる手法で、一つのホスト名に対して複数のipアドレスを定義し、負荷分散を目的として行います。用途は、DNSサーバーやウェブサーバー等によく用いられています。この辺の所も詳しく知りたい方は、技術書を参考にしてください。
つまり、ルートドメイン"."は、a.root-servers.net.からなる13台のネームサーバーにて管理されていると言う事です。
続いて、ではルートドメイインの配下にあるcom.ドメインを管理しているネームサーバーを問い合わせて見ましょう。
server a.root-servers.net. と入力しenterしてください。
com. と入力しenter
| > server a.root-servers.net. Default server: a.root-servers.net. Address: 198.41.0.4#53 > com. Server: a.root-servers.net. Address: 198.41.0.4#53 Non-authoritative answer: com nameserver = H.GTLD-SERVERS.NET. com nameserver = C.GTLD-SERVERS.NET. com nameserver = I.GTLD-SERVERS.NET. com nameserver = B.GTLD-SERVERS.NET. com nameserver = D.GTLD-SERVERS.NET. com nameserver = L.GTLD-SERVERS.NET. com nameserver = F.GTLD-SERVERS.NET. com nameserver = J.GTLD-SERVERS.NET. com nameserver = K.GTLD-SERVERS.NET. com nameserver = E.GTLD-SERVERS.NET. com nameserver = M.GTLD-SERVERS.NET. com nameserver = A.GTLD-SERVERS.NET. com nameserver = G.GTLD-SERVERS.NET. Authoritative answers can be found from: H.GTLD-SERVERS.NET internet address = 192.54.112.30 C.GTLD-SERVERS.NET internet address = 192.26.92.30 I.GTLD-SERVERS.NET internet address = 192.43.172.30 B.GTLD-SERVERS.NET internet address = 192.33.14.30 D.GTLD-SERVERS.NET internet address = 192.31.80.30 L.GTLD-SERVERS.NET internet address = 192.41.162.30 F.GTLD-SERVERS.NET internet address = 192.35.51.30 J.GTLD-SERVERS.NET internet address = 192.48.79.30 K.GTLD-SERVERS.NET internet address = 192.52.178.30 E.GTLD-SERVERS.NET internet address = 192.12.94.30 M.GTLD-SERVERS.NET internet address = 192.55.83.30 A.GTLD-SERVERS.NET internet address = 192.5.6.30 G.GTLD-SERVERS.NET internet address = 192.42.93.30 > |
こんな感じになりましたか?
最初の行(server a.root-servers.net.)は、serverコマンドにより、問い合わせをするサーバーを指定します。次のcom. は、com.を管理しているネームサーバーを問い合わせた結果です。comドメインをが管理しているネームサーバーの一覧が表示されます。
| > cc. Server: ns1.seattle.us.netdns.com Address: 206.253.214.13 cc nameserver = L3.NSTLD.COM cc nameserver = ns1.globaldns.COM cc nameserver = ns1.newyork.us.netdns.COM cc nameserver = ns1.sanfrancisco.us.netdns.COM cc nameserver = ns1.seattle.us.netdns.COM cc nameserver = ns1.tokyo.jp.netdns.COM cc nameserver = ns1.london.uk.netdns.COM cc nameserver = A3.NSTLD.COM cc nameserver = B3.NSTLD.COM cc nameserver = C3.NSTLD.COM cc nameserver = D3.NSTLD.COM cc nameserver = E3.NSTLD.COM cc nameserver = F3.NSTLD.COM cc nameserver = G3.NSTLD.COM ns1.globaldns.COM internet address = 206.253.214.11 ns1.globaldns.COM AAAA IPv6 address = ::ffff:206.253.214.11 ns1.newyork.us.netdns.COM internet address = 216.32.212.86 ns1.newyork.us.netdns.COM AAAA IPv6 address = ::ffff:216.32.212.86 ns1.sanfrancisco.us.netdns.COM internet address = 207.82.50.166 ns1.sanfrancisco.us.netdns.COM AAAA IPv6 address = ::ffff:207.82.50.166 > server ns1.seattle.us.netdns.COM Default Server: ns1.seattle.us.netdns.COM Address: 206.253.214.13 > parterre.cc Server: ns1.seattle.us.netdns.COM Address: 206.253.214.13 Non-authoritative answer: parterre.cc nameserver = NS1.parterre.cc NS1.parterre.cc internet address = 61.122.81.83 > server NS1.parterre.cc Default Server: NS1.parterre.cc Address: 61.122.81.83 > set type=a > parterre.cc Server: NS1.parterre.cc Address: 61.122.81.83 Name: parterre.cc Address: 61.122.81.83 |
以上でnslookupの検証実習を終了します。色んなドメインがありますので、実験してみてください。
これであなたのDNSサーバーは立ち上がっている状態にあります。ただしこれはあくまでもLAN側からの検索でWAN側からは検索してもらえません。それには、ホスティングサービスをしている会社に正式なドメインを取得してからの話になります。また、自宅内にDNSサーバーを自前で構築するには固定IPアドレスが必要になります(ダイナミックDNSを使う場合は別ですが)。さらにセキュリティを考えて設定しなければなりません。今回の検証では、動作確認と実際の原理を多少学んだだけです。色々な実験をし、検証を重ねて自信が持てるようになってからでも遅くありません。じっくり研究してから行ってください。
通常は、プロパイダーからDNSサーバーを指定されたアドレスを設定するか、DHCP機能により自動的に設定されています。
まずいまどのような設定になっているか確認してみましょう。
コマンドプロンプトから ipconfig -all と入力してください。下図
こんな感じで出力したと思います。
そこで、みてほしいところが、DHCP Server と DNS Sserversのところです。
この場合、DHCPのサーバーとDNSサーバー及びデフォルトゲートウェイが同じIPアドレスになっています。と言うことは1台のサーバーで3つの仕事をしてすべてそこを利用する設定になってるということです。そこで、DNSサーバーのみを今回設定したサーバーに変更して見ましょう。
TCP/IPのプロパティを下図のように変更してください。
| 設定前 |
| 設定後 |
コマンドプロンプトから ipconfig -all と入力してください。下図
どうでしょうか?DNS ServerのところのIPアドレスが192.168.0.100に変更されましたね。
それでは、まずpingを打って見ましょう。
コマンドプロンプトからping www.sample.con と入力して見ましょう。下図
どうでしょうか? ちゃんと返事が返ってきましたでしょうか?上手く返事が返ってくれば成功です。このままインターネットの検索を行っても上手くいくでしょう。本当にこのサーバーが動いているかどうかは、DNSサーバーを停止してみてください。そしてインターネットに接続してみてください、その時の注意としてPC側にキャッシュが残っている場合がありますので、一度もアクセスしたことの無いサイトへアクセスしてみてください。するとちゃんとエラーで帰ってきます。そしたらもう一度DNSサーバーを起動して同じところをアクセスしてみてください。今度はちゃんとアクセスできるはずです。
sample.conのサイトにアクセス
今までは、http://192.168.0.100 と入力してapacheにアクセスしていたと思いますが、DNSサーバーを起動したことにより
http://www.sample.con でアクセスできるようになります。ためしてみてください。