
Мы новичок в DNS. Мы пытаемся настроить вторичный DNS-сервер с помощью Bind и CentOS для существующего первичного сервера (например, 142.250.192.110).
Конфигурация нашего вторичного сервера выглядит следующим образом:
listen-on port 53 { 127.0.0.1; any; };
listen-on-v6 port 53 { ::1; any; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
zone "example.com" IN {
type slave;
masters { 142.250.192.110; };
file "slaves/example.forward";
};
zone "192.250.142.in-addr.arpa" IN {
type slave;
masters { 142.250.192.110; };
file "slaves/example.reverse";
};
Когда мы выполнили, dig @127.0.0.1 host1.example.com
мы получили правильный ответ. Когда мы выполнили с локальным IP (вторичный сервер), dig @192.168.1.10 host1.example.com
мы получили правильный ответ.
Но когда мы выполняем команду с публичным IP-адресом / именем хоста вторичного сервера, например: dig @dns2.example.com host1.example.com
мы получаем такие ошибки:;; connection timed out; no servers could be reached
Пожалуйста, предложите помощь в решении этой проблемы. Заранее спасибо за ваше драгоценное время и помощь.
Некоторая информация и подробности устранения неполадок (IP-адрес и имя хоста не являются оригинальными):
Основной DNS: 142.250.192.110 (dns1.example.com)
Вторичный DNS: 192.168.1.10 (локальный IP), 142.250.192.220 (dns2.example.com)
nslookup dns2.example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: dns2.example.com
Address: 142.250.192.220
dig @127.0.0.1 host1.example.com
- Успех
dig @192.168.1.10 host1.example.com
- Успех
dig @142.250.192.220 host1.example.com
- Неуспешный.
dig @dns2.example.com host1.example.com
- Неуспешный.
tcpdumpпоказывает передачу пакетов, с dig @127.0.0.1
и dig @192.168.1.10
. Но показываетНЕТ передачи пакетов, с dig @142.250.192.220
и dig @dns2.example.com
.
Чтобы проверить, блокирует ли брандмауэр порт 53, мы протестировали порт с помощью tcpdump, и tcpdump показал передачу пакетов, когдаtelnet 142.250.192.220 53
Примечание:У нас есть брандмауэр, который делает NAT локальных IP с публичными IP. Мы ждем ответа от сетевой команды, блокирует ли брандмауэр этот запрос dig.
решение1
Всегда проверяйте журналы на обоих серверах. Убедитесь, что подчиненный сервер смог получить зону. Один шаг — выполнить передачу вручную с помощью dig @192.168.1.10 axfr example.com
с подчиненного сервера, где @192.168.1.10
находится главный сервер в конфигурации подчиненного сервера.
allow-transfer { };
может быть необходимо на главном устройстве, чтобы позволить подчиненному устройству получить зону. Опять же, все это есть в логах.
Всегда проверяйте локальный доступ в первую очередь. Проверьте с помощью netstat -anp, правильно ли слушает сервер, и снова проверьте логи. и в крайнем случае попробуйте tcpdump, чтобы увидеть, какие пакеты куда идут и есть ли какой-либо ответ.