named-checkconf выдает ошибку в ранее работающем файле прямой зоны

named-checkconf выдает ошибку в ранее работающем файле прямой зоны

Я хотел добавить зону в свою конфигурацию bind9 (BIND 9.16.1). У меня около 20 доменов, обслуживаемых этим сервером имен, большинство из которых работают более 10 лет.

named-checkconf выдает ошибки в новом файле 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

Связанный контент