Что произойдет, если я не установлю свой реальный основной DNS-сервер в качестве записи SOA в скрытой основной настройке?

Я хочу настроить скрытый первичный DNS-сервер, т.е. я размещаю файлы зоны на моем собственном сервере, но все запросы должны поступать на вторичные DNS-серверы, размещенные специальной DNS-компанией. Мой собственный DNS-сервер не должен использоваться рекурсивными преобразователями или конечными пользователями. Указанная компания скопирует файлы зон с моего сервера с переносом зоны. В идеале никто даже не должен знать, что мой сервер существует в этой настройке DNS.

Конечно, все записи NS в такой настройке будут указывать на серверы имен компании DNS. Но я не уверен насчет записи SOA .

Насколько я понимаю, такая настройка будет означать, что мой сервер является «началом полномочий», и поэтому мне придется указать это в SOA , что сделает общедоступным, что мой сервер является настоящим основным сервером. Согласно другой ответ на сбой сервера MNAME должен быть установлен на « <имя-домена> сервера имен, который был исходным или основным источником данных для этой зоны».

Если это возможно без особых проблем, я бы предпочел не указывать свой NS-сервер в SOA, а вместо этого указывать SOA на мою хостинговую компанию сервера имен.

Каковы будут последствия, если я действительно установлю company.example.com как SOA вместо моего собственного сервера myserver.example.org ?

  • Нарушу ли я RFC?
  • Некоторые части системы DNS больше не будут работать? (Я читал, что запись SOA используется для динамических обновлений, но я не планирую принимать динамические обновления от иностранных людей и не планирую отправлять их сам)
  • Придет ли ко мне моя хостинговая компания сервера имен,потому что я неправильно указал их адрес электронной почты в качестве контакта для основного DNS? (поле почтового адреса SOA)
  • Могу ли я использовать разные имена хоста и почтовые адреса в SOA для решения некоторых проблем? Например. указать на company.example.com как сервер SOA, но на (скрытый) для почтового контакта?
2
задан 31 May 2020 в 11:20
1 ответ

Использование внешних серверов имен (из другого домена) не является нарушением стандарта 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

Diagram of DNS server locations and interactions

  • Скрытый мастер не указан в зоне.

    • Этот сервер находится только в частной сети и имеет IP-адрес 172.16.10.40.
    • Этот сервер подписывает DNSSSEC, поэтому я использовал 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

    • У этого сервера два IP-адреса: общедоступный 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; };
      };
      
1
ответ дан 31 May 2020 в 12:30

Теги

Похожие вопросы