Недавно я обновил BIND на своем DNS-сервере, и теперь DNS не работает ни на одном из моих веб-сайтов. Выполнение nslookup
приводит к тайм-ауту, и использование dig
на другом сервере сообщает мне, что в запросе нет никаких авторитетных разделов. С помощью dig
локально на сервере, однако, дает ожидаемые результаты.
Я попробовал инструмент, найденный на DNSsy.com который сообщает мне, что для моего сервера имен нет A-записей, что кажется неверным на основе моего файла зоны. Ниже приведен один из файлов зоны, которые я настроил (фактические доменные имена и IP-адреса заменены / замаскированы):
$ORIGIN example.com.
$TTL 1W
@ IN SOA ns.example.com. example.example.com. (
2011060701 ; Serial
28800 ; Refresh
14400 ; Retry
604800 ; Expire - 1 week
10800 ) ; Minimum
IN NS ns
IN MX 10 mail
localhost IN A 127.0.0.1
@ IN A x.x.x.x
ns IN A x.x.x.x
mail IN A x.x.x.x
www IN CNAME @
acl "xfer" {
none;
};
acl "trusted" {
127.0.0.0/8;
::1/128;
};
options {
directory "/var/bind";
pid-file "/var/run/named/named.pid";
listen-on-v6 { ::1; };
listen-on { 127.0.0.1; };
allow-query {
trusted;
};
allow-query-cache {
trusted;
};
allow-recursion {
trusted;
};
allow-transfer {
none;
};
allow-update {
none;
};
forward first;
forwarders {
8.8.8.8; // Google Open DNS
8.8.4.4; // Google Open DNS
};
};
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; };
};
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1/32; ::1/128; } keys { "rndc-key"; };
};
zone "." in {
type hint;
file "/var/bind/root.cache";
};
zone "localhost" IN {
type master;
file "pri/localhost.zone";
notify no;
};
zone "127.in-addr.arpa" IN {
type master;
file "pri/127.zone";
notify no;
};
zone "x.x.x.in-addr.arpa" IN {
type master;
file "pri/x.x.x.zone";
notify no;
};
zone "example.com" IN {
type master;
file "pri/example.com.zone";
notify no;
};
Нет, что, как я полагаю, означает, что все в порядке.
named-checkzone example.com /var/bind/pri/example.com.zone zone example.com/IN: загружен серийный номер 2011060701 OK
В allow-query
директива ограничена только trusted
acl, содержащий только localhost. Вот почему вы получаете ответ только от localhost. Вам нужно изменить это на любое.
Также обратите внимание на listen-on
и listen-on-v6
в строфах должны быть IP-адреса, отличные от localhost, иначе внешние клиенты никогда не смогут подключиться к вашему серверу имен.