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

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

1
Robert Fraser 30 Июл 2009 в 05:50

2 ответа

Лучший ответ

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

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

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

3
Brandon 30 Июл 2009 в 06:02
Классно; спасибо ... Вы знаете какой-либо хост, который предоставляет дешевый DNS-хостинг с API?
 – 
Robert Fraser
30 Июл 2009 в 06:23
Самым дешевым будет ваш собственный, если у вас уже есть сервер (например, вы используете Windows 2003 DNS и обновляете записи через WMI), но если вам нравится серфить, я ненавижу отправлять вас на Slashdot, но здесь ...;) ask.slashdot.org/askslashdot/08/09/24/2215226.shtml
 – 
Brandon
30 Июл 2009 в 06:26
Ну, это проект с открытым исходным кодом, так что ... :-) Большое спасибо за вашу помощь! Думаю, теперь я начинаю все это понимать!
 – 
Robert Fraser
30 Июл 2009 в 06:41
Я застрял с настройкой DynDNS для своего локального домена. Можете ли вы взглянуть на мой вопрос stackoverflow.com/questions/27304810/… пожалуйста? Спасибо!
 – 
VB_
5 Дек 2014 в 20:08

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

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

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

7
Rex M 30 Июл 2009 в 18:04
Спасибо, что все это объяснили!
 – 
Robert Fraser
30 Июл 2009 в 06:42
Нет, термин «корневой сервер имен» в данном контексте совершенно неправильный. Это должны быть «серверы имен TLD».
 – 
bortzmeyer
30 Июл 2009 в 11:14
Вау, да, это делает все объяснение бесполезным, не так ли;)
 – 
Rex M
30 Июл 2009 в 18:05
Я застрял с настройкой DynDNS для своего локального домена. Можете ли вы взглянуть на мой вопрос stackoverflow.com/questions/27304810/… пожалуйста? Спасибо!
 – 
VB_
5 Дек 2014 в 20:07