Мне было интересно, можно ли динамически добавлять поддомены, указывающие на динамические IP-адреса, и как я буду это делать? Другими словами, «как реализован dyndns / no-ip» :-)? (Часть, которую я не понимаю, это добавление / изменение записей DNS ... Я понимаю, как клиент отправляет пакет каждые несколько минут -___-). Конечно, я могу посоветовать всем своим пользователям просто использовать DynDNS / No-IP, но было бы намного круче интегрировать его с приложением.
Спасибо Роберт
2 ответа
Как вы частично сказали, DynDNS и другие динамические IP-службы работают так, что они обновляют записи DNS своего сервера на основе пульса клиента каждые несколько минут.
Хитрость заключается в том, что они используют чрезвычайно короткое время TTL, так что срок действия кешей для записи истекает очень быстро, и необходимо повторно запрашивать сервер DynDNS (что позволяет быстро распространять динамические изменения IP).
Если вы хотите реализовать это, либо найдите DNS-хост, который предлагает API, либо программно обновите DNS на своем собственном сервере с коротким TTL.
Чтобы иметь возможность напрямую обновлять / контролировать, где разрешается домен / субдомен, у вас должен быть собственный сервер имен а>. Когда вы регистрируете домен в TLD (например, .com), у этого TLD есть сервер имен. Каждый раз, когда клиенту нужно найти IP-адрес для something.com
, он спрашивает сервер имен .com
, где найти сервер имен для something
. Этот сервер имен, в свою очередь, возвращает данные о домене или субдомене.
Когда вы регистрируете домен в таком месте, как GoDaddy или Network Solutions, и вы используете их онлайн-инструменты для указания различных поддоменов на IP-адреса, вы создаете записи на их сервере имен. Когда клиент запрашивает ваш домен, корневой сервер имен сообщает им, что нужно проверить сервер имен GoDaddy. Если вы просмотрите параметры конфигурации вашего регистратора, вы обычно найдете место для указания собственного сервера имен вместо ввода IP-адресов домена. Настройка, которая сообщит цепочке серверов имен отложить разрешение ваших поддоменов на этот сервер имен. Очевидно, что в этот момент, имея прямой контроль над механизмом разрешения имен и адресов, вы можете делать все, что захотите.
Вот один список серверов имен с открытым исходным кодом. Есть много других, от бесплатных OSS до специализированных, проприетарных и очень дорогих. Технически вы также можете написать свой собственный, поскольку BIND является общедоступным стандартным форматом.
Похожие вопросы
Связанные вопросы
Новые вопросы
dns
Вопросы DNS должны быть связаны с программированием. Используйте этот тег для программирования вопросов, связанных с написанием кода, взаимодействующего с Системой доменных имен (DNS); например, написание кода, который использует gethostbyname ()