
私は、bind9 構成 (BIND 9.16.1) にゾーンを追加したいと考えていました。このネーム サーバーでサービスされているドメインは約 20 個あり、そのほとんどは 10 年以上稼働しています。
named-checkconf は、新しい conf ファイルだけでなく、古い conf ファイルにもエラーをスローします。古い conf ファイルは、まだ動作しているにもかかわらずです。何かが足りない場合に備えて、bind9 をリロードする勇気はありません。
次のエラーが発生します:
root@ns:/var/cache/bind# named-checkconf test
test:1: unknown option '$ORIGIN'
test:18: unexpected token near end of file
root@ns:/var/cache/bind# cat test
$ORIGIN test.au.
$TTL 3h
@ IN SOA ns1.example.com.au. david.example.com.au. (
23042601 # serial
3h # refresh
15m # retry
14d # expire
12h # default_ttl
)
@ IN NS ns1.example.com.au.
@ IN NS ns2.example.com.au.
@ IN MX 50 mail.test.au.
@ IN MX 100 ns.example.com.au.
@ IN A 123.456.789.1
mail IN A 123.456.789.9
www IN A 123.456.789.1
root@ns:/var/cache/bind#
先頭にコメントを入れると、次のような別のエラーが発生します。
root@ns:/var/cache/bind# named-checkconf test
test:1: syntax error near ';'
root@ns:/var/cache/bind# cat test
; 230426 original
;
$ORIGIN test.au.
$TTL 3h
@ IN SOA ns.example.com.au. david.example.com.au. (
etc......
何か明らかなことを見逃しているような気がします。
答え1
named-checkconf
ゾーン ファイルで実行していますが、named-checkconf
のような構成ファイルを検証するように作成されているのでnamed.conf
、代わりに を使用しますnamed-checkzone
。
そのように実行する必要がありますnamed-checkzone test.au test