Как мне делегировать все поддомены в 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.)