У меня есть сервер с NSD. Там есть MAIN_IP и ADD_IP. Когда я пытаюсь получить IP моего сайта с сервера, у меня правильный вывод
dig @localhost my_site.com
Но когда я пытаюсь сделать это на своем ПК, у меня
dig @my_ns_server.com my_site.com
;; reply from unexpected source: MAIN_IP#53, expected ADD_IP#53
(ADD_IP — это IP-адрес my_ns_server.com)
Что я должен делать?
UPD: Мои интерфейсы conf
auto eth2
allow-hotplug eth2
iface eth2 inet static
address xxx.xxx.xxx.234
netmask 255.255.255.252
network xxx.xxx.xxx.232
broadcast xxx.xxx.xxx.235
gateway xxx.xxx.xxx.233
dns-nameservers MY_ISP_IP
dns-search MY_ISP_DOMAIN
auto eth2:0
iface eth2:0 inet static
address xxx.xxx.xxx.124
netmask 255.255.255.0
xxx.xxx.xxx одинаково для всех IP
netstat -lntpu | grep :53
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1363/nsd
tcp6 0 0 :::53 :::* LISTEN 1363/nsd
udp 0 0 0.0.0.0:53 0.0.0.0:* 1363/nsd
udp6 0 0 :::53 :::* 1363/nsd
решение1
Когда NSD прослушивает все интерфейсы, это позволяет ОС выбирать исходный адрес. Всегда явно указывайте адреса, которые вы хотите, чтобы NSD прослушивал (например, все IP-адреса ваших записей NS). В вашем случае:
server:
ip-address: a.b.c.124
Эта темав списке рассылки nsd-users описывается та же проблема (часть IPv6 не имеет значения).
решение2
Это может быть неправильная конфигурация NSD или неправильное правило NAT на вашем устройстве/маршрутизаторе. NSD прослушивает все интерфейсы? Выполняете ли вы переадресацию портов на вашем устройстве NSD, чтобы заставить его отвечать на запросы DNS на вторичном IP-адресе?
Можете ли вы вставить вывод netstat из вашего NSD-бокса, пожалуйста?
netstat -lntpu | grep :53
решение3
У меня та же проблема с настройкой и NSD 3.2.8. Похоже, NSD не отвечает на правильном сокете. У сервера, который я использовал, два IP-адреса в одной сети. Кажется, он всегда отвечает с основного, а не с псевдонимного. У серверов bind (9.7.x) такой проблемы нет.