Вопрос или проблема
Мастер DNS – Windows, Р esclaved DNS – Linux
На Windows Server 2016 работает DNS-сервер.
Я установил и настроил вспомогательный DNS-сервер на Oracle Linux 7.
На сервере Windows я включил BIND вторичные
и прослушивание всех IP-адресов
.
В Oracle Linux у меня есть следующие конфигурации:
named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
allow-transfer { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Путь к ISC DLV ключу */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "example.local" IN {
type slave;
masters { 10.1.10.2; };
allow-transfer { any; };
allow-query { any; };
file "slaves/example.local";
allow-update { any; };
};
zone "0.0.10.in-addr.arpa" IN {
type slave;
masters { 10.1.10.2; };
allow-query { any; };
allow-transfer { any; };
file "slaves/example.local";
allow-update { any; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
IP-адрес Windows DNS-сервера: 10.1.10.2
IP-адрес Linux вспомогательного DNS-сервера: 10.1.10.217
Имя хоста Windows DNS-сервера: dc.example.local
Имя хоста Linux вспомогательного DNS-сервера: dc2.example.local
Я не создавал вручную файлы зон на сервере Linux. Как я читал, он получает файлы зон с Windows.
Но он не получает файлы зон.
В чем может быть причина?
ПК: nslookup dc2.example.local не возвращает ответ.
Попробуйте перезагрузить зоны со вспомогательного DNS-сервера и послать запрос AXFR на MS Master сервер.
# rndc reload
Ответ или решение
Для настройки репликации зон между мастер-DNS-сервером на Windows Server 2016 и слейв-DNS-сервером на Oracle Linux 7, необходимо учесть несколько важных моментов. Исходя из предоставленных вами настроек и описания, вот пошаговое руководство для решения проблемы, чтобы ваш слейв-сервер корректно получал зоны от мастер-сервера.
1. Проверьте настройки мастер-DNS
Убедитесь, что на мастер-сервере Windows правильно настроены параметры для передачи зон. Ваша конфигурация включает BIND secondaries
и Listen to all IP addresses
. Убедитесь, что:
- На вкладке
Zone Transfers
для зоныexample.local
указаны разрешенные IP-адреса (включая IP вашего линукс-сервера, 10.1.10.217). - Мастера разрешают SQL-передачу запросов от слейв-серверов.
2. Проверьте параметры фаерволла
Убедитесь, что на обеих машинах нет правил брандмауэра, блокирующих порт 53:
- На Windows проверьте настройки брандмауэра (Windows Firewall) и разрешите трафик по порту 53 (UDP и TCP).
- На Linux используйте
iptables
илиfirewalld
, чтобы убедиться, что соединения на порт 53 разрешены:
# Проверить правила iptables (если используется)
sudo iptables -L -n
# Для firewalld
sudo firewall-cmd --list-all
3. Перезагрузите службы
После внесения всех изменений не забудьте перезапустить службу BIND на слейв-сервере:
sudo systemctl restart named
4. Выполните запрос AXFR
Запросите полную передачу зон от мастер-сервера к слейв-серверу с помощью команды dig
. Это позволит выявить любые ошибки, которые могут происходить во время передачи:
dig @10.1.10.2 example.local AXFR
Если что-то пойдет не так, вы получите сообщение об ошибке, которое поможет в диагностике.
5. Перезагрузите зоны на слейв-сервере
После выполнения всех проверок и изменений выполните команду перезагрузки зон на слейв-сервере:
rndc reload
6. Проверка конфигурации
Создайте файл проверки на слейв-сервере, чтобы убедиться, что зоны были загружены:
named-checkzone example.local /var/named/slaves/example.local
Если команда возвращает сообщения об ошибках, необходимо устранить их.
7. Проверьте завершение настройки
Теперь проверьте, работает ли ваш слейв-сервер, выполнив команду nslookup
:
nslookup dc2.example.local
Если ответ не возвращается, это может указывать на то, что не происходит синхронизация зон, или что DNS-кэш не обновился. Попробуйте также проверить основной сервер на предмет ошибок в логах.
Заключение
Если вы следовали всем шагам, и проблема сохраняется, ознакомьтесь с логами named
в Linux-сервере для анализа ошибок:
sudo tail -f /var/named/data/named.run
Эти шаги должны помочь вам правильно настроить связь между мастер-DNS и слейв-DNS. Если у вас остались дополнительные вопросы или возникли сложности, не стесняйтесь обращаться за помощью.