Bind master/slave, с общедоступными и локальными представлениями, после того как синхронизированные ведомые делятся частными на общедоступных

У меня есть система master/slave dns, использующая bind. Мастер имеет 2 вида, местный и общественный. Есть 2 подчиненных сервера, которые имеют такие же представления (скопировал файл конфигурации на подчиненные и изменил их с главного на подчиненное). Все, казалось, работало, внутри моей сети я получил информацию о локальной сети DNS, а снаружи, казалось, получил общедоступную информацию DNS.

Однако теперь, когда я нахожусь вне офиса, я замечаю, что предоставляется только локальная информация о DNS. Я проверил, используя некоторые онлайн-инструменты, чтобы выкопать мои сервера имен. Главный сервер имен возвращает правильную общедоступную информацию DNS, однако ведомые устройства возвращают только локальную информацию.

Вот файл конфигурации ведомого:


options {
    directory "/var/bind";
    pid-file "/var/run/named/named.pid";

    listen-on-v6 { ::1; 2002:4b94:5e92::1; 2002:4b94:5e91:2::31; };
    listen-on { 127.0.0.1; 75.148.94.146; 192.168.0.31;  };

    transfer-source-v6 2002:4b94:5e91:2::31;

    allow-query { any; };

    recursion no;
};

logging {
    channel default_log {
        file "/var/log/named/named.log" versions 5 size 50M;
        print-time yes;
        print-severity yes;
        print-category yes;
    };

    category default { default_log; };
    category general { default_log; };
};

view "local" {
    match-clients { 192.168.0.0/16; 127.0.0.1; 2002:4b94:5e91:2::/16; };
    recursion yes;

    zone "." IN {
        type hint;
        file "named.cache";
    };

    zone "open-exodus.net" {
        type slave;
        masters { 2002:4b94:5e91:2::2; };
        file "pri/open-exodus.net.local.fw";
    };

    zone "0.168.192.in-addr.arpa" {
        type slave;
        masters { 2002:4b94:5e91:2::2; };
        file "pri/open-exodus.net.local.rev";
    };

#    zone "2.0.0.0.0.0.0.0.1.9.e.5.4.9.b.4.2.0.0.2.ip6.arpa" {
#        type master;
#        file "pri/open-exodus.net.local.ip6.rev";
#    };
};

view "public" {
    match-clients { any; };
    recursion no;

    zone "open-exodus.net" {
        type slave;
        masters { 2002:4b94:5e91:2::2; };
        file "pri/open-exodus.net.global.fw";
    };
};

Я не могу получить доступ к главному конфигурационному файлу, но он практически идентичен. Единственное, о чем я могу думать, это то, что "публичное" представление переносится с личного адреса мастера, может ли это быть проблемой? Передает ли он представление для адреса или для указанного файла?

1 ответ

Решение

Предполагая, что ваши списки совпадений адресов верны, я бы поспорил, что ваши ведомые устройства видят "локальное" представление по умолчанию (IP-адрес, который они используют для запроса мастера, соответствует критериям "локального" представления), поэтому, когда происходит изменение зоны, и они синхронизируют свои потяните "внутреннюю" зону и подайте ее во внешний мир.
Если я прав pri/open-exodus.net.global.fw на ваших рабах будут "локальные" данные.

Лучший способ исправить это - использовать query-source директива в представлениях ваших рабов, чтобы гарантировать, что, когда они выбирают зоны, они используют IP, который будет видеть соответствующий вид...

Другие вопросы по тегам