Я хочу настроить скрытый первичный DNS-сервер, т.е. я размещаю файлы зоны на моем собственном сервере, но все запросы должны поступать на вторичные DNS-серверы, размещенные специальной DNS-компанией. Мой собственный DNS-сервер не должен использоваться рекурсивными преобразователями или конечными пользователями. Указанная компания скопирует файлы зон с моего сервера с переносом зоны. В идеале никто даже не должен знать, что мой сервер существует в этой настройке DNS.
Конечно, все записи NS
в такой настройке будут указывать на серверы имен компании DNS. Но я не уверен насчет записи SOA
.
Насколько я понимаю, такая настройка будет означать, что мой сервер является «началом полномочий», и поэтому мне придется указать это в SOA
, что сделает общедоступным, что мой сервер является настоящим основным сервером. Согласно другой ответ на сбой сервера MNAME должен быть установлен на « <имя-домена>
сервера имен, который был исходным или основным источником данных для этой зоны».
Если это возможно без особых проблем, я бы предпочел не указывать свой NS-сервер в SOA, а вместо этого указывать SOA на мою хостинговую компанию сервера имен.
Каковы будут последствия, если я действительно установлю company.example.com
как SOA вместо моего собственного сервера myserver.example.org
?
company.example.com
как сервер SOA, но на (скрытый) для почтового контакта? Использование внешних серверов имен (из другого домена) не является нарушением стандарта DNS, но это не похоже на скрытую основную конфигурацию. NS, указанный как первичный в SOA
, должен находиться в записях NS
, но на самом деле это не означает, что серверы должны быть настроены так, чтобы первичный сервер, представленный миру, был фактический первоисточник данных.
Это могло бы, например. быть, что вы не хотите подвергать первичный сервер, имеющий ваши личные ключи DNSSEC к миру. Это особенно полезно, если публично объявленный первичный сервер имеет другие функции, которые легче взломать, например некоторые веб-приложения.
Давайте рассмотрим пример. Конфигурации предполагают BIND.
$ORIGIN example.com.
@ IN SOA ns1.example.com. hostmaster.example.com. (
2020053100 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN NS ns3.example.com.
ns1 IN A 192.0.2.10
ns2 IN A 198.51.100.20
ns3 IN A 203.0.113.30
Скрытый мастер не указан в зоне.
172.16.10.40
. example.com.signed
. Он настроен как главный для example.com
, что позволяет передавать зоны с общедоступного основного сервера, но только через локальную сеть (или это также может быть VPN).
зона "example.com" {
тип мастер;
файл "/etc/bind/db/example.com.signed";
разрешить передачу {172.16.10.20; };
уведомлять явным образом;
также-уведомить { 172.16.10.20; };
};
Уведомление настраивается вручную с использованием уведомления явного
и также-уведомления
, поскольку уведомление да
будет уведомлять только серверы, указанные как NS
. ], за исключением того, который указан как основной в SOA
.Это просто не будет работать из коробки.
Общедоступный первичный сервер ns1.example.com
192.0.2.10
и частный 172.16.10.20
. Он настроен как ведомый для зоны и позволяет передавать зоны из другой NS:
зоны "example.com" {
тип ведомый;
файл "/etc/bind/db/example.com";
мастера { 172.16.10.40; };
разрешить передачу {198.51.100.20; 203.0.113.30; };
уведомлять да;
};
Дополнительные общедоступные серверы ns2.example.com
и ns3.example.com
.
В этом примере эти серверы находятся совершенно в другом месте, обеспечивая как необходимое разнообразие сети, так и геологическую избыточность.
Эти серверы выполняют перенос зон с общедоступного первичного сервера.
зона "example.com" {
тип ведомый;
файл "/etc/bind/db/example.com";
мастера { 192.0.2.10; };
};