Mikrotik 6.9 и FreeDNS.afraid.org через скрипты

Сайт этот у меня дома, 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

Готово!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *