У меня есть система DNS master / slave с использованием привязки. Хозяин имеет 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";
};
};
Я не могу получить доступ к главному файлу конфигурации за пределами сайта, но он практически идентичен. Единственное, о чем я могу думать, это о том, что "общедоступный" просмотр передается с частного адреса мастера, может ли это быть проблемой? Переносит ли он представление для адреса или для указанного файла?
Предполагая, что ваши списки соответствий адресов верны, я бы поспорил, что ваши подчиненные по умолчанию видят "локальное" представление (IP, который они используют для запроса главного, соответствует критериям "локального" представления), поэтому, когда происходит изменение зоны, и они синхронизируют их потяните «внутреннюю» зону и подайте ее внешнему миру.
Если я прав, то pri/open-exodus.net.global.fw
на ваших рабах будут "локальные" данные.
Лучше всего исправить это с помощью query-source
директиву в представлениях на ваших ведомых устройствах, чтобы гарантировать, что при получении зон они используют IP-адрес, который будет видеть соответствующее представление ...