|
|
自宅内DNSサーバーの構築
|
DNSサーバーの構築hostsファイルの設定BINDについて(〜9.3.x)BINDについて(9.7.x〜)named.confの設定(〜9.3.x)named.confの設定(9.7.x〜)ゾーンファイルの書式ゾーンファイルの省略方法既存のゾーンファイル(〜9.3.x)既存のゾーンファイル(9.7.x〜)正引きゾーンファイルの作成逆引きゾーンファイルの作成設定ファイルの書式チェックnamedの起動とコントロールnamedの動作確認ルーターとホストの設定DNSSECについて |
namedの動作確認
BINDの
DNSキャッシュ
としての動作確認は、
もちろん、 Webブラウザ でwebページを表示させてみたり、メールの送受信を行ったり、という操作を、プライベートIPアドレスではなく "www.obenri.com" や "mail.obenri.com" のような FQDN で操作してみることで、間接的に正常性を知ることはできます。 しかし、それらの方法では全ての動作の正しさを確認することはできませんし、また、正常ではない場合の原因をつかむことはできませんから、あまり良い方法とはいえないでしょう。 はやりここはシステム管理者たるもの、きちんと動作チェック用の コマンド を利用するべきです。 WBEL や CentOS には デフォルト で、名前解決をチェックするための コマンド として、 host 、 dig 、 nslookup の三つが インストール されています。 これらはいずれも、 DNSサーバー に対して FQDN や IPアドレス で問い合わせを行い、その結果を表示するコマンドです。 それぞれのコマンドは使い方や書式が異なりますが、得られる情報に大差はありませんから好みで使い分ければよいでしょう。 ここでは例としてhostコマンドを使って説明します。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
"構築中のLinuxサーバー自身での確認まず、 DNSサーバー である 構築中のLinuxサーバー 自身からの動作確認をしてみましょう。 |
|||||||||
|
|
まず、 構築中のLinuxサーバー に適当な ユーザーアカウント で ログイン します。 もちろん、直接実機にログインしても、 SSHクライアント を使って同じ サブネット の別の ホスト機 からログインしてもかまいません。 デフォルトの設定に対するチェックまず、"localhost"、"localhost.localdomain"に対する正引きと、 ループバックアドレス に対する逆引きの 名前解決 をチェックしましょう。 次のようにコマンドを実行してみてください。設定に間違いがなければ、直ちに以下のような結果が表示されるはずです。
結果の中で、
青
で示す部分が"
NOERROR
"になっていれば、
赤
で示す部分が、該当するゾーンファイルの記述
なかなか結果が表示されないとき、あるいは、
のような結果が返ってくるときは、 named に名前解決の要求そのものが届いていません。 |
|||||||||
|
|
今は自 ホスト に対するチェックを行っていますから、通信経路の障害は起こりえません。
また、この部分の設定については、ブートファイル
"named.conf"
ということはこの不具合の原因は、 構築中のLinuxサーバー の named が起動していない。 "/etc/resolv.conf"の記述に誤りがある。
のいずれかです。もう一度、
"obenri.com"に対する正引きのチェック次に、新たに作成したゾーン "obenri.com" に対してチェックを行います。
この結果の中で、
青
で示す部分が"
NOERROR
"になっていれば、
赤
で示す部分が、該当するゾーンファイル
"obenri.com.zone"
の記述
もしも内容が一致しないときは、書式に誤りはありませんが設定そのものに間違いがあります。もう一度内容を確認してください。 また、
のように、名前解決結果が得られない場合、 named が起動時にゾーンファイル "obenri.com.zone" を読み込むことができなかったことを示しています。 namedはブートファイル "named.conf" に書式上の誤りさえなければ、設定に誤りがあってゾーンファイルを読み込むことができなくても、起動時にエラーは出ません。 従ってこういう不具合の原因は、 ブートファイル中のゾーンファイル名と、実際のゾーンファイル名、または パス 名が一致していない。またはゾーンファイルの パーミッション が正しく設定されていない ということになります。
ですから、ブートファイルの
"options"
の
"directory"
の部分
|
|||||||||
|
|
あるいは、ゾーンファイルを作成したときの方法によっては、「
システムアカウント
named
で読み込めない」パーミッションになっているかもしれません
また、
のように
WAN
空間へ
名前解決
の問い合わせが行われてしまい、正引きの結果が
グローバルIPアドレス
で返ってくるときは、
構築中のLinuxサーバー
が「"obenri.com"に対する権威ある
DNSサーバー
つまりこの場合は、ブートファイル "named.conf" の中のゾーン名の宣言"obenri.com"が正しく書かれていないということになります。 以上について正しい結果が得られるようになるまで、設定を修正してください。 "obenri.com" 以外のドメイン名に対する設定を行っている場合も同様のチェック、修正を行ってください。
設定を修正したら再チェックを行う前に、設定を反映させる作業
"192.168.100.0/24"に対する逆引きのチェック新たに作成したゾーン "100.168.192.in-addr.apra" に対してチェックを行います。
この結果の中で、
青
で示す部分が"
NOERROR
"になっていれば、
赤
で示す部分が、該当するゾーンファイル
"100.168.192.in-addr.arpa.zone"
の記述
もしも内容が一致しないときは、書式に誤りはありませんが設定そのものに間違いがあります。もう一度内容を確認してください。 |
|||||||||
|
|
また、
のようなメッセージが出て、名前解決結果が得られない場合、 named が起動時にゾーンファイル "100.168.192.in-addr.arpa.zone" を読み込むことができなかったことを示しています。 namedはブートファイル "named.conf" に書式上の誤りさえなければ、設定に誤りがあってゾーンファイルを読み込むことができなくても、起動時にエラーは出ません。 従ってこういう不具合の原因は、 ブートファイル中のゾーンファイル名と、実際のゾーンファイル名、または パス 名が一致していない。またはゾーンファイルの パーミッション が正しく設定されていない ということになります。
ですから、ブートファイルの
"options"
の
"directory"
の部分
あるいは、ゾーンファイルを作成したときの方法によっては、「
システムアカウント
named
で読み込めない」パーミッションになっているかもしれません
また、
のような結果が表示されるときは、
構築中のLinuxサーバー
が「"192.168.100.0/24"に対する権威ある
DNSサーバー
つまりこの場合は、ブートファイル "named.conf" の中のゾーン名の宣言"100.168.192.in-addr.arpa"が正しく書かれていないということになります。 以上について正しい結果が得られるようになるまで、設定を修正してください。
設定を修正したら再チェックを行う前に、設定を反映させる作業
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
|||||||||
LAN内の他のホスト機からの動作確認構築中のLinuxサーバー での動作確認がきちんとできていれば、 LAN 内の同一の サブネット に設置された ホスト機 からも問題なく DNSサーバー が利用できるはずです。 |
||||||||||
|
|
まず、
また、
設定を変更したり、修正したりした後は、各ホスト機に古い DNSキャッシュ の情報が残ったままになってしまうことがありますから、必ず再起動してください。 準備ができたら、お使いのホスト機が Windows98 、 Me 、 2000 、 XP 、及び MacOSX の場合は、 コマンド を使ってテストしてみましょう。 Windows98の場合は、 スタート → プログラム(P) → MS-DOS プロンプト WindowsMe、2000、XPの場合は、 スタート → プログラム(P) → アクセサリ → コマンドプロンプト または MS-DOSプロンプト) の順でメニューを開きます。MacOSXの場合は、 "起動ディスク"→"アプリケーション"→"ユーティリティ"→"ターミナル" の順でフォルダを開きます。 するとそれぞれの OS のコマンド シェル 画面が開きます。
例:Windows2000のコマンドシェル画面 画面が開いたら、次のように ping コマンドでDNSサーバーの動作を確認してみましょう。
pingの実行例(Windows2000) pingコマンドで問い合わせを行った FQDN に対して、上の例のように、正引きの名前解決結果の IPアドレス に対して正常に応答があればOKです。 既に上記で説明した 構築中のLinuxサーバー 自身での動作確認がとれていれば、これ以上のチェックは必要ありませんが、勉強の意味で他のFQDNやIPアドレスに対してpingコマンドを実行してみても良いでしょう。 もしも応答が得られない場合は、そのホスト機のデフォルトのDNSサーバーの指定が "192.168.100.11" に設定されていないか、あるいはネットワーク機能そのものに異常がありますので、もう一度設定を確認してください。 また、ホスト機のOSの種類によっては nslookup コマンドで名前解決のチェックを行うこともできますから、これも実行してみると良いでしょう。
nslookupの実行例(Windows2000) Windows95 や MacOS9 以前のOSでは、このようなネットワークコマンドでのチェックができないケースが大半ですので、 構築中のLinuxサーバー の Webサーバー Apache に接続してみて動作確認を行いましょう。 まず、 構築中のLinuxサーバー のApacheを起動してください。
そして、参照する DNSサーバー の設定を行った サブネット 内の任意の ホスト から、 構築中のLinuxサーバー の プライベートIPアドレス を使って、 "http://192.168.100.11/" にアクセスしてみてください。以下のようなのテストページが表示されれば、Webサーバーは正常に機能していることになります。
サブネット内から接続したApache2のテストページ これと同じページが、 "http://www.obenri.com/" で表示されればOKです。 また、 バーチャルホスト の設定はまだ行っていませんから、同じページが "http://web1.obenri.com/ や |
|||||||||
|
DNSサーバーの構築に、
とても役に立った一冊です ↓ |
"http://mail.obenri.com/ でも見ることができるはずです。 また、 "ugegege.com" に対する設定が行われているときは、ゾーンファイル "ugegege.com.zone" 内で、 "www.ugegege.com.zone" がIPアドレス "192.168.100.11" に名前解決されるように記述されていれば、 "http://www.ugegege.com/ でも同じページが表示されるはずです。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
|||||||||
SSHクライアントからFQDNで接続する
DNSサーバーは
クライアント
アプリケーション
でも普遍的に利用できますから、例えば
SSHクライアント
から
構築中のLinuxサーバー
への接続
IPアドレスでSSH接続 のように IPアドレス ではなく、
FQDNでSSH接続 のように FQDN でも接続できるはずです。 もちろん、 "192.168.100.11" に 名前解決 されるFQDNであればすべてOKのはずですので、 "www.obenri.com" や "mail.obenri.com" 、更に "ugegege.com" に対する設定が行われているときは、 "www.ugegege.com.zone" などでも接続できるようになっているはずです。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
|
|
逆引きゾーンファイルの作成
<<Previous
|
Next>>
ルーターとホストの設定
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |