Cтандартный вариант использования #DDNS не требует устанавливать какого-либо клиента. Более чем достаточно на #linux’ах и системных тулзов:
Зарегистрироваться на DDNS сервисе, выбрав доменное имя и получив некий идентификатор (уникальный в пределах этого конкретного Dynamic DNS-сервиса).
На машине настраивается регулярное обращение по определённому URL, каким-нибудь curl
.
В этом URL’е проставляется идентификатор пользователя на сервисе.
Веб-сервер на стороне DDNS-сервиса видит:
Этот идентификатор пользователя и сопоставляется с тем доменом, что выбран у пользователя. В результате становится ясно, какой IP’адрес проставлять отвечая на DNS-запросы про конкретный домен.
Как часто дёргать?Сервис DynDNS по этому URL’у со своим идентификатором можно дёргать и раз в 5-10 минут.
В крайнем случае, придётся эти 5-10 минут побыть без доступа к машине. Ожидая, пока же обнаружится смена ip’адреса. Однако, в большинстве случаев происходит эта смена глубокой ночью.
Что конкретно делать?Классическая инструкция про это всё для #linux выглядит вот так — https://www.duckdns.org/install.jsp
Создать файл «duck.sh
» содержащий:
echo url="https://www.duckdns.org/update?domains=exampledomain&token=a7c4d0ad-114e-40ef-ba1d-d217904a50f2&ip=" | curl -k -o ~/duckdns/duck.log -K -
Где у каждого свои собственные:
domains=...
token=...
И поставить выполняться этот файл каждый пять минут:
$: chmod 700 duck.sh
$: crontab -e
$: */5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
Кстати, по идеи, желательно в создаваемых shell-файлах, прописывать шебанги — начинать файл со строчки вида:
#!/usr/bin/env bash
Но работать, в целом, должно и без этого.
Надо будет попробовать чужому домену обновить ip’адрес указав в URL’е свой token, но при этом чужой domains :) Поменяет или же нет :)
К тому, что обычно в URL’е указывается только лишь идентификатор-токен пользователя, без упоминания обновляемого домена :)