BIND へのゾーンファイル設定方法
最終更新:
2010年05月20日
Linux OS, Linux VPS, Linux 専用サーバー
本記事では、CentOS/RedHat Enterprise Linux 環境において、インストールされたBIND DNSサーバーにお客様がお持ちのドメインを運用するために必要なゾーンファイル設定方法を解説します。
ゾーンファイルとは、そのドメインのホスト情報を表記するものでこの設定無しにドメイン運用は行なえないものです。
※本記事では
参考記事: BIND(DNSサーバー)インストールについて CentOS4.x
BIND(DNSサーバー)インストールについて RHEL ES 4.x
BIND(DNSサーバー)インストールについて CentOS5.x/RHEL5.x
を参考に構築されたBIND コンテンツサーバー環境を対象としています。
上記参考記事と異なる方法で構築された環境には本記事内容が適用できない場合があります、ご了承くださいませ。
1. 本記事作成に利用した環境
参考記事をもとにBIND コンテンツサーバーが構築されている CentOS 5.2
2. 作業のまえに
※ご利用サーバーに ssh を利用してログインし、管理者権限(root)となります。
コマンドプロンプトが $ から # に変更されている事を確認してください。
参考記事: root 権限取得方法
3. 設定ドメイン情報の整理
このBIND コンテンツサーバーで運用したいドメインのゾーンファイルを作成します。
本記事では例として以下のドメイン設定を目標とします。
ドメイン名: test.com (お客様のドメイン名に読み替えてください)
サーバーIPアドレス: xxx.xxx.xxx.xxx (お客様サーバーのIPアドレスに読み替えてください)
設定ホスト: dns1.test.com, dns2.test.com, www.test.com, ftp.test.com, mail.test.com
4. ゾーンファイル作成
/var/named/chroot/var/named/test.com.zone を作成します。
※「test.com」をお客様ドメインに、「xxx.xxx.xxx.xxx」をお客様サーバーIPに読み替えて記述してください。
※ドメイン名を記述する際、ドメインの後に必ず 「.」ドット を付け加えてください。「.」を付け忘れると誤った設定が読み込まれてしまいます。
※緑文字の箇所は特に注意してください。
① : ゾーンファイル毎に、そのドメインゾーン情報を管理するプライマリネームサーバー名を記述します。
② : このゾーンファイルを管理する方のメールアドレスを記述します。この際、メールアドレス表記の@を 「.」ドット に置き換える必要があります。例では admin@userdomain.com を記述しています。
③ : このゾーンファイルを管理するシリアルナンバーです。規則としてはファイル作成日を基に yyyymmddnn という形式が主に使われます。BINDはこの数値をもとにゾーン情報を管理しますので修正など行なった場合は必ず記載されていた数値よりも大きな値に変更します。
$TTL 86400 ; 1 day
@ IN SOA ①dns1.test.com. ②admin.userdomain.com. (
③2009031201 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
1209600 ; expire (2 weeks)
86400 ; minimum (1 day)
)
test.com. IN NS dns1.test.com.
test.com. IN NS dns2.test.com.
test.com. IN A xxx.xxx.xxx.xxx
dns1.test.com. IN A xxx.xxx.xxx.xxx
dns2.test.com. IN A xxx.xxx.xxx.xxx
www.test.com. IN A xxx.xxx.xxx.xxx
ftp.test.com. IN A xxx.xxx.xxx.xxx
mail.test.com. IN A xxx.xxx.xxx.xxx
test.com. IN MX 10 mail.test.com.
5. ファイル所有権の変更
作成したゾーンファイルをBIND がファイルを正しく読み込めるよう、BIND 起動ユーザーである named に所有権を変更します。
6. ゾーンファイル構文チェック
作成したゾーンファイルが正しく記述されているかをチェックするため、
/usr/sbin/named-checkzone ドメイン名 /var/named/chroot/var/named/ゾーンファイル名
を実行します。
正しく記述されている場合
[root@ds00000 ~]# test.com.zone
zone test.com/IN: loaded serial 2009031201
OK
記述に誤りがある場合、例として xxx.xxx.xxx.xxx をIPアドレスに書き換えていなかった場合
[root@ds00000 ~]# /usr/sbin/named-checkzone test.com /var/named/chroot/var/named/test.com.zone
dns_rdata_fromtext: /var/named/chroot/var/named/test.com.zone:12: near ‘xxx.xxx.xxx.xxx’: bad dotted quad
dns_rdata_fromtext: /var/named/chroot/var/named/test.com.zone:13: near ‘xxx.xxx.xxx.xxx’: bad dotted quad
dns_rdata_fromtext: /var/named/chroot/var/named/test.com.zone:14: near ‘xxx.xxx.xxx.xxx’: bad dotted quad
dns_rdata_fromtext: /var/named/chroot/var/named/test.com.zone:15: near ‘xxx.xxx.xxx.xxx’: bad dotted quad
dns_rdata_fromtext: /var/named/chroot/var/named/test.com.zone:16: near ‘xxx.xxx.xxx.xxx’: bad dotted quad
dns_rdata_fromtext: /var/named/chroot/var/named/test.com.zone:17: near ‘xxx.xxx.xxx.xxx’: bad dotted quad
zone test.com/IN: loading master file /var/named/chroot/var/named/test.com.zone: bad dotted quad
7. BIND設定ファイルへのゾーンファイル指定
作成したゾーンファイルをBIND設定ファイル named.conf 最終行に追記します。
zone “test.com” IN {
type master;
file “test.com.zone”;
};
8. 設定ファイル構文チェック
ゾーンファイル情報を追記した named.conf の構文が正しいかチェックします。
[root@ds00000 ~]# ← 正しく記述されている場合は何も表示されず、コマンドプロンプトが表示されます。
エラーが指摘された場合、その箇所を修正します。
9. サービス起動
以上でドメイン運用の準備が整いましたので BIND を起動(再起動)します。
Starting named: [ OK ]
上記「5」での所有権変更を行なっていなかった場合、そのドメインのみ読み込まずにBINDが再起動してしまうことがありますので上記プロセス開始メッセージの確認だけではなく、プロセスの存在と /var/log/messages も併せて確認します。
named 27226 0.0 0.2 47900 2868 ? Ssl 11:52 0:00 /usr/sbin/named -u named -t /var/named/chroot
[root@ds00000 ~]# less /var/log/messages | grep test.com← BINDがゾーンファイルを読み込んでいるかを確認
Mar 12 11:44:02 サーバーホスト名 named[3404]: zone test.com/IN: loaded serial 2009031201← 正しく読み込まれている場合
10. レジストラ設定
以上でサーバー側の設定が完了しました。
最後に、ドメインを取得されたレジストラでの設定を行ないます。「4」で指定しました dns1.test.com と xxx.xxx.xxx.xxx、dns2.test.com と xxx.xxx.xxx.xxx 2つのネームサーバーホストとIPアドレスの組み合わせをレジストラに登録します。
このレジストラでの登録作業はお客様ご利用のレジストラにより方法が異なりますので方法が不明な場合はレジストラへお問い合わせください。
11. サービス起動
以上で作業が完了しましたので、root セッションを終了します。
[ユーザーID@ds00000 ~]# ← ユーザーIDが root から変更されていることを確認してください。
記事の評価
免責事項
XpressOne Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。アクティブフュージョンズ有限会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、 アクティブフュージョンズ有限会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。 アクティブフュージョンズ有限会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。アクティブフュージョンズ有限会社及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(アクティブフュージョンズ有限会社またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。)


