DynDNS Или "Статический сайт - на динамическом IP"

DynDNS Или "Статический сайт - на динамическом IP"

Второе название статьи - просто забавная игра слов "статический - динамический". На самом деле возможности описываемой ниже технологии DynDNS (Dynamic DNS) охватывают больший круг вопросов и решают больше полезных задач.

Чему обязано появление технологии DynDNS (Dynamic DNS)? Одной из причин является довольно прозаическое обстоятельство - нехватке статических IP-адресов в Internet-пространстве, из-за чего провайдеры зачастую вынуждены раздавать своим клиентам динамические адреса.



Предпримчивые разработчики и эту нехватку обратили в доходную статью - появились публичные сервисы www.no-ip.com, www.tzo.com и другие, которые позволяют на динамическом IP размещать полноценные сайты, почтовые-, jabber-серверы и другие сервисы, которые в своем первозданном виде обычно требуют наличия статического IP.

В нашей статье мы рассмотрим практическое использование известного сервиса www.dyndns.com, клиенты которого существуют не только в Soft-виде, но и встраиваются в аппаратные продукты - маршрутизаторы, модемы, и т.п.

Принцип их действия довольно прост - на своем динамическом хосте устанавливается dyndns-клиент, который периодически "сливает" адрес своего хоста на свой публичный dyndns-сервис, на котором зарегистрирован ваш домен, а этот сервис каждый раз корректирует настройки DNS-зоны в соответствии с изменившимся адресом хоста. Иными словами, сервис осуществляет их периодическую синхронизацию таким образом, чтобы доменное имя всегда соответствовало "гуляющему" IP-адресу вашего хоста.

Имя домена можно выбрать как бесплатное 3-го уровня из предоставляемых на сервисе списка, так и свое уникальное за оплату.
DynDNS клиентов на данном сервисе предлагается несколько для различных платформ - Windows, Mac/OS и Linux/Unix.
Рассмотрим наиболее распространенный клиент ddclient. Его можно скачать отсюда в тарболе (текущая версия 3.7.3), а можно взять готовый пакет, например, ddclient-3.6.6-1.fc4.noarch.rpm из нашей "Файлокопилки" в разделе "Утилиты", который устанавливается в среду ASPLinux 11.2 сразу, без ее дополнительной подготовки.

Более старшие версии ddclient при установке требуют дополнительных библиотек, но обладают дополнительными возможностями. Например, начиная с версии 3.7.0 реализована поддержка протокола HTTPS, что обеспечивает более высокий уровень безопасности при использовании сервиса DynDNS.

Установка и настройка клиента ddclient

1. Регистрация своего dynsdns-акаунта
Регистрируемся на сайте www.dyndns.com обычным порядком.

Для этого выбираем ссылку Create Account и вводим свой ник, реальный email и пароль.

Например:
- pupkin,
- pupkin@mymail.com
- passpass
после чего отмечаем согласие с двумя условиями
- "I agree to the AUP"
- "I will only create one (1) free account"

и нажимаем кнопку "Create Account".

2. Квитирование email
После регистрации на ваш email должно прийти письмо следующего содержания:

DynDNS Support
Тема : Your DynDNS Account Information
Дата : Wed, 19 Sep 2007 15:53:37 -0400 (EDT)
Кому : pupkin@mymail.com

Your DynDNS Account 'pupkin' has been created.
You need to visit the confirmation address below within 48 hours to complete the account creation process:

https://www.dyndns.com/account/confirm/S9mA...noaTcEJhpg1ENmA
и т.д.

Вкратце его смысл сводится к тому, что если вы не нажмете предложенную ссылку, то вашему аккаунту останется жить 48 часов.

3. Завершение регистрации аккаунта
Нажимаем предложенную ссылку и попадаем на страницу сервиса DynDNS, в которой обнаруживаем радостное сообщение:
Account Confirmed
The account pupkin has been confirmed. You can now login and start using your account.

4. Вход на сайт www.dyndns.com
Логинимся на сайте DynDNS под выбранным ником и попадаем в богатые закрома сервиса, из которых в данном случае нас интересует раздел поддержки динамического IP, попасть в который можно, например, кратчайшим путем по ссылке https://www.dyndns.com/services/dns/dyndns

5. Ввод регистрационных данных своего хоста
Нажимаем кнопку "Create Host" и попадаем на страницу с параметрами, которые заполняем своими данными:



- Hostname pupkin.dyndns.org: Доменное имя своего хоста.
- Wildcard? да/нет: Использование альяса типа www
- TTL : 60 сек (по умолчанию) или 4 часа
- Service Type: обычно используется "A-record pointed to IP address"
- IP Address: здесь нужно ввести текущий адрес вашего хоста, поэтому самое время вернуться к нашему клиенту.

6. Устанавка dyndns-клиента
Запускаем инсталляцию пакета:
# rpm -ihv ddclient-3.6.6-1.fc4.noarch.rpm

Исполняемый файл устанавливается как /usr/sbin/ddclient;

файл конфигурации - как /etc/ddclient.cconf

Клиент устанавливается как сервис и его можно увидеть в их списках, но после установки он сам еще не стартует, и это логично - сначала его нужно отконфигурировать.

7. Конфигурирование ddclient'а
Конфигурационные данные находятся в файле /etc/ddclient.cconf
Первым делом выбрасываем из файла конфигурации всю ту муть голубую, которую напихали в него заботливые разработчики, и оставляем только самое необходимое:
daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
mail=root # mail all msgs to root
mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.

server=members.dyndns.org
protocol=dyndns2
use=web,web=dyndns
wildcard=yes
login=pupkin # ваш логин
password=passpass # ваш пароль
pupkin.dyndns.org # имя своего хоста

Казалось бы, все учли. Так оно и есть, но следует упомянуть об одной мелкой пакости, которую подготовил разработчик ddclient'a для его пользователей.

Обратите внимание на параметр "имя своего хоста". В отличие от других параметров, он не имеет собственной идентификатора - просто имя хоста и все.

А это привело к тому, что любая перестановка этого имени выше предусмотренной для него строки приводит к неработоспособности клиента.

Трудно судить, чем вызвано такое решение - то ли у афтора исчерпалась фантазия на придумывание имен идентификаторов, то ли просто не хватило букофф, но так или иначе, это "бесценное" ноу-хау придется учитывать при настройке клиента.

8. Проверка работоспособности и запуск в эксплуатацию
Для проверки запускаем клиент обычным порядком:
# /usr/sbin/ddclient

и, если параметры из файла конфигурации клиента совпадают с соответствующими параметрами аккаунта в сервисе DynDNS, то выполнение завершится молчаливым возвратом в командную строку, в противном случае вы получить соответствующий диагностичесий текст.

Если все нормально, запускаем наш ddclient на постоянную орбиту:
# /sbin/service ddclient start

9. Примечание
Благодаря dyndns-технологии можно обойти большинство проблем, связанных с отсутствием статического IP-адреса и строить полноценные проекты на динамических адресах.

При этом, однако, нужно учитывать реалии, сложившиеся в Internet. Например, если вы запустите на DynDNS почтовый сервер, то он будет замечательно функционировать, исправно рассылая и принимая POP3/SMTP почту в online-режиме. Другое дело, что антиспам-системы, принимая почту от такого почтового сервера, обнаруживают странную, по их мнению, непрямую связь между почтовым доменом и его IP, и беспощадно банят их. Чтобы этого не происходило, следует в качестве SMTP-сервера выбрать какой-нибудь релей, базирующийся на постоянном IP.

10. Заключение
Сервис DynDNS - удачное технологическое решение, позволяющие обойти проблемы нехватки статических адресов, уменьшающее риск DOS-атак по постоянным адресам и имеющие другие возможности, все из которые в одной статье не рассмотрены.

< Назад к списку новостей