У меня есть интересная ошибка в моем главном сервере имен. Я использую Fedora Linux с привязкой 9.3.4. Планируется замена сервера, так как он довольно старый, но пока надо заставить его работать. Проблема в том, что мой сервер имен не может разрешить digbypines.ca. Официальные серверы имен для digbypines.ca: 204.15.193.162 и 204.15.193.163. Мой сервер имен находится по адресу 24.222.7.12.
Ошибка брандмауэра (когда исходящие DNS-соединения были привязаны к порту 53 по протоколу SNAT) не позволяла связаться с серверами имен для digbypines.ca. Итак, если бы я подключился к своему серверу имен по ssh по адресу 24.222.7.12 и запустил
dig @204.15.193.162 digbypines.ca
я бы получил
;; connection timed out; no servers could be reached
Если бы я попытался подключиться к 204.15.193.162 через порт 53, то также получил бы тайм-аут. В этом случае я удалил правило брандмауэра SNAT, и теперь приведенные выше команды работают должным образом. Но вот что интересно.
По какой-то причине я не могу убедить bind поговорить с серверами имен digbypine! Даже после исправления SNATting это не сработает.
Запуск 'dig + trace digbypines.ca' показывает, что я получаю записи NS, но он отказывается их разрешать:
копать + трассировать digbypines.ca
; << >> DiG 9.3.4-P1 << >> + trace digbypines.ca ;; глобальные параметры: printcmd. 516709 IN NS
i.root-servers.net. . 516709 IN NS
j.root-servers.net. . 516709 IN NS
k.root-servers.net. . 516709 IN NS
l.root-servers.net. . 516709 IN NS
m.root-servers.net. . 516709 IN NS
a.root-servers.net. . 516709 IN NS
b.root-servers.net. . 516709 IN NS
c.root-servers.net. . 516709 IN NS
d.root-servers.net. . 516709 IN NS
e.root-servers.net. . 516709 IN NS
f.root-servers.net. . 516709 IN NS
g.root-servers.net. . 516709 IN NS
h.root-servers.net. ;; Получено 408 байт из 192.168.0.12 # 53 (192.168.0.12) за 1 мсок. 172800 IN NS l.ca-servers.ca. ок.
172800 IN NS sns-pb.isc.org. ок. 172800 IN NS m.ca-servers.ca. ок. 172800 В
NS c.ca-servers.ca. ок. 172800 IN NS
a.ca-servers.ca. ок. 172800 IN NS
j.ca-servers.ca. ок. 172800 IN NS
f.ca-servers.ca. ок. 172800 IN NS
k.ca-servers.ca. ок. 172800 IN NS
z.ca-servers.ca. ок. 172800 IN NS
e.ca-servers.ca. ;; Получено 430 байт с адреса 192.36.148.17 # 53 (i.root-servers.net) за 120 мсdigbypines.ca. 86400 IN NS ns2.extremehosting.ca. digbypines.ca. 86400 IN NS ns1.extremehosting.ca. ;; Получено 114 байтов от 156.154.101.4 # 53 (l.ca-servers.ca) за 31 мс
dig: не удалось получить адрес для 'ns2.extremehosting.ca': ошибка
Я немного застрял. Я позвонил в их группу поддержки, и они заверили меня, что мои IP-адреса не заблокированы. Я действительно не уверен, как я могу копаться на их серверах имен в командной строке, но не могу выполнить ту же операцию через привязку.
Я также пробовал перезапустить привязку, работу в сети и запустить rndc flush. Нет любви.
я жестяная банка разрешите digbypines.ca и действительно ns2.extremehosting.ca и ns1.extremehosting.ca из дома, поэтому я не уверен, что происходит.
Я также могу бегать dig @204.15.193.163 ns2.extremehosting.ca
успешно из командной строки моего сервера имен.
Что ж, я решил. Оказывается, системный администратор до меня принудительно отправлял все исходящие запросы на порт 53. Серверы имен extremehosting.ca, похоже, блокируют входящие соединения на порте 53, которые исходят из порта 53, и поэтому я не мог с ними общаться.
Удалив эти строки из named.conf:
query-source port 53;
query-source-v6 port 53;
и подтверждая, что брандмауэр не вызовет никаких дополнительных проблем, разрешение имен снова работает.
Также я нашел эту статью который помогает определить поведение исходного порта вашего преобразователя имен быть очень полезным. Побочным эффектом решения этой проблемы с DNS является то, что я также подключил потенциальную уязвимость к отравлению кеша имен.
Спасибо всем, кто прокомментировал.
Хм, а что происходит, когда вы используете nslookup для связи с их серверами? IE:
$ nslookup
>server 204.15.193.162
Default server: 204.15.193.162
Address: 204.15.193.162#53
> www.digbypines.ca
Server: 204.15.193.162
Address: 204.15.193.162#53
www.digbypines.ca canonical name = digbypines.ca.
Name: digbypines.ca
Address: 204.15.193.162
>
Это должно дать вам знать, проблема ли это BIND или брандмауэра.