Динамически добавлять субдомены? - PullRequest
1 голос
/ 30 июля 2009

Мне было интересно, возможно ли динамическое добавление поддоменов, указывающих на динамические IP-адреса, и как мне это сделать? Другими словами, "как реализован dyndns / no-ip" :-)? (Часть, которую я не получаю - это добавление / изменение записей DNS ... Я понимаю, как клиент отправляет пакет каждые несколько минут -___-). Конечно, я могу сказать всем своим пользователям, что нужно использовать DynDNS / No-IP, но его интеграция с приложением была бы намного круче.

Спасибо, Роберт

Ответы [ 2 ]

5 голосов
/ 30 июля 2009

Чтобы иметь возможность напрямую обновлять / контролировать, где разрешается домен / поддомен, у вас должен быть собственный сервер имен . Когда вы регистрируете домен под TLD (например, .com), у этого TLD есть сервер имен. Каждый раз, когда клиенту нужно найти IP-адрес для something.com, он спрашивает сервер имен .com, где найти сервер имен для something. Этот сервер имен в свою очередь возвращает данные о домене или поддомене.

Когда вы регистрируете домен в таком месте, как GoDaddy или Сетевые решения , и вы используете их онлайн-инструменты для указания IP-адресов в своих разных поддоменах, вы создаете записи на 1012 * их сервер имен. Когда клиент запрашивает ваш домен, корневой сервер имен говорит им проверить с помощью сервера имен GoDaddy. Если вы посмотрите параметры конфигурации своего регистратора, вы, как правило, найдете место для указания своего собственного сервера имен вместо ввода IP-адресов домена. Установка, которая скажет цепочке серверов имен отложить разрешение ваших поддоменов до этого сервера имен. Очевидно, что в этот момент, имея прямой контроль над механизмом разрешения имен и адресов, вы можете делать все, что захотите.

Вот один список серверов имен с открытым исходным кодом . Есть много других, от бесплатных OSS до пользовательских, проприетарных и очень дорогих. Технически вы также можете написать свой собственный, поскольку BIND является общедоступным стандартным форматом.

3 голосов
/ 30 июля 2009

Как вы уже частично сказали, DynDNS и другие службы динамического IP работают так, что они обновляют записи DNS своего сервера на основе тактового импульса от клиента каждые несколько минут.

Хитрость заключается в том, что они используют очень короткое время TTL, так что время кэширования записи очень быстро истекает, и требуется повторный запрос к серверу DynDNS (который обеспечивает динамическое распространение изменений IP).

Если вы хотите реализовать это, либо найдите DNS-хост, который предлагает API, либо программно обновите DNS на вашем собственном сервере с помощью короткого TTL.

...