Bind の設定は多くのサイトで設定例が詳細に紹介されていますが、私も記録として残す事にします。ここでの設定は、サブドメインを作らない方式でやってゆきます。 新たに内、外向き2つのbindを動かす事にし、デフォルトのnamed.confはスクリプト止めました。
私の記録ですしシステム構成図に従い設定を行う為、選択肢は無しで進めます。
ドメイン:nanzya.com
IP:xx1.xx2.xx3.xx4
セカンダリDNS:otasuke.com
IP:xx5.xx6.xx7.xx8
■ Bind のインストール
# apt-get install bind
$ dpkg -l bind*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ 名前 バージョン 説明
+++-==============-==============-============================================
ii bind 8.2.3-0.potato Internet Domain Name Server
un bind-dev <なし> (説明(description)がありません)
ii bind-doc 8.2.3-0.potato Documentation for BIND
■ ディレクトリの新規作成
内向け用設定ファイルのディレクトリを作る
# mkdir /etc/bind/namedb-inner
外向け用設定ファイルのディレクトリを作る
# mkdir /etc/bind/namedb-outer
■ 内向きと外向きの 2つの bind を作成
デフォルトの起動スクリプトをコーピし編集
# cp /etc/init.d/bind /etc/init.d/bind-inner
# cp /etc/init.d/bind /etc/init.d/bind-outer
# vi /etc/init.d/bind-inner
パスやファイル名等を
/namedb-outer/named-inner.conf に編集
named-inner.pid に編集
# vi /etc/init.d/bind-outer
パスやファイル名等を
/namedb-outer/named-outer.conf に編集
named-outer.pid に編集
# update-rc.d bind-inner defaults
Adding system startup for /etc/init.d/bind-inner ...
/etc/rc0.d/K20bind-inner -> ../init.d/bind-inner
/etc/rc1.d/K20bind-inner -> ../init.d/bind-inner
/etc/rc6.d/K20bind-inner -> ../init.d/bind-inner
/etc/rc2.d/S20bind-inner -> ../init.d/bind-inner
/etc/rc3.d/S20bind-inner -> ../init.d/bind-inner
/etc/rc4.d/S20bind-inner -> ../init.d/bind-inner
/etc/rc5.d/S20bind-inner -> ../init.d/bind-inner
# update-rc.d bind-outer defaults
Adding system startup for /etc/init.d/bind-outer ...
/etc/rc0.d/K20bind-outer -> ../init.d/bind-outer
/etc/rc1.d/K20bind-outer -> ../init.d/bind-outer
/etc/rc6.d/K20bind-outer -> ../init.d/bind-outer
/etc/rc2.d/S20bind-outer -> ../init.d/bind-outer
/etc/rc3.d/S20bind-outer -> ../init.d/bind-outer
/etc/rc4.d/S20bind-outer -> ../init.d/bind-outer
/etc/rc5.d/S20bind-outer -> ../init.d/bind-outer
# chmod 755 /etc/init.d/bind-inner
# chmod 755 /etc/init.d/bind-outer
/etc/init.d/bind を /etc/init.d/bind.ORG に変更してから、デフォルトのスクリプトを止めた
# mv /etc/bind/maned.conf /etc/bind/maned.conf.orgこれで消えた# update-rc.d bind remove
Removing any system startup links for /etc/init.d/bind ...
/etc/rc0.d/K19bind
/etc/rc1.d/K19bind
/etc/rc2.d/S19bind
/etc/rc3.d/S19bind
/etc/rc4.d/S19bind
/etc/rc5.d/S19bind
/etc/rc6.d/K19bind
■ /etc/bind/namedb-inner/named-inner.conf を作成
//
// named-inner.conf
//
options {
directory "/etc/bind/namedb-inner";
listen-on {
127.0.0.1;
192.168.1.254;
};
allow-query {
127.0.0.1;
192.168.1.0/24;
};
pid-file "/var/run/named-inner.pid";
};
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" { //localhost 用正引き設定。
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" { //localhost 用逆引き設定。
type master;
file "/etc/bind/db.127";
};
zone "nanzya.com" { //内側のドメイン用正引き設定。
type master;
file "inner.zone";
};
zone "2.168.192.IN-ADDR.ARPA" { //内側のドメイン用逆引き設定
type master;
file "inner.zone.rev";
};
■ nanzya.com の内向けゾーンファイルを作成
; /etc/bind/namedb-inner/inner.zone
;
; nanzya.com の内向けゾーンファイル
;
@ IN SOA ns.nanzya.com. postmaster.nanzya.com. (
2001090803 ; Serial
3600 ; Refresh after 1 hour
300 ; Retry after 5 minutes
604800 ; Expire after 1 week
14400 ) ; Minimum TTL of 4 hour
IN A 192.168.1.254
IN NS ns.nanzya.com.
IN MX 10 mail.nanzya.com.
corega1 IN A 192.168.1.1
ns IN A 192.168.1.254
mail IN A 192.168.1.254
hanako IN A 192.168.1.11
tarou IN A 192.168.1.12
takuya IN A 192.168.1.13
pop IN CNAME ns
smtp IN CNAME ns
www IN CNAME ns
ftp IN CNAME ns
■ nanzya.com の内向けリバースファイルを作成
; /etc/bind/namedb-inner/inner.zone.rev
;
; nanzya.com の内向けリバースファイル
;
@ IN SOA ns.nanzya.com. postmaster.nanzya.com. (
2001090803 ; Serial
3600 ; Refresh after 1 hour
300 ; Retry after 5 minutes
604800 ; Expire after 1 week
14400 ) ; Minimum TTL of 4 hour
IN NS ns.nanzya.com.
IN PTR nanzya.com.
IN A 255.255.255.0
1 IN PTR corega1.nanzya.com.
254 IN PTR ns.nanzya.com.
11 IN PTR hanako.nanzya.com.
12 IN PTR tarou.nanzya.com.
13 IN PTR takuya.nanzya.com.
■ /etc/bind/namedb-outer/named-outer.conf を作成
//
// named-outer.conf
//
options {
directory "/etc/bind/namedb-outer";
listen-on {
192.168.1.200
};
pid-file "/var/run/named-outer.pid";
};
logging {
category lame-servers { null; };
category cname { null; };
};
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" { //localhost 用正引き設定。
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" { //localhost 用逆引き設定。
type master;
file "/etc/bind/db.127";
};
zone "nanzya.com" { //外側のドメイン用正引き設定。
type master;
file "outer.zone";
notify yes;
allow-transfer {
127.0.0.1;
xx5.xx6.xx7.xx8; //セカンダリ引受先ネットワーク//
};
};
zone "xx4.xx3.xx2.xx1.IN-ADDR.ARPA" { //外側のドメイン用逆引き設定。
type master;
file "outer.zone.rev";
};
■ nanzya.com の外向けゾーンファイルを作成
; /etc/bind/namedb-outer/outer.zone
;
; nanzya.com の外向けゾーンファイル
;
@ IN SOA ns.nanzya.com. postmaster.nanzya.com. (
2001090601 ; シリアルナンバー
10800 ; リフレッシュ間隔
3600 ; 再試行時間
604800 ; 情報破棄時間
86400 ) ; 情報有効時間
;
; Name server
;
IN NS ns.nanzya.com.
IN NS ns.otasuke.com. ;セカンダリ
IN MX 10 mail.nanzya.com.
;
; "nanzya.com" is
;
IN A xx1.xx2.xx3.xx4
;
; Host table
;
ns IN A xx1.xx2.xx3.xx4
;
; MX レコードに使う名前に、CNAME は使えない
;
mail IN A xx1.xx2.xx3.xx4
;
; Alias
;
pop IN CNAME ns
smtp IN CNAME ns
www IN CNAME ns
ftp IN CNAME ns
■ nanzya.com の外向けリバースファイルを作成
; /etc/bind/namedb-outer/outer.zone.rev
;
; nanzya.com の外向けリバースファイル
;
@ IN SOA ns.nanzya.com. postmaster.nanzya.com. (
2001090601 ; Serial
10800 ; Refresh after 3 hour
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
;
; Name Server
;
IN NS ns.nanzya.com.
IN NS ns.otasuke.com. ;セカンダリ
;
; Network address
;
IN A 255.255.255.254
;
; Address table
;
IN PTR nanzya.com.
■ /etc/resolv.conf の作成
domain nanzya.com
nameserver 192.168.2.254
nameserver xx5.xx6.xx7.xx82001年10月の時点で上記のように書きましたが、現時点(2002/03/17)では下記のようになっています。
そもそもresolv.confはDNS検索順序設定ファイルでありますが、このファイルは/etc/pcmcia/network.optsで設定した事柄が反映されるようです。vi等で編集してもシステムの再起動でnetwork.optsの設定に戻っていました。ここのネットワーク構成の例では次のようになります。
# eth1 begin
nameserver 192.168.1.254
# eth1 end
# eth0 begin
domain ns.nanzya.com
nameserver xx1.xx2.xx3.xx4
nameserver xx5.xx6.xx7.xx8
# eth0 end
■ /etc/bind/db.127 の編集
;
; BIND reverse data file for local loopback interface
;
;$TTL 86400
@ IN SOA ns.nanzya.com. root.nanzya.com. (
2001090601 ; Serial
10800 ; Refresh after 3 hour
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
;
@ IN NS ns.nanzya.com.
1.0.0 IN PTR localhost.
■ /etc/bind/db.local の編集
;
; BIND data file for local loopback interface
;
;$TTL 604800
@ IN SOA ns.nanzya.com. root.nanzya.com. (
2001090601 ; Serial
10800 ; Refresh after 3 hour
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
;
@ IN NS ns.nanzya.com.
@ IN A 127.0.0.1
■ /etc/network/interfaces の編集
vi 等で下記の項目を追加する。
# 192.168.1.254:内向き用 DNS,WWW,POP,FTP,SMTP 各サーバー用
iface eth0:0 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
■ 内、外向き2つの bind を動かす
$ /etc/init.d/bind-inner start
Starting domain name service: named.
$ /etc/init.d/bind-outer start
Starting domain name service: named.
■ bind の稼動状況
$ ps ax |grep named
{module_list} {module_list_R__ver_module_list}
Warning: /boot/System.map-2.2.18pre21 does not match kernel data.
176 ? S 0:01 /usr/sbin/named /etc/bind/namedb-inner/named-inner.conf
179 ? S 0:00 /usr/sbin/named /etc/bind/namedb-outer/named-outer.conf
967 pts/0 S 0:00 grep named
...こんな感じになれば完了です
■ 内向きのテスト
$ nslookup
Default Server: ns.nanzya.com
Address: 192.168.2.254
> hanako
Server: ns.nanzya.com
Address: 192.168.2.254
Name: hanako.nanzya.com
Address: 192.168.2.11
> www.yahoo.co.jp
Server: ns.nanzya.com
Address: 192.168.2.254
Name: www.yahoo.co.jp
Addresses: 210.81.153.69, 210.81.153.70, 210.152.236.50, 210.140.200.16
210.152.236.111, 210.152.236.112, 210.152.236.113, 210.81.153.68
...こんな感じになれば完璧です
■ 外向きのテスト
$ nslookup
Default Server: ns.nanzya.com
Address: 192.168.2.254
> server 192.168.1.200
Default Server: [192.168.1.200]
Address: 192.168.1.200
> www.goo.ne.jp
Server: [192.168.1.200]
Address: 192.168.1.200
Name: www.goo.ne.jp
Address: 210.150.25.37
> www.nanzya.com
Server: [192.168.1.200]
Address: 192.168.1.200
Name: ns.nanzya.com
Address: xx1.xx2.xx3.xx4
Aliases: www.nanzya.com
...こんな感じになれば完璧です
書くとたったのこれだけなんですけど、試行錯誤を繰り替えしましたよ(^_^;)