BIND9: отправка уведомлений на определенный IP-адрес

BIND9: отправка уведомлений на определенный IP-адрес

Я пытаюсь реализовать настройку привязки главный->подчиненный между двумя машинами, но у меня возникла проблема с IP-адресом, который BIND использует на главном устройстве для уведомления моей подчиненной машины.

Вот моя установка:

Master: master.site.com - 10.0.0.2
Slave: slave.site.com - 10.0.0.10

Мастер имеет авторитетную зону site.comи настроен на уведомление всех подчиненных при изменении зоны. Зона работает нормально. Он отлично отвечает на запросы иdig @10.0.0.2 -t SOA site.com

Итак, на мастере у меня есть это named.conf.options:

options {
    directory "/var/cache/bind";

    dnssec-validation auto;
    auth-nxdomain no;

    listen-on { 10.0.0.2; };
    listen-on-v6 { any; };
    allow-query     { any; };
    recursion yes;
    allow-recursion { localhost; };
    allow-notify { localhost; };
    allow-transfer { localhost; 10.0.0.10; };
    version none;

    notify yes;
    also-notify { 10.0.0.10; };

};

На рабе:

options {
    directory "/var/cache/bind";

    dnssec-validation auto;
    auth-nxdomain no;

    listen-on { 10.0.0.10; };
    listen-on-v6 { any; };
    allow-query     { any; };
    recursion yes;
    allow-recursion { localhost; };
    allow-notify { localhost; 10.0.0.2; };
    allow-transfer { localhost; 10.0.0.2; };
    version none;
};

Для начала, уведомления, похоже, не работают, при использовании tcpdumpна подчиненной машине я получил следующее сообщение:

02:32:50.269377 IP 10.0.0.1.15271 > 10.0.0.10.53: 64103 notify [b2&3=0x2400] [1a] SOA? site.com. (85)
02:32:50.269662 IP 10.0.0.10.53 > 10.0.0.1.15271: 64103 notify Refused- 0/0/0 (27)

Как вы видите, хотя главный сервер настроен на прослушивание 10.0.0.2при отправке уведомлений, он отправляет их, используя свой основной IP-адрес 10.0.0.1, и логично, что мой подчиненный сервер отклонил уведомление...

Почему мастер не отправляет уведомления 10.0.0.2? Есть ли какая-то конфигурация, где я могу это принудительно сделать? Машина имеет 3 IP-адреса, один для веб-сайта, другой для электронной почты и еще один для DNS... Мне нужно сделать этоТОЛЬКОиспользуется 10.0.0.2для DNS, но, судя по всему, listen-onне работает с исходящим трафиком...

Как я могу это исправить?

решение1

Вы ищете notify-sourceвариант. ИзСВЯЗАТЬ РУКУ:

уведомить-источник

notify-source определяет, какой локальный адрес источника и, опционально, порт UDP будут использоваться для отправки сообщений NOTIFY. Этот адрес должен быть указан в пункте masters zone подчиненного сервера или в пункте allow-notify. Этот оператор устанавливает notify-source для всех зон, но может быть переопределен на основе зоны или представления путем включения оператора notify-source в блок зоны или представления в файле конфигурации.

Что касается того, почему BIND ведет себя таким образом, то это довольно типично для большинства приложений. Исходный IP-адрес локально инициированного трафика по умолчанию соответствует основному IP-адресу интерфейса, связанного с маршрутом. В системе Linux вы можете просмотреть исходный IP-адрес, связанный с каждым маршрутом, введя ip route showи посмотрев на значения после srcключевого слова.

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