前提条件 | bindパッケージとbind-utilsパッケージがインストール*1されていることが条件。
パッケージの確認は、rpm -q bindコマンドで確認できるよ。
# yum -y install bind bind-utils bind-chroot
hosts: files dns
# vi /etc/modules.conf.local # Turn off IPv6 alias net-pf-10 off alias ipv6 off
# vi /etc/sysconfig/named OPTIONS="-4" ← 最下位行に以下を追加する
options { listen-on port 53 { any; }; // listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; // managed-keys-directory "/var/named/dynamic"; allow-transfer { 111.xxx.xxx.xxx; ← 自分のグローバルIP 210.xxx.xxx.xxx; ← セカンダリDNSアドレス }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; category lame-servers { null; }; }; // 内部向けゾーン情報 view "lan" { match-clients { localhost; localnets; }; recursion yes; // ルートキャッシュファイル zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; // sea-bird.org の正引きゾーン情報 zone "sea-bird.org" IN { type master; file "sea-bird.org.lan"; allow-update { none; }; }; // 192.168.xxx.xxxx の逆引きゾーン情報 zone "xxx.168.192.in-addr.arpa" IN { type master; file "xxx.168.192.in-addr.arpa"; allow-update { none; }; }; }; // 外部向けゾーン情報 / sea-bird.org view "wan" { match-clients { any; }; recursion no; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; // sea-bird.org zone "sea-bird.org" IN { type master; file "sea-bird.org.wan"; allow-query { any; }; }; };
$TTL 86400 @ IN SOA ns.sea-bird.org. root.sea-bird.org. ( 20030812 ; Serial 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ; Minimum TTL of 1 day ) ; IN NS ns.sea-bird.org. IN NS dns1.open-circuit.ne.jp ; IN A 203.bbb.ccc.ddd ← 自分のグローバルIP IN MX 10 mail.sea-bird.org. ; localhost IN A 127.0.0.1 ns IN A 203.bbb.ccc.ddd ← 自分のグローバルIP ; www IN A 203.bbb.ccc.ddd ← 自分のグローバルIP mail IN A 203.bbb.ccc.ddd ← 自分のグローバルIP blog IN CNAME ns.sea-bird.org.
$TTL 86400 @ IN SOA sea-bird.org. root.sea-bird.org. ( 2004031901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS sea-bird.org. IN MX xx sea-bird.org. @ IN A 192.168.0.xx ← 公開するサーバアドレス(もちろんローカルIP) * IN A 192.168.0.xx ← 公開するサーバアドレス(もちろんローカルIP)
$TTL 86400 @ IN SOA sea-bird.org. root.sea-bird.org. ( 2004031901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS sea-bird.org. IN MX xx sea-bird.org. xx IN PTR sea-bird.org. ← xxは、公開するサーバアドレス(もちろんローカルIP)の下位 xx IN PTR window-shop.biz. ← xxは、公開するサーバアドレス(もちろんローカルIP)の下位
# /etc/rc.d/init.d/named start
# chkconfig named on
# dig . ns @198.41.0.4 > /var/named/named.caが、念のため最新化しておく。