Небольшая заметка на тему того, как настраивать Dynamic DNS у Hurrican Electric. Постоянно забываю, а у них на сайте это посмотреть неочевидно (надо разлогиниться, чтобы увидеть инструкцию). Прелесть HE заключается в том, что они предоставляют сервис динамического DNS бесплатно — я им пользуюсь вот уже 4 года для различных целей, и он меня не подводил.
Для начала, конечно, нужно делегировать домен или поддомен на NS-сервера HE — ns1.he.net, ns2.he.net (есть ещё ns3, ns4 и ns5). Делегация занимает плюс-минус 72 часа, и после неё можно приступать к настройке.
Последовательность действий такая:
- Входим в панель редактирования домена (карандашик у свежедобавленного домена в списке)
- Добавляем новую A-запись, которую хотим сделать динамической, нажатием кнопки «New A». Нас встретит диалоговое окно, в котором нужно ввести имя поддомена и нажать галочку «Enable entry for dynamic dns». По нажатию этой галочки подставляется автоматически текущий IP адрес, с которого производится работа с веб-интерфейсом. После этого нажимаем «Submit»
- В списке DNS-записей теперь существует наша новая запись с динамическим IP. Строка с ней окрашена в бирюзовый цвет. У неё есть кнопка обновления — она нам понадобится для генерации ключа, с помощью которого мы будем автоматически обновлять запись.
- В появившемся окне нужно нажать на кнопку «Generate a key». Ключ можно ввести самостоятельно, или сгенерировать внешними приложениями — я рекомендую или пользоваться встроенным генератором HE, или сгенерировать ключ в 1Password. Ключ следует воспринимать, как пароль, причём очень важный — знающий его человек может перенаправить ваш поддомен на любой IP-адрес!
- Ключ записан (и спрятан), теперь можно настраивать «клиент» динамического обновления. «Клиент» в кавычках — потому что никакого специального ПО устанавливать не нужно, данный DDNS обновляется с помощью curl. Кроме того, HE говорит, что их система совместима с ddclient или другим ПО, совместимым с DynDns, но я это не проверял.
Схема URL для обновления IP такая: http://[доменное имя]:[сгенерированный ключ]@dyn.dns.he.net/nic/update?hostname=[доменное имя]
. Запрос curl на сформированный таким образом адрес даст один из ответов:
badauth
— ошибка авторизации (неправильное имя или пароль)nochg
— для данной записи IP-адрес не изменилсяgood <новый IP-адрес>
— IP-адрес обновлён
Запросы к HE разрешены не чаще, чем раз в час. Это не техническое, а правовое ограничение: за спам их системы раз в 5-10 минут аккаунт могут заблокировать.
После получения и проверки возможности обновления IP-адреса можно настроить ddclient, в кронтаб положить обновление раз в час или каким-либо образом триггерить обновление при начале соединения с интернетом (во многих роутерах поддержка динамического DNS есть). Я обновление настроил на роутере, вы же в данном вопросе вольны решать сами, каким образом и как часто обновляться.