Назад | Перейти на главную страницу

Синтаксис BIND zone also-notify

Учитывая следующее, мой BIND 9 не запускается.

acl ns2 { 192.168.10.50; };
zone "10.168.192.in-addr.arpa" IN {
        also-notify { ns2 port 53; };
        type master;
        file "192.168.10.db";
};

Он записывает следующее в файл / var / log / messages.

[root@dev bind]# tail /var/log/messages
Jan 25 18:41:05 dev named[22863]: found 4 CPUs, using 4 worker threads
Jan 25 18:41:05 dev named[22863]: using 4 UDP listeners per interface
Jan 25 18:41:05 dev named[22863]: using up to 4096 sockets
Jan 25 18:41:05 dev named[22863]: loading configuration from '/etc/named.conf'
Jan 25 18:41:05 dev named[22863]: /etc/named.conf:18: missing ';' before 'port'
Jan 25 18:41:05 dev named[22863]: /etc/named.conf:18: missing ';' before '53'
Jan 25 18:41:05 dev named[22863]: /etc/named.conf:23: missing ';' before 'port'
Jan 25 18:41:05 dev named[22863]: /etc/named.conf:23: missing ';' before '53'
Jan 25 18:41:05 dev named[22863]: loading configuration: failure
Jan 25 18:41:05 dev named[22863]: exiting (due to fatal error)

Это странно, потому что согласно их руководству Вот, правильный синтаксис оператора

[ also-notify { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]

Я исправил это, выполнив следующие действия ... Если кто-нибудь знает, почему теперь у нас есть и master, и acl, а не только acl, пожалуйста, просветите меня.

acl ns2 { 192.168.10.50; };
masters ns2 { 192.168.10.50 port 53; };

options {
        allow-query { any; };
        allow-recursion { localnets; };
        allow-transfer { ns2; };
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        pid-file "/var/run/named.pid";
};

zone "10.168.192.in-addr.arpa" IN {
        also-notify { ns2; };
        type master;
        file "192.168.10.db";
};

Вы можете просто изменить свою зону следующим образом:

zone "10.168.192.in-addr.arpa" IN {
        also-notify { 192.168.10.50; };
        type master;
        file "192.168.10.db";
};

Если ведомое устройство работает на другом порту, а не на 53, вы можете указать, следует ли изменять разрешающее уведомление следующим образом:

also-notify { 192.168.10.50 port xxx; };

Если порт не указан, привязка отправляет уведомление на порт 53.

вам нужно только поставить:

мастера "acl-name" {ip1; ip2; ip3; и т.д;}

а затем вызвать его с помощью also-notify {acl-name;}; приговор.