BINDの設定と起動
1. 設定
1-1. プライマリマスタの設定
1-1-1. 設定の準備
BIND の設定を始める前に、設定したい項目をメモにして明確にしておきます。
メモの例として、次のようなドメインを設定することにします。
以下、赤 の部分はお客様それぞれのドメイン名、IPアドレスで置き換えてください。
- ドメイン名は aaa.com とします。
- BIND を起動するホスト名を ns1.aaa.com 、IPアドレスを 192.168.0.1 とします。
- 設定したいホスト名として、www.aaa.com 、IPアドレス 192.168.0.2 を例にします。
- ネットワークアドレス 192.168.0.0/24 を、利用するIPアドレスとして割り当てられていることとします。
- シリアル番号として、日付をアレンジした10桁の番号を用意します。
今日の日付が2000年4月9日ならば、数字をすべて並べた上で、最後に「01」を追加した 2000040901 という数字を使います。
- セカンダリ・ネームサーバを弊社にご依頼いただいたものとします。
弊社セカンダリ・ネームサーバ名は ns1.dns.ne.jp です。
この設定は弊社にご依頼いただいた場合に限ります。
ご依頼のないまま設定を行った場合、名前の解決に支障をきたすおそれがあります。
上記サーバを指定する際は、必ず弊社まで御連絡ください。
1-1-2. 設定ファイル作成
準備したメモに従い設定するためには、以下の5つの設定ファイルを用意します。
これらのファイルは、すべて /etc/namedb というディレクトリに設置します。
- BIND設定ファイル
named.conf という設定ファイルに、BINDをコントロールする様々な設定を書き込みます。
- ルートネームサーバのロケーションファイル
named.root という名前のファイルです。
- ローカルホストのための逆引きファイル
localhost という名前に対して、必ず 1270.0.0.1 というIPアドレスが割り当てられます。
これを BIND によって解決できるよう設定するために必要です。
ファイル名は db.127.0.0 とします。
- ドメイン aaa.com のゾーンファイル
ドメイン aaa.com に対応するゾーンファイルです。
ここでは db.aaa.com という名前とします。
- ネットワーク 192.168.0.0/24 のゾーンファイル
IPアドレスからホスト名を引くためのゾーンファイルです。
db.192.168.0 という名前とします。
1-1-2-1. BIND設定ファイル
次のような内容のファイルを、エディタ等で作成します。
named.conf という名前でセーブしてください。
ファイル中、赤 の部分はお客様ごとのメモによって置き換えてください。
named.confの内容:
//
// named.conf
//
options {
directory "/etc/namedb"; // BINDディレクトリ
};
zone "." in {
type hint;
file "named.root"; // ルートネームサーバファイル
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "db.127.0.0"; // localhost逆引きファイル
};
zone "aaa.com" in { // 設定したいドメイン名
type master;
file "db.aaa.com"; // ドメインのゾーンファイル
};
zone "0.168.192.in-addr.arpa" in { // 設定したいネットワーク
type master;
file "db.192.168.0"; // ネットワークのゾーンファイル
};
// named.conf
|
※ネットワークのゾーン指定では、特殊な表記方法を使います。
XXX.YYY.ZZZ.NNN というネットワークアドレスの場合、
ZZZ.YYY.XXX.in-addr.arpa のように、逆順に並べるようにします。
1-1-2-2. ルートネームサーバのロケーションファイル
このファイルは、BINDのプログラムと共にインストールされているはずです。
/etc/namedb ディレクトリに named.root というファイルが存在すれば、そのままお使いいただいて結構です。
内容は以下のようになっています。
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . "
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: Aug 22, 1997
; related version of root zone: 1997082200
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
(以下略)
|
もしファイルが存在しなかったり、1年以上古いものであった場合は、以下のFTPサイトから最新のものをダウンロードできます。
ダウンロードの方法 を参考にして、named.root ファイルを入手してください。
FTPサイト: ftp://ftp.rs.internic.net/
ディレクトリ: /domain
ファイル名: named.root
1-1-2-3. ローカルホストのための逆引きファイル
以下の内容のファイルをエディタ等で作成し、db.127.0.0 という名前でセーブしてください。
db.127.0.0 ファイルの内容:
//
// db.127.0.0
//
$TTL 259200
@ IN SOA ns1.aaa.com. root.aaa.com. (
2000040901 ; Serial
86400 ; Refresh
10800 ; Retry
604800 ; Expire
259200 ; Minimum TTL
)
; Name Server
IN NS ns1.aaa.com.
IN NS ns1.dns.ne.jp.
; Hostname
1 IN PTR localhost.
// db.127.0.0
|
1-1-2-4. ドメインのゾーンファイル
ドメインに対応するゾーンファイルでは、aaa.com に所属するホストの名前に対してIPアドレスを割り当てる設定を行います。
赤 の部分は、メモに従い置き換えてください。
db.aaa.com の内容:
//
// db.aaa.com
//
$TTL 259200
; Start of Authority
@ IN SOA ns1.aaa.com. root.aaa.com. (
2000040901 ; Serial
86400 ; Refresh
10800 ; Retry
604800 ; Expire
259200 ; Minimum TTL
)
; Name Server
IN NS ns1.aaa.com.
IN NS ns1.dns.ne.jp.
; Address
localhost IN A 127.0.0.1
ns1 IN A 192.168.0.1
www IN A 192.168.0.2
|
ファイルに登場するディレクティブ(コマンド)の意味については、
こちら を御覧ください。
1-1-2-5. ネットワークのゾーンファイル
ドメインのゾーンファイルとは逆に、IPアドレスに対応するホスト名を割り当てる設定を行います。
db.192.168.0 の内容:
//
// db.192.168.0
//
$TTL 259200
; Start of Authority
@ IN SOA ns1.aaa.com. root.aaa.com. (
2000040901 ; Serial
86400 ; Refresh
10800 ; Retry
604800 ; Expire
259200 ; Minimum TTL
)
; Name Server
IN NS ns1.aaa.com.
IN NS ns1.dns.ne.jp.
; Hostname
1 IN PTR ns1.aaa.com.
2 IN PTR www.aaa.com.
// db.192.168.0
|
1-2. スレーブの設定
InterNIC ならびに JPNIC では、ひとつのドメインに対して2つ以上のネームサーバを登録するよう推奨しています。
これは一方のネームサーバにアクセスできなくなっても、他方がバックアップを行えるようにするための処置です。
このため、ネームサーバの設定も2つのサーバで別々に設定する必要があります。
2つのサーバで、それぞれプライマリ・マスタサーバとしての設定を行うことができますが、ホスト名の追加や変更があった場合、両方のサーバで作業をしなければならず、煩わしくなります。
BINDには、ゾーンファイルを他のネームサーバからコピーする機能があります。
この機能を使えば、バックアップサーバを最初に一度だけ設定するだけで、その後の追加や変更は、マスタサーバのみで行えばよくなります。
ここでは、マスタサーバからデータをコピーするスレーブサーバの設定について説明します。
なお、弊社お客様につきましては、弊社でバックアップを行うサービスを行っております。
以下の設定は、お客様ご自身でバックアップしたい場合に御利用ください。
1-2-1. 設定の準備
ここでは、プライマリマスタの設定と同様に、メモを作成することから始めます。
- ドメイン名は aaa.com とします。
- マスタサーバは ns1.aaa.com 、IPアドレスを 192.168.0.1 とし、すでに設定が終っていることとします。
- スレーブサーバは ns2.aaa.com、IPアドレスを 192.168.0.3 とします。
プライマリマスタサーバの設定において指定した ns1.dns.ne.jp を、この名前で置き換えてください。
この置換えを正しく行わないと、名前の解決に支障をきたすおそれがあります。
1-2-2. 設定ファイル作成
スレーブサーバの設定では、以下の3つの設定ファイルを用意します。
- BIND設定ファイル
named.conf を用意します。
内容はスレーブサーバ向けに記述する必要があります。
- ルートネームサーバのロケーションファイル
マスタサーバと同様、named.root を用意します。
マスタサーバと同じものをそのまま利用できます。
- ローカルホストのための逆引きファイル
マスタサーバと同様、db.127.0.0 を用意します。
マスタサーバと同じものをそのまま利用できます。
1-2-2-1. BIND設定ファイル
スレーブとして設定するには、以下の内容のファイルをエディタ等で作成します。
named.confの内容:
//
// named.conf
//
options {
directory "/etc/namedb"; // BINDディレクトリ
};
zone "." in {
type hint;
file "named.root"; // ルートネームサーバファイル
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "db.127.0.0"; // localhost逆引きファイル
};
zone "aaa.com" in { // 設定したいドメイン名
type slave;
file "bak.aaa.com"; // ドメインのゾーンファイル
masters { 192.168.0.1; }; // マスタサーバ
};
zone "0.168.192.in-addr.arpa" in { // 設定したいネットワーク
type slave;
file "bak.192.168.0"; // ネットワークのゾーンファイル
masters { 192.168.0.1; }; // マスタサーバ
};
// named.conf
|
2. 起動
2-1. namedを起動
まず、namedが起動しているか確認してください。
○プロセスが確認された場合
XXX(ここの数字はその時によって違います) ?? Is 0:00.35 /usr/sbin/named -b /etc/namedb/named.conf
このように表示が出た場合、旧バージョンのnamedが起動されています。次のようにして、named を一度終了させてください。
○プロセスが確認されなかった場合
psコマンドを用いてもなにも表示されない場合、ネームサーバが立ちあがっていません。以下のようにしてnamedを起動してください。
# /usr/local/sbin/named -b /etc/namedb/named.conf
|
2-2. エラーのチェック
namedが立ちあがる際、そのログを/var/log/messagesに出力します。このログを確認することにより、エラーがないか確かめることができます。
このメッセージファイルは追記形式で常時書きこまれるため、tail コマンドを使って参照するのが便利です。
次のように入力します。
ログを参照し、もし何らかのエラーがあった場合、メッセージにしたがってエラーを修正します。
2-3. 起動スクリプトの準備
次に起動スクリプトを変更して、サーバ起動時にネームサーバ(named)が立ちあがるようにします。
[FreeBSDの場合]
/etc/rc.conf.local を変更します。
# cd /etc
# vi rc.conf.local
|
ファイルが開けたら、以下の行を記述します。(すでに書かれている場合もあります。また、なにも書かれていないこともあります)
named_enable="YES"
起動時にnamedを自動起動します
named_program="/usr/local/sbin/named"
namedがインストールされているパス名です
named_flags="-b /etc/namedb/named.conf"
namedを起動する際のオプション記述です
|
[RedhatLinuxの場合]
/etc/rc.d/rc.localを変更します。
# cd /etc/rc.d
# vi rc.local
|
ファイルが開けたら、以下の行を記述します。(すでに書かれている場合もあります。また、なにも書かれていないこともあります)
if [ -f /etc/named.conf ]; then
echo -n " Starting named"
/usr/local/sbin/named -b /etc/local/named.conf
fi
|
2-4. resolv.confの設定
最後に、/etc/resolv.confの設定をします。
resolv(リゾルバ)とは、namedが他のネームサーバに問い合わせをする際に発生するプロセスのことです。
このファイルに、リゾルバが問い合わせをするために必要なDNSの情報を書きこみます。
今回の例では、以下のように記入します。
domain aaa.com
このドメインのローカルドメイン名です
nameserver 192.168.0.1
以下、問い合わせるべきネームサーバのIPアドレスです。
これはns1.aaa.comを指します
nameserver 192.168.0.3
ns2.aaa.comを指します
|
これでお客様が管理すべき aaa.com に対するネームサーバが立ちあがり、インターネットに接続する準備が整いました。
あとは、お客様のネームサーバ情報をNIC(ネットワークインフォメーションセンター)に登録するだけです。
(jpドメインの場合は接続承認という作業がこの登録作業にあたります。これはJPNIC正規会員にしかできません。弊社support@sakura.ad.jp宛にその旨お書き添えの上メールしてください。)
|