<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Скрипт DynDNS, который действительно работает?]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Скрипт DynDNS, который действительно работает? форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 12 Aug 2026 08:44:50 -0400</pubDate>
		<item>
			<title>Скрипт DynDNS, который действительно работает?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437300">Скрипт DynDNS, который действительно работает?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, Арнальдо, выглядит интересно. Допустим, у меня есть URL knowchit.homeip.net, имя пользователя cl0wn и пароль: notmyrealone. У меня два провайдера: основной — с именем VLANfiber, использующий vlanxx от провайдера и работающий на интерфейсе ether на ethport5, и резервный (failover) — с именем cableISP, работающий на интерфейсе ether на ethport1. Как ты модифицируешь свой скрипт для двух интерфейсов, где один — основной, а другой — резервный и так далее? <br />
			<i>05.12.2018 23:04:00, anav.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437300</link>
			<guid>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437300</guid>
			<pubDate>Wed, 05 Dec 2018 23:04:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт DynDNS, который действительно работает?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437299">Скрипт DynDNS, который действительно работает?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Встроенный можно включить так: /ip cloud set ddns-enabled=yes &nbsp;<br />/ip cloud force-update &nbsp;<br />:delay 5s &nbsp;<br />/ip cloud print &nbsp;<br />Или можно использовать скрипт отсюда: <noindex><a href="https://github.com/Lillecarl/ROS_Scripts/tree/master/DDNS" target="_blank" rel="nofollow" >https://github.com/Lillecarl/ROS_Scripts/tree/master/DDNS</a></noindex> <br />
			<i>22.04.2018 10:43:00, lillecarl.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437299</link>
			<guid>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437299</guid>
			<pubDate>Sun, 22 Apr 2018 10:43:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт DynDNS, который действительно работает?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437298">Скрипт DynDNS, который действительно работает?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Этот скрипт поддерживает несколько интерфейсов, динамические интерфейсы и даже более одного DNS-записи на интерфейс. Пользуюсь им уже несколько лет.<br /><br />:local ifs {"ppp1";"wan1";"wan1"};<br />:local hostnames {"a.homeip.net";"b.homeip.net";"c.homeip.net"};<br />:local user "your-account-name";<br />:local password "your-password";<br /><br />:foreach k,v in=$ifs do={<br /> &nbsp; &nbsp;:local if [/ip address find interface="$v"];<br /> &nbsp; &nbsp;:if ($if="") do={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:log info "DynDNS: Интерфейс '$v' недоступен";<br /> &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:local newip [/ip address get $if address];<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if ([:typeof $newip]=nil) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log info "DynDNS: Нет IP-адреса на интерфейсе '$v'";<br /> &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set newip [:pick $newip 0 [:find $newip "/"]];<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:local oldip [:resolve ($hostnames-&gt;$k)];<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:local hostname ($hostnames-&gt;$k);<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:if ($newip!=$oldip) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log info "DynDNS: IP адрес изменён для '$hostname/$v': $oldip -&gt; $newip";<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/tool fetch user=$user password=$password keep-result=no \<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;url="http://members.dyndns.org/nic/update\?hostname=$hostname&myip=$newip&wildcard=NOCHG&mx=NOCHG&backm<WBR/>&shy;x=NOCHG";<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log info "DynDNS: IP адрес не изменился для '$hostname/$v': $oldip";<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp;}<br />} <br />
			<i>21.04.2018 20:10:00, arnaldo.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437298</link>
			<guid>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437298</guid>
			<pubDate>Sat, 21 Apr 2018 20:10:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт DynDNS, который действительно работает?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437297">Скрипт DynDNS, который действительно работает?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это работает с моим rb951g-2hnd &nbsp;<br />Нужные переменные: &nbsp;<br />:local username “escribe-tu-usuario-user” &nbsp;<br />:local password “put-password-here” &nbsp;<br />:local hostname “putyour-hostname-here.dlinkddns.com” &nbsp;<br />:global systemname [/system identity get name]  <br /><br />:if ($systemname = “Site1”) do={ &nbsp;<br />:set hostname “yourdomain1.dyndns.org” &nbsp;<br />} &nbsp;<br /><br />:if ($systemname = “Site2”) do={ &nbsp;<br />:set hostname “yourdomain2.dyndns.org” &nbsp;<br />} &nbsp;<br /><br />:if ($systemname = “Site3”) do={ &nbsp;<br />:set hostname “yourdomain3.dyndns.org” &nbsp;<br />} &nbsp;<br /><br />:global dyndnsForce &nbsp;<br />:global previousIP &nbsp;<br /><br />Выводим отладочную информацию: &nbsp;<br />:log info (“UpdateDynDNS: username = $username”) &nbsp;<br />:log info (“UpdateDynDNS: password = $password”) &nbsp;<br />:log info (“UpdateDynDNS: hostname = $hostname”) &nbsp;<br />:log info (“UpdateDynDNS: previousIP = $previousIP”) &nbsp;<br /><br />Получаем текущий IP-адрес из интернета (на случай двойного NAT): &nbsp;<br />/tool fetch mode=http address=“checkip.dyndns.org” src-path=“/” dst-path=“/dyndns.checkip.html” &nbsp;<br />:local result [/file get dyndns.checkip.html contents]  <br /><br />Парсим текущий IP: &nbsp;<br />:local resultLen [:len $result]  <br />:local startLoc [:find $result ": " -1]  <br />:set startLoc ($startLoc + 2) &nbsp;<br />:local endLoc [:find $result “” -1]  <br />:local currentIP [:pick $result $startLoc $endLoc]  <br />:log info “UpdateDynDNS: currentIP = $currentIP” &nbsp;<br /><br />Уберите # в следующей строке, чтобы принудительно обновлять каждый раз — удобно для отладки, но есть риск попасть в черный список DynDNS! &nbsp;<br />#:set dyndnsForce true &nbsp;<br /><br />Определяем, нужно ли обновлять dyndns — подробнее о запросах обновления смотрите в Perform Update - Dyn: &nbsp;<br />:if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={ &nbsp;<br />:set dyndnsForce false &nbsp;<br />:set previousIP $currentIP &nbsp;<br />/tool fetch user=$username password=$password mode=http address=“members.dyndns.org” src-path=“/nic/update?hostname=$hostname&myip=$currentIP” dst-path=“/dyndns.txt” &nbsp;<br />:local result [/file get dyndns.txt contents]  <br />:log info (“UpdateDynDNS: Dyndns update needed”) &nbsp;<br />:log info ("UpdateDynDNS: Dyndns Update Result: ".$result) &nbsp;<br />:put ("Dyndns Update Result: ".$result) &nbsp;<br />} else={ &nbsp;<br />:log info (“UpdateDynDNS: No dyndns update needed”) &nbsp;<br />} <br />
			<i>19.04.2018 00:27:00, elgarchatuma.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437297</link>
			<guid>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437297</guid>
			<pubDate>Thu, 19 Apr 2018 00:27:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт DynDNS, который действительно работает?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437296">Скрипт DynDNS, который действительно работает?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Этот скрипт работает с моим rb951G-2hnd. Задайте нужные переменные: &nbsp;<br />:local username “escribe-tu-usuario-user” &nbsp;<br />:local password “put-password-here” &nbsp;<br />:local hostname “putyour-hostname-here.dlinkddns.com” &nbsp;<br />:global systemname [/system identity get name]  <br /><br />:if ($systemname = “Site1”) do={ :set hostname “yourdomain1.dyndns.org” } &nbsp;<br />:if ($systemname = “Site2”) do={ :set hostname “yourdomain2.dyndns.org” } &nbsp;<br />:if ($systemname = “Site3”) do={ :set hostname “yourdomain3.dyndns.org” } &nbsp;<br /><br />:global dyndnsForce &nbsp;<br />:global previousIP &nbsp;<br /><br />Выводим немного отладочной информации: &nbsp;<br />:log info (“UpdateDynDNS: username = $username”) &nbsp;<br />:log info (“UpdateDynDNS: password = $password”) &nbsp;<br />:log info (“UpdateDynDNS: hostname = $hostname”) &nbsp;<br />:log info (“UpdateDynDNS: previousIP = $previousIP”) &nbsp;<br /><br />Получаем текущий IP-адрес из интернета (на случай двойного NAT) &nbsp;<br />/tool fetch mode=http address=“checkip.dyndns.org” src-path=“/” dst-path=“/dyndns.checkip.html” &nbsp;<br />:local result [/file get dyndns.checkip.html contents]  <br /><br />Разбираем полученный IP: &nbsp;<br />:local resultLen [:len $result]  <br />:local startLoc [:find $result ": " -1]  <br />:set startLoc ($startLoc + 2) &nbsp;<br />:local endLoc [:find $result “” -1]  <br />:local currentIP [:pick $result $startLoc $endLoc]  <br />:log info “UpdateDynDNS: currentIP = $currentIP” &nbsp;<br /><br />Уберите знак # в следующей строке, чтобы принудительно обновлять каждый раз — удобно для отладки, но можно попасть в черный список DynDNS! &nbsp;<br />#:set dyndnsForce true &nbsp;<br /><br />Определяем, нужно ли обновлять dyndns (подробнее про запросы обновления есть на Perform Update - Dyn): &nbsp;<br />:if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={ &nbsp;<br />:set dyndnsForce false &nbsp;<br />:set previousIP $currentIP &nbsp;<br />/tool fetch user=$username password=$password mode=http address=“members.dyndns.org” src-path=“/nic/update?hostname=$hostname&myip=$currentIP” dst-path=“/dyndns.txt” &nbsp;<br />:local result [/file get dyndns.txt contents]  <br />:log info (“UpdateDynDNS: Dyndns update needed”) &nbsp;<br />:log info ("UpdateDynDNS: Dyndns Update Result: ".$result) &nbsp;<br />:put ("Dyndns Update Result: ".$result) &nbsp;<br />} else={ &nbsp;<br />:log info (“UpdateDynDNS: No dyndns update needed”) &nbsp;<br />} <br />
			<i>19.04.2018 00:23:00, elgarchatuma.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437296</link>
			<guid>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437296</guid>
			<pubDate>Thu, 19 Apr 2018 00:23:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт DynDNS, который действительно работает?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437295">Скрипт DynDNS, который действительно работает?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я перерыл весь интернет в поисках решения этой проблемы, но ни один из скриптов с форумов или из вики не работает. Я попробовал практически всё, что мог придумать, и вне зависимости от метода получаю “404 Not Found”, хотя curl и wget на моём Linux-компе работают без проблем. Моя рабочая гипотеза — дело в базовой аутентификации Apache, которую использует members.dyndns.org. При использовании wget сначала возвращается 401 Unauthorized, но потом wget распознаёт эту базовую аутентификацию Apache, повторяет запрос — и всё работает. Curl с параметром --basic тоже срабатывает. Вообще реально ли заставить обновление работать через /tool fetch? Спасибо, Ричард. <br />
			<i>08.02.2018 20:44:00, hobbes1069.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437295</link>
			<guid>http://mikrotik.moscow/forum/forum57/89478-skript-dyndns_-kotoryy-deystvitelno-rabotaet/message437295</guid>
			<pubDate>Thu, 08 Feb 2018 20:44:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
