DNSサーバを立てる(続き)
設定ファイル(named.conf.options)
設定ファイルをこのようにします。
$ sudo nano /etc/bind/named.conf.options
acl localnet { 192.168.1.0/24; // 内部ネットワーク 127.0.0.1; // ループバック }; options { directory "/var/cache/bind"; version "DNS Server"; // Versionを隠す allow-query { localnet; }; // DNSクエリを許可する allow-recursion { localnet; }; // 再帰検索(DNSキャッシュ)を許可する allow-transfer { none; }; // ゾーン転送を許可する forward first; // 自身のzone、キャッシュに無いものはforwardersに投げる forwarders { // 203.141.128.39; // プライマリDNSサーバ(ddns1.interlink.or.jp) 203.139.160.103; // セカンダリDNSサーバ(ns-tk021.ocn.ad.jp) }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
プライマリとセカンダリのDNSサーバは一応これでいきます。
追記:プライマリにインターリンクのDNSサーバを指定したところ『/var/log/daemon.log』に『named: FORMERR resolving』の嵐。
EDNS0 をサポートしないほとんどの古いサーバ (BIND の以前のバージョンも含む) は、これらのクエリに対して FORMERR または NOTIMP 応答を返す。この場合、 BIND 9 は自動的に EDNS0 を使わないでクエリをやり直す。
http://bonz.squares.net/~dais/misc/migration-9.1.2.html
ググルとこういうことが書いてあったので、まさかインターリンクが古いサーバじゃないよねと思いつつも、コメントアウトしてOCNの方にお任せしたら、FORMERRはぴたりと止まった。まさかね。
設定ファイル(named.conf)
前回(→Ubuntuサーバの設定いろいろ・その9 - satake7’s memo)作成した『/etc/bind/rndc.conf』の内容を『named.conf』に貼り付けます。『key "rndc-key"・・・』ブロックです。
$ sudo nano /etc/bind/named.conf
include "/etc/bind/named.conf.options"; key "rndc-key" { algorithm hmac-md5; secret "************************"; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; view "internal" { match-clients { localnet; }; zone "." { type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; zone "5-55.jp" IN { // 5-55.jpの正引きゾーン情報 type master; file "/etc/bind/db.internal"; }; zone "1.168.192.in-addr.arpa" IN { // 192.168.1.xxxの逆引きゾーン情報 type master; file "/etc/bind/db.1.168.192"; }; }; // view "internal"の終わり include "/etc/bind/named.conf.local";
今回取得した汎用JPドメイン用の『zone "5-55.jp"』を追加します。
設定ファイル(named.conf.local)
$ sudo nano /etc/bind/named.conf.local
view "external" {
match-clients { any; };
zone "/etc/bind/5-55.jp" IN { // 5-55.jpの正引きゾーン情報
type master;
file "db.5-55.jp";
allow-query { any; }; // 外部からのアクセスを許可
allow-transfer { 203.139.160.103; }; // ゾーン転送を許可するセカンダリサーバのIPアドレス
notify yes;
};
};
セカンダリサーバのIPアドレスは本当はこれじゃいけないんですけど、ちゃんとセカンダリを借りたときに修正するとして、今回はこれでいきます。
設定ファイルのチェック
$ sudo named-checkconf /etc/bind/named.conf
ここまでやったら設定ファイルをチェックします。エラーがなければ何も出ません。ボクの場合、ケアレスミスで『/etc/bind/named.conf:60: syntax error near '}'』が出て、あわてて『};』を削除したら今度は『/etc/bind/named.conf:22: when using 'view' statements, all zones must be in views』が出たりしましたが、原因は『view "internal"』ブロックを書き忘れていたことでした。
この項、続く。