Несколько запросов относительно управления записями DNS

263
karthik ts

Я недавно купил домен karthikts.com (только для примера, но это не фактический зарегистрированный домен) и на панели управления регистратора (crazydomains.com), которую я мог видеть ниже конфигов:

  1. Мне были выделены два сервера имен: ns1.crazydomains.com и ns2.crazydomains.com
  2. Две записи A, одна "karthikts.com -> abcd" и другая "www.karthikts.com -> abcd", abcd - это IP-адрес, предоставленный самим регистратором.

Теперь я хочу выполнить следующие действия, поэтому мне нужны некоторые указатели / ссылки для их достижения.

а]

Я хочу делегировать управление записями DNS для всех поддоменов в karthikts.com другому серверу имен, два запроса по этому поводу:

  1. Как мне делегировать все поддомены в karthikts.com новому серверу имен? Какой формат записи NS? Он принимает подстановочные знаки? Примерно так: "* .karthikts.com => ipx"?

  2. Как заставить сервер выступать в роли сервера имен? я знаю, что DNS-сервер работает на UDP-порту 53, но как мне его получить? Доступно ли программное обеспечение DNS-сервера с открытым исходным кодом или оно поставляется вместе с ОС? Кроме того, как передать новые записи DNS для моих поддоменов на сервер DNS?

б]

Предположим, если у меня есть два субдомена, чьи записи A являются oxygen.karthikts.com => ip1 и carbon.karthikts.com => ip2 соответственно. Можно ли написать программу на python, которая отправляет динамические обновления DNS на мой сервер имен и переключает отображение на oxygen.karthikts.com => ip2 и carbon.karthikts.com => ip1 каждые полчаса. Я не ищу решения для этого, просто хочу знать, возможно ли это, и если да, есть ли библиотеки Python для динамического обновления DNS.

0

1 ответ на вопрос

1
grawity

Как мне делегировать все поддомены в karthikts.com новому серверу имен? Какой формат записи NS?

Запись NS имеет одно поле - имя сервера (но не IP-адрес).

Например, ваши текущие записи NS:

@ NS ns1.crazydomains.com. @ NS ns1.crazydomains.com. 

В некоторых случаях необходимы дополнительные «клейкие записи», чтобы заставить делегирование работать.

Он принимает подстановочные знаки? Примерно так: "* .karthikts.com => ipx"?

Нет, делегирование групповых символов не допускается.

Вместо этого делегируйте весь свой домен . Веб-сайт вашего регистратора будет иметь отдельную опцию в виде «Использовать свои собственные DNS-серверы». Использование этой опции полностью делегирует домен (включая дочерние домены) и отключит сетевой редактор записей регистратора.

Как заставить сервер выступать в роли сервера имен? я знаю, что DNS-сервер работает на UDP-порту 53, но как мне его получить? Доступно ли программное обеспечение DNS-сервера с открытым исходным кодом или оно поставляется вместе с ОС?

Есть много. Популярные варианты включают NSD, PowerDNS, BIND 9, djbdns и тот, который поставляется с Windows Server.

DNS использует как UDP, так и TCP; последний используется для больших ответов (для клиентов, у которых отсутствует поддержка EDNS), для передач между вашими собственными авторитетными серверами (репликация), для DNS-over-TLS.

Кроме того, как передать новые записи DNS для моих поддоменов на сервер DNS?

Зависит от используемого программного обеспечения. Многие используют стандартный текстовый формат, называемый файлом зоны . У некоторых могут быть графические инструменты (такие как Windows Server, хотя он все еще хранит данные в файлах зон). Некоторые могут иметь поддержку для чтения данных из MySQL или Postgres. Некоторые используют старшие руны (djbdns).

Можно ли написать программу на Python, которая отправляет динамические обновления DNS на мой сервер имен

Да, в зависимости от используемого программного обеспечения DNS-сервера. Многие серверы поддерживают обновления через стандартный протокол RFC 2136 (DNS UPDATE), а некоторые могут иметь собственные API для этого.

Для Python вы должны быть в состоянии найти поддержку DNS UPDATE в любом полнофункциональном модуле DNS. (Я постоянно путаю два больших модуля DNS, которые есть в Python, но я знаю, что по крайней мере один из них определенно поддерживает UPDATE.)

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