Я успешно настроил DNS-сервер на Centos7. Но настроил только один сервер имен 'NS1' и хочу настроить еще один сервер имен 'NS2' для того же IP.
Я сделал следующие изменения в прямой и обратной зоне.
##########Forward zone############
$TTL 1D
@ IN SOA ns1.mydomain.in. root.ns1.mydomain.in. (
01 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.mydomain.in.
ns1 IN A 10.20.10.20
ns2 IN A 10.20.10.20
############## Reversed Zone ###################
$TTL 1D
@ IN SOA ns1.mydomain.in. root.ns1.mydomain.in. (
3 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.mydomain.in.
20 IN PTR ns1.mydomain.in.
20 IN PTR ns2.mydomain.in.
Достаточно ли этих изменений или мне нужно сделать еще какие-либо изменения?
. Если у вас есть сервер имен, работающий на одном IP-адресе, вы не можете запустить другой на том же IP-адресе. Они оба хотят использовать один и тот же порт UDP, который доступен только для одной службы (= программы) на этом IP-адресе.Это означает, что вы не можете направить их конкретно на тот или иной узел внутри кластера.
Вы также не можете определить, на какое имя DNS-сервера оно было отправлено, как вы могли предположить из HTTP. DNS несет только вопрос: «Эй, 10.20.10.20, какой IP принадлежит example.mydomain.in?» - вы могли заметить, что он использует IP для запроса сервера, а не его имя.
Наиболее распространенная настройка с двумя DNS-серверами - это настройка «первичный + вторичный (главный / подчиненный)». Он состоит из двух серверов, каждый со своим IP и собственной записью PTR.
На другом сайте они предоставили некоторую информацию о нескольких записях PTR для одного и того же IP-адреса и о том, почему их следует избегать: Почему не рекомендуется использовать несколько записей PTR в DNS?
Если вы собираетесь создать конфигурацию с двумя серверами, у вас будет 2 линии NS и 2 линии A, а также 2 линии PTR. Предполагая, что у них есть 21 и 22 для IP-адресов для конкретных узлов и совместно используются 20 для внешнего представления других сервисов, предоставляемых в этом кластере.
@ IN NS ns1.mydomain.in.
@ IN NS ns2.mydomain.in.
ns1 IN A 10.20.10.21
ns2 IN A 10.20.10.22
PTR также будет отдельным для каждого сервера:
@ IN NS ns1.mydomain.in.
@ IN NS ns2.mydomain.in.
21 IN PTR ns1.mydomain.in.
22 IN PTR ns2.mydomain.in
Кластеризация серверов DNS не имеет особого смысла, поскольку запросы UDP обрабатываются достаточно быстро с помощью обычных запросов DNS, а клиенты DNS допускают использование нескольких преобразователей. Также существует способ, называемый зональной передачей (с уведомлением), чтобы два сервера обменивались данными друг с другом для сохранения идентичности записей.
Один пример конфигурации для связывания: http://www.microhowto.info/howto/configure_bind_as_a_slave_dns_server.html
Если вы все еще хотите кластеризовать их, то вы можете удалить ns2 из записей и просто представьте сервер как ns1.mydomain.in.Тем не менее, им по-прежнему необходимо внутренне синхронизировать записи через передачу зоны и уведомлять систему или некоторые более сложные сценарии.