Сайт этот у меня дома, DNS динамический, IP серый. Интернет от домолинка, его DNS не знают freedns.afraid.com, по крайней мере с микротика пинги не шли, так что прописываем в настройках нашего девайса гугловские DNS: 8.8.8.8 и 8.8.4.4. Чтобы запись на FreeDNS обновлялась, есть прекрасный вариант — переход по прямой ссылки с ключом вида http://freedns.afraid.org/dynamic/update.php?<НАШКЛЮЧИКЗДЕСЬ>
Для обновления записи через терминал вводим следующее:
/tool fetch address=»freedns.afraid.org» host=»freedns.afraid.org» mode=http src-path=»dynamic/update.php\?<НАШКЛЮЧИКЗДЕСЬ>» keep-result=noНе забываем перед символом «?» поставить слэш «\»
Теперь надо как-то это запускать. Сначала я прописал эту строку в Scheduler, но почему-то она не отрабатывала нормально, т.е. адрес не менялся. Погуглив, нашел пост, где автор рекомендует использовать вариант со скриптами. В первозданном виде его скрипт не заработал, определение переменной newIP надо делать до проверки текущего адреса. Немного подправив их, получаем:
:global currentIP; :local newIP [/ip address get [find interface=»domolink»] address]; :if ($newIP != $currentIP) \do={ \
:set currentIP $newIP; \
:log info «ip address $currentIP changed to $newIP»; \
/system script run DDNS-Update; \
} else={ \
:log info «No change of IP»; \
}
где domolink — мой PPPoE интерфейс, DDNS-Update — скрипт, содержащий строку для обновления записи в DNS, указанную выше.
Сохраняем скрипт под именем FreeDNS, например. В Scheduler делаем задание с таким полем On Event:
/system script run FreeDNSГотово!