Доброго времени суток! Есть L2TP включение с динамическим IP. Есть DNS-хостинг от nic.ru. Помогите с скриптом для DDNS. Нашел в сети: # set DDNS variables: UserName; Password; HostName; WAN-interface :local dDNSdomain "your.domain.ru" — Ваш домен :local dDNSuser "some_username" — имя пользователя на nic.ru с правом смены ip на ломен :local dDNSpass "some_password" — пароль пользователя nic.ru :local dDNSInterfaceName "your_WAN_interface" — внешний (WAN) интерфейс микротика :local dDNSCurrentIP [:resolve "$dDNSdomain"] — проверка какой IP указан за Вашим доменным именем :log info ("DDNS: Check resolve: $dDNSCurrentIP") :local LocalIP [ /ip address get [/ip address find interface=$dDNSInterfaceName ] address ] - получение IP на WAN-порту Микротика :local LocalIP [ick $LocalIP 0 [:find $LocalIP "/"]] - приводим IP к необходимому виду Далее сравниваем две полученные переменные и при их различие отправляем запрос вида: https://api.nic.ru/dyndns/update?hostname=myhost1.test.ru,myhost2.test.ru&myip=192.168.1.1 на nic.ru :if ($LocalIP != $dDNSCurrentIP) do={ :log info ("DDNS: ddns IP: $dDNSCurrentIP.") :log info ("DDNS: local IP: $LocalIP.") :log info ("DDNS: ddns update now!") /tool fetch url="https://$dDNSuser:$dDNSpass@api.nic.ru/dyndns/update?hostname=$dDNSdomain&myip=$LocalIP" Далее проводится проверка корректности обновления DNS. :log info ("DDNS: Check ddns IP...") /tool fetch url="https://api.nic.ru/dyndns/checkip/" dst-path="/nic.checkip.html" delay 1 :local dDNSCurrentIP [/file get nic.checkip.html contents] :local dDNSCurrentIP [ick $dDNSCurrentIP ([:find $dDNSCurrentIP ": " -1] + 2) [:find $dDNSCurrentIP "</body>" -1]] :if ($LocalIP = $dDNSCurrentIP) do={ :log info ("DDNS: ddns IP: $dDNSCurrentIP") :log info ("DDNS: Updated Successfully!.") } } else={ :log info ("DDNS: NO ddns update needed!") } Но что и куда, никак не могу понять
У микротика есть встроенный функционал DDNS --> winbox -->IP-->cloude--> DDNS enable, и в автоматическом режиме все живет.