Conversation

Несерьёзный Выдумщик

Cтандартный вариант использования #DDNS не требует устанавливать какого-либо клиента. Более чем достаточно на #linux’ах и системных тулзов:

  1. Зарегистрироваться на DDNS сервисе, выбрав доменное имя и получив некий идентификатор (уникальный в пределах этого конкретного Dynamic DNS-сервиса).

  2. На машине настраивается регулярное обращение по определённому URL, каким-нибудь curl.

  3. В этом URL’е проставляется идентификатор пользователя на сервисе.

Как это работает?

Веб-сервер на стороне DDNS-сервиса видит:

  • с какого адреса идут запросы
  • на какой URL идут запросы
  • идентификатор содержащийся в URL’е

Этот идентификатор пользователя и сопоставляется с тем доменом, что выбран у пользователя. В результате становится ясно, какой 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 

Но работать, в целом, должно и без этого.

1
2
2

Несерьёзный Выдумщик

Надо будет попробовать чужому домену обновить ip’адрес указав в URL’е свой token, но при этом чужой domains :) Поменяет или же нет :)

К тому, что обычно в URL’е указывается только лишь идентификатор-токен пользователя, без упоминания обновляемого домена :)

0
0
0