До вчерашнего дня у меня был выделенный сервер с 2 IP и Plesk. NS, NS2 работает на том же сервере, я использую Plesk для добавления записей домена. Все работало отлично.
Вчера мне пришлось купить другой сервер, поэтому я решил использовать его как DNS-сервер, но без Plesk. Я установил bind9 (https://help.ubuntu.com/community/BIND9ServerHowto#Secondary_Master_Server_configuration) и я добавил следующие строки в named.local.conf:
zone "my-domain" {
type slave;
file "/var/cache/bind/db.my-domain.com";
masters { MY_SERVER_IP; };
};
Я не менял другие настройки. На сайте выше я видел еще одно изменение в файле conf, но честно говоря, я не знаю, что это, и я не добавлял его:
zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/db.192";
masters { @ip_master; };
};
На сервере (A): в Plesk, Инструменты и настройки -> Настройки шаблона DNS >> Шаблон ограничений передачи, я добавил IP-адрес моего сервера (B) в список разрешенных.
После перезапуска привязки все выглядит нормально ((B) syslog:
zone my-domain.com/IN: Transfer started.
transfer of 'my-domain.com/IN' from MY-SERVER-IP#53: connected using 192.96.206.50#49370
zone my-domain.com/IN: transferred serial 1425047310
transfer of 'my-domain.com/IN' from MY-SERVER-IP#53: Transfer completed: 1 messages, 14 records, 417 bytes, 0.094 secs (4436 bytes/sec)
zone my-domain.com/IN: sending notifies (serial 1425047310)
Для своих доменов я обновил серверы:
- ns.a-server.com (Сервер A - Plesk)
- ns2.a-server.com (Сервер A - Plesk)
- ns3.b-server.com (Сервер B)
Результат @ns3.b-server.com my-domain.com
выглядит хорошо.
Я не закончил настройку других приложений на сервере, поэтому решил выключить его на ночь. Утром я удивился, когда попытался пинговать my-domain.com:
ping: cannot resolve my-domain.com: Unknown host
Насколько я знаю, клиент пытается получить ip сервера с главного DNS-сервера, когда он недоступен, он пытается обратиться к подчиненному серверу. В этой ситуации я отключил подчиненный сервер. Так в чем проблема/неправильная конфигурация?
Стоит ли мне удалить ns2.a-server.com или это не имеет значения?
решение1
Непонятно, где вы запускаете ping
. Но ваше предположение, что
клиент пытается получить IP сервера от главного DNS сервера
явно неверный. DNS-клиент связывается с серверами /etc/resolv.conf и только с этими серверами. Сервер делает выбор ответить только одним из этих способов:
- если это
master
для домена, он отвечает на основе своих собственных файлов зоны (своего собственного локального диска и ничего больше); ответ является авторитетным и он завершает обработку - если это
slave
для домена, он отвечает на основе своих собственных файлов зоны (своего собственного локального диска и ничего больше); ответ является авторитетным и он завершает обработку - если ни то, ни другое, он передает запрос в
forwarders
; он завершает обработку - если нет
master
, неslave
и неforwarders
настроено, сервер пытается разрешить запрос самостоятельно, опрашивая DNS по всему Интернету (рекурсивный запрос - для abccom. он пытается разрешить ".", затем "com." затем "c.com." затем "bccom." затем "abccom.", опрашивая различные серверы, как указано в различных записях NS); ответ может быть кэширован сервером, он не является авторитетным, и он завершает обработку
В вашем случае, ваш slave
собственный файл зоны мог выйти из строя и по какой-то причине не иметь возможности получить новый из master
. Это лишь одна из возможных причин.