Я пытаюсь создать DNS-сервер для обслуживания копий зоны для example.com.
Преамбула:
Текущая установка включает:
Я создал Glue-записи на уровне регистратора, которые выглядят примерно так:
UFW имеет исключение для порта 53.
Эта проблема
После установки Bind9 я настроил named.conf.local, named.conf.options (используя Google DNS в качестве серверов пересылки) и создал файл зоны (db.example.com) для своего домена.
После тестирования моей конфигурации через IntoDNS, похоже, что запись A не появляется, и я получаю множество ошибок, в том числе:
ОШИБКА: один или несколько ваших серверов имен не ответили: не ответили: x.x.x.x
Вышеупомянутая ошибка кажется повторяющейся проблемой, даже обозначенной через tracert, предоставленную Network Tools:
DNS-сервер возвратил ошибку: отказ сервера имен
Запрос разрешения
Итак, что я делаю не так? Почему предоставленные мной серверы имен недоступны?
Я следил за многочисленными руководствами безрезультатно, любые предложения, ресурсы или советы были бы очень признательны.
Предполагая, что tcp / udp-соединение с портом 53 на сервере не заблокировано ...
По умолчанию BIND named.conf предназначен для работы DNS «только как кэширующий сервер имен (только как DNS-преобразователь localhost)»
Чтобы превратить его в общедоступный DNS-сервер, вы можете применить некоторые из них в соответствии с вашими потребностями:
.
...
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { 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";
allow-query { any; };
recursion no;
allow-transfer { none; };
dnssec-enable yes;
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
...
include "/etc/named/named.conf.local";
можете ли вы показать, что ваш именованный экземпляр прослушивает внешние интерфейсы следующим образом;
[root@someserver ~]# netstat -lnp | grep ":53 "
tcp 0 0 123.123.123.213:53 0.0.0.0:* LISTEN 27989/named
udp 0 0 123.123.123.123:53 0.0.0.0:* 27989/named
также что вы можете запрашивать локальный сервер имен с помощью dig (из пакета bind-utils);
# dig @localhost example.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5 <<>> @localhost example.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35676
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 172800 IN A 192.0.43.10
;; AUTHORITY SECTION:
example.com. 172800 IN NS b.iana-servers.net.
example.com. 172800 IN NS a.iana-servers.net.
;; Query time: 17 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat May 26 03:45:20 2012
;; MSG SIZE rcvd: 93
(я не знаком с UFW), но в документации указано, что что-то вроде этого должно сбрасывать ваш работающий брандмауэр;
# sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere