|
|
|
|
サーバーのセットアップ
|
|
固定IPでDNSサーバー構築
|
||
固定IPでDNSサーバー構築ブートファイルの基本設定WAN用ゾーンファイルの作成ポートフォワーディングの設定WAN空間からのDNSチェックスレーブDNSサーバーの設置DNSサーバとドメイン名の登録レコードの書き換えについて |
スレーブDNSサーバーを設置する前の動作チェックルーター に ポートフォワーディング の設定を行って、 WAN 空間からの 名前解決 が可能な状態になったら、スレーブDNSサーバーを設置したり 構築中のLinuxサーバー を正式なDNSサーバーとして登録したりする前に、 WAN側からの名前解決テストを行うようにします 。 自宅で複数の ISP とインターネット契約を行っていて、 構築中のLinuxサーバー の入っている サブネット とは別のサブネットからインターネット接続が可能な場合には、そこからアクセスして確認するのが簡単ですが、そういう通信環境がない場合は勤め先や学校、インターネットカフェなどから確認することになります。 |
|||||||
|
Windows2000 以降の WindowsOS であれば、 コマンドプロンプト から nslookup コマンド が利用できますし、 MacOSX で ターミナル が利用できればLinuxOSと同じように、更に host や dig コマンドを利用することも出来ます。 ここではWindowsOSのコマンドプロンプト上で nslookup コマンド使った例を紹介しますが、同じコマンドでも OS によって使い方が微妙に異なりますので、詳しくはそれぞれのOSのコマンドリファレンスを参照してください。 |
||||||||
|
DNSサーバーの構築に、
とても役に立った一冊です ↓ |
また、「チェックだけのためにわざわざ外出したくない。」という方のためにこのパートの後半に お便利サーバーからチェックを行う スクリプト を設置していますので、よろしれけばご利用ください。 「権威ある回答」動作の確認
"/etc/named.conf"
に
WAN
側用に追加した
ゾーン名
この場合は nslookup コマンド に詳細表示のオプションスイッチを付けて、 と実行します。 |
|||||||
| もしも "211.183.111.3x" に ISP から逆引きの FQDN が設定されていないときは、その代わりに ルートサーバー の情報が盛大に表示されます。もちろん異常ではありませんので驚かないでください。 |
このように、
|
|||||||
|
|
ここでLAN側用のゾーンファイルの内容が表示されてしまうときは、
"/etc/named.conf"
また、現在も
ダイナミックDNS
を利用中でそのパラメータが表示されるときは、
"/etc/named.conf"
さて、この方法で名前解決が正常に行わない場合には色々な原因が考えられます。 1. ポートフォワーディング が正しく設定されていない。
ルーター
の設定を確認します
2. 構築中のLinuxサーバー 上にファイヤーウォールが設置されている。
この
コンテンツ
に従って
WBEL
や
CentOS
の
インストール
が行われていればファイヤーウォールは設置されていないはずですが
3. named が稼動していない。
こういうウッカリミスもあるかもしれませんので確認してみましょう
4."/etc/named.conf"の"view"キーワードの記述ミス。 WAN側と LAN 側のゾーン記述の振り分け方法を間違えると、WAN側には何のゾーンも提示されず、結果的にnamedは動作していない場合と同じ振る舞いをしますので、記述内容をきちんと確認します。 5."/etc/named.conf"の中に指定したゾーンファイル"/var/named/obenri.com.wan.zone"が実際は存在していない。
稀なケースかもしれませんが、こういう場合namedは「ゾーンが存在しない」と判断したうえでそのゾーン情報を無視して正常に稼動してしまいますので、意外にミスに気付きにくいものです。例えばゾーンファイルの作成の最初のテンプレート作成のときに
こういうケースでは問題点の切り分けが難しくなりますが、例えば意図的にWAN側でDNSキャッシュを有効に設定してみて
DNSキャッシュ動作の確認
nslookup [実在する適当な
FQDN
] [自宅の
グローバルIPアドレス
]
と実行します。 |
|||||||
| ここでは某国の国営放送のFQDNを拝借してます。 |
このように、 「211.183.111.3xはFQDN(www.nhk.or.jp)を見つけられず、回答できない。」 という答えが返ってくればOKです。 もしも、
と言う具合に、 「Non-authoritative answer(権威のない回答=DNSキャッシュの回答)として、202.214.202.101に名前解決した。」
という答えが返ってくるときは、WAN側に対してDNSキャッシュが有効になっていることになりますので、もう一度
"/etc/named.conf"
の内容を確認し、修正を行ってください
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
|||||||
| このページの先頭へ↑ |
お便利サーバーから自宅DNSサーバーをチェック |
|||||||
| このパートのスクリプトの利用はもちろん自由ですが、動作結果とそれに基づく設定などで生じたいかなる問題についても、当方は一切責任を負えませんので予めご了承ください(一応決まり文句なので)。 |
以下は、現在ご利用の サブネット の WAN 側の ゲートウェイアドレス に対して、稼働中のお便利サーバー "web0.obenri.com" から、 host コマンド を実行するためのパートです。 出不精の方はここから自宅 サーバー に設置されている DNSサーバー のWAN側の動作をチェックすることができます。 「権威ある回答」動作の確認
上の入力欄に、
|
|||||||
|
|
すると、お便利サーバー "web0.obenri.com" 上(つまり WAN 側)から、あなたの自宅の サブネット のWAN側の ゲートウェイアドレス に対して、
を実行し、その結果を表示します。
ここでLAN側用のゾーンファイルの内容が表示されてしまうときは、
"/etc/named.conf"
また、現在も
ダイナミックDNS
を利用中でそのパラメータが表示されるときは、
"/etc/named.conf"
さて、
”;; connection timed out; no servers could be reached”
と表示されるときは名前解決そのものが行われていないので、色々な原因が考えられます。 1. ポートフォワーディング が正しく設定されていない。
ルーター
の設定を確認します
2. 構築中のLinuxサーバー 上にファイヤーウォールが設置されている。
この
コンテンツ
に従って
WBEL
や
CentOS
の
インストール
が行われていればファイヤーウォールは設置されていないはずですが
3. named が稼動していない。
こういうウッカリミスもあるかもしれませんので確認してみましょう
4."/etc/named.conf"の"view"キーワードの記述ミス。 WAN側と LAN 側のゾーン記述の振り分け方法を間違えると、WAN側には何のゾーンも提示されず、結果的にnamedは動作していない場合と同じ振る舞いをしますので、記述内容をきちんと確認します。 5."/etc/named.conf"の中に指定したゾーンファイル"/var/named/obenri.com.wan.zone"が実際は存在していない。
稀なケースかもしれませんが、こういう場合namedは「ゾーンが存在しない」と判断したうえでそのゾーン情報を無視して正常に稼動してしまいますので、意外にミスに気付きにくいものです。例えばゾーンファイルの作成の最初のテンプレート作成のときに
こういうケースでは問題点の切り分けが難しくなりますが、例えば意図的にWAN側でDNSキャッシュを有効に設定してみて
DNSキャッシュ動作の確認上のボタンをクリックすると、お便利サーバー "web0.obenri.com" 上(つまり WAN 側)から、あなたの自宅の サブネット のWAN側の ゲートウェイアドレス に対して、
を実行し、その結果を表示します。
と、名前解決結果が返ってこなければ正常ですが、もしも名前解決の結果が返ってくる場合にはWAN側でDNSキャッシュが有効になっていますので、もう一度
"/etc/named.conf"
の内容を確認し、修正を行ってください
これらのスクリプトの動作についての捕捉説明お便利サーバー.comは、現在は ダイナミックDNS を利用して運営していますので、非常に稀なケースですが実行のタイミングによっては正しい結果が返ってこない可能性があります。 |
|||||||
|
|
そこで、思ったような 名前解決 結果が返ってこない場合には少し時間を置いてからもう一度実行してみてください。 また、無関係な用途による乱用を防止するため、名前解決を行わせる DNSサーバー は、アクセス元の サブネット の WAN 側の グローバルIPアドレス が強制的に指定されるようになってます。 従って任意の IPアドレス を指定した方法でのDNSサーバーのテストを行うことはできませんし、自宅にWAN側からの問い合わせが可能なにDNSサーバーが設置されていない場合は、これらのスクリプトを実行しても意味がありません。 また、無意味な実行の繰り返しを防止するため、同じ ノード から一定時間内に非常識な回数のスクリプトの起動が行われると、一定期間内そのノードからの要求に応えなくなるようになりますので注意してください。 このパートでは固定IPアドレスでのDNSサーバー構築を前提に解説を行っていますが、これらの スクリプト は非固定IPアドレスでの通信環境からでも同様に実行可能です。 非固定IPアドレス契約ではWAN用のDNSサーバーの構築は事実上不可能ですが、将来的なDNSサーバーの設置を目指して、 BIND の設定の練習などに利用することもできます。 また、 「権威ある回答」動作の確認 のスクリプトでは、実際には任意の ドメイン名 を入力し、テストすることができます。 ただし、テストできるのは英名のドメイン名だけです。日本語ドメイン名などの2 バイト のドメイン名は扱えませんのでご了承ください。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
|
ポートフォワーディングの設定
<<Previous
|
Next>>
スレーブDNSサーバーの設置
|
| このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。また、本サイトの更新情報をメールで知らせてほしい方は ここ からご登録ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |