<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS) форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 04 Apr 2026 07:03:25 +0300</pubDate>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427987">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Как этот скрипт запускается по расписанию? Как он сработает при изменении WAN IP-адреса? Или мне нужно настроить расписание и запускать его, например, каждые 5 минут? <br />
			<i>02.09.2020 11:26:00, ilium007.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427987</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427987</guid>
			<pubDate>Wed, 02 Sep 2020 11:26:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427986">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ребята! У меня были разные проблемы со скриптами обновления из этой темы. Ниже вы найдете мою версию скрипта. Вместо кеширования IP-адреса, этот скрипт разрешает доменное имя и обновляет его, если оно отличается от реального адреса интерфейса.<br /><br />:local resolvedIP [:resolve "{{ domain }}.duckdns.org"];<br />:local currentIP [/ip address get [find interface="{{ interface }}"] address];<br />:local currentIP [:pick $currentIP 0 [:find $currentIP "/"]];<br /><br />:if ($resolvedIP != $currentIP) do={<br /> &nbsp; &nbsp;:log info ("Пытаюсь обновить DuckDNS с текущим IP ".$currentIP.", разрешенный IP - ".$resolvedIP);<br /> &nbsp; &nbsp;:local response [/tool fetch url=("https://www.duckdns.org/update?domains={{ domain }}&token={{ token }}&ip=".$currentIP) check-certificate=yes as-value output=user];<br /> &nbsp; &nbsp;:if ($response-&gt;"status" = "finished") do={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if ($response-&gt;"data" = "OK") do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log info ("Успешно обновил DuckDNS новым IP ".$currentIP);<br /> &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log error ("Не удалось обновить DuckDNS новым IP ".$currentIP);<br /> &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp;}<br />}<br /><br />Чтобы использовать скрипт, нужно сделать следующее: заменить переменные в двойных фигурных скобках, сделать корневой сертификат, который подписывает цепочку сертификатов DuckDNS, доступным в хранилище сертификатов — либо скачать его отсюда, либо использовать список доверенных корневых сертификатов Mozilla отсюда. Сертификат следует скачать на надежном компьютере и уже оттуда загрузить на роутер. Его можно импортировать в Winbox через Система &gt; Сертификаты или используя команду /certificate import file-name={{ certfile }} passphrase="".<br /><br />После того как хранилище сертификатов настроено, его можно периодически обновлять следующим скриптом:<br /><br />/tool fetch url=https://mkcert.org/generate/ check-certificate=yes dst-path=cacert.pem;<br />/certificate import file-name=cacert.pem passphrase="";<br /><br />Этот шаг можно пропустить, убрав check-certificate=yes из команды fetch, но я не советую так делать, потому что это снижает безопасность соединения. <br />
			<i>09.06.2020 21:18:00, daboka.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427986</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427986</guid>
			<pubDate>Tue, 09 Jun 2020 21:18:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427985">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет, это мой скрипт, и он у меня работает. &nbsp;<br />:global currentIP; &nbsp;<br />local newIP [ip cloud get public-address];  <br />:if ($newIP != $currentIP) do={ &nbsp;<br /> &nbsp;:log info “IP-адрес $currentIP изменился на $newIP”; &nbsp;<br /> &nbsp;:set currentIP $newIP; &nbsp;<br /> &nbsp;/tool fetch mode=https url=“<noindex><a href="https://www.duckdns.org/update?domains=domain&amp;token=xxxx-xxx-xx-xx-xxx=$newIP" target="_blank" rel="nofollow" >https://www.duckdns.org/update?domains=domain&amp;token=xxxx-xxx-xx-xx-xxx=$newIP</a></noindex>” dst-path=duckdns.txt; &nbsp;<br /> &nbsp;:local result [/file get duckdns.txt contents];  <br /> &nbsp;:log info “Результат обновления Duck DNS: $result”; &nbsp;<br />} &nbsp;<br /><br />Ключевая строка — “local newIP [ip cloud get public-address];”  <br />Но первое “ip cloud” должно быть настроено на новых версиях MT. &nbsp;<br />Это также работает, если у вас несколько IP на WAN-интерфейсах. <br />
			<i>12.10.2019 08:46:00, nikolaricci.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427985</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427985</guid>
			<pubDate>Sat, 12 Oct 2019 08:46:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427984">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хорошо, без проблем. Просто заплачу дополнительную сумму за статический IP. Видимо, другого выхода нет. Спасибо. <br />
			<i>04.08.2019 15:09:00, badwithnetworking.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427984</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427984</guid>
			<pubDate>Sun, 04 Aug 2019 15:09:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427983">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это похоже на частный адрес — 172.22/16 входит в диапазон 172.16/12, который является частным. И поскольку исходный скрипт получает адрес с интерфейса, я уверен, что у вас частный адрес, и ваш провайдер использует NAT для вашего адреса. -Крис <br />
			<i>29.07.2019 14:49:00, cdiedrich.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427983</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427983</guid>
			<pubDate>Mon, 29 Jul 2019 14:49:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427982">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты прав. Может, это и не частный адрес. В принципе, мой оптоволоконный модем подключён к ether1. Когда я настраиваю его с помощью этого скрипта, IP-адрес отличается от того, что я вижу, если проверить через <noindex><a href="https://whatismyipaddress.com/" target="_blank" rel="nofollow" >https://whatismyipaddress.com/</a></noindex>. Скрипт показывает 172.22.###.###, а Whatismyipaddress выдаёт 103.252.###.###. В чём тут может быть дело? <br />
			<i>29.07.2019 14:46:00, badwithnetworking.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427982</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427982</guid>
			<pubDate>Mon, 29 Jul 2019 14:46:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427981">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты можешь получить свой IP вот так: /tool fetch mode=http http-method=get url=http://icanhazip.com/ dst-path=myip.txt Но честно говоря, есть ли смысл регистрировать duckdns, если твой роутер за NAT? -Крис <br />
			<i>29.07.2019 14:14:00, cdiedrich.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427981</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427981</guid>
			<pubDate>Mon, 29 Jul 2019 14:14:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427980">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Когда я пытаюсь это использовать, оказывается, что между моим роутером Mikrotik и интернетом стоит ещё один приватный адрес. Из-за этого возвращается приватный адрес. Есть ли какой-то другой способ сделать это? <br />
			<i>29.07.2019 12:56:00, badwithnetworking.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427980</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427980</guid>
			<pubDate>Mon, 29 Jul 2019 12:56:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427979">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@rextended Скрипт у меня работает только при запуске из терминала MikroTik. Если я нажимаю «run» в меню скриптов или запускаю через планировщик — не работает. Выдаёт ошибку: «could not run script DuckDNS: not enough permissions». Я давал скрипту все возможные права, но ошибка всё равно та же. Скрипт создаю и запускаю под тем же пользователем, которым запускаю в терминале. Чтобы воспроизвести: &nbsp;<br />Удалить глобальные переменные «actualIP», «lastChange» и «previousIP» в System-&gt;Scripts-&gt;Environment &nbsp;<br />Удалить файлы «ipstore.txt» и «duckdns-result.txt» &nbsp;<br />Запустить скрипт из System-&gt;Scripts-&gt;Scripts (выбрать и нажать «run script») &nbsp;<br />Есть идеи, в чём может быть проблема? Как уже сказал, запускаю под тем же пользователем с полными правами. Использую routeros-mmips v6.44. <br />
			<i>02.03.2019 10:37:00, fbsdmon.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427979</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427979</guid>
			<pubDate>Sat, 02 Mar 2019 10:37:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427978">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, скрипт работает отлично. <br />
			<i>29.12.2014 00:29:00, THG.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427978</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427978</guid>
			<pubDate>Mon, 29 Dec 2014 00:29:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427977">Скрипт обновления DuckDNS (бесплатная альтернатива DynDNS)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет! Как многие из вас знают, DynDNS прекратит предоставлять бесплатные услуги динамического DNS через месяц. В связи с этим я решил использовать один из альтернативных бесплатных сервисов — DuckDNS (<noindex><a href="https://duckdns.org/" target="_blank" rel="nofollow" >https://duckdns.org/</a></noindex>) и решил поделиться своим скриптом.<br /><br />Этот скрипт работает иначе, чем почти все другие скрипты обновления динамического DNS для Mikrotik, которые я находил в интернете. Обычно скрипт запускается через определённые интервалы времени. А мой скрипт работает постоянно, следит за WAN-подключением и обнаруживает изменения IP-адреса. Никак не утверждаю, что это лучше, просто так сделал я.<br /><br />Поэтому при настройке в планировщике Mikrotik укажите запуск только при старте устройства. Всё, что нужно поменять в скрипте ниже — это “exampledomain” и токен.<br /><br />Надеюсь, кому-то пригодится.<br /><br />Nev<br /><br />/interface pppoe-client {<br /> :global ExternalIP<br /> :local clientip<br /> :local clientstatus<br /> :while (1 &lt; 2) do={<br /> &nbsp;monitor pppoe-out1 once do={<br /> &nbsp; :set clientip $“local-address”<br /> &nbsp; :set clientstatus $status<br /> &nbsp;}<br /> &nbsp;:if ($clientstatus=“connected” and $ExternalIP!=$clientip) do={<br /> &nbsp; :delay 1<br /> &nbsp; :log info “UpdateDuckDNS: обнаружено изменение IP — с $ExternalIP на $clientip. Обновляю Duck DNS.”<br /> &nbsp; /tool fetch mode=https url=“<noindex><a href="https://www.duckdns.org/update?domains=exampledomain&amp;token=a7c4d0ad-114e-40ef-ba1d-d217904a50f2&amp;ip=$clientip" target="_blank" rel="nofollow" >https://www.duckdns.org/update?domains=exampledomain&amp;token=a7c4d0ad-114e-40ef-ba1d-d217904a50f2&amp;ip=$clientip</a></noindex>” dst-path=duckdns.txt;<br /> &nbsp; :delay 1<br /> &nbsp; :local result [/file get duckdns.txt contents]<br /> &nbsp; :log info “UpdateDuckDNS: результат обновления Duck DNS: $result”<br /> &nbsp; :set ExternalIP $clientip<br /> &nbsp;}<br /> &nbsp;:delay 5<br /> }<br />} <br />
			<i>18.04.2014 00:10:00, NevOZ.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427977</link>
			<guid>http://mikrotik.moscow/forum/forum57/88548-skript-obnovleniya-duckdns-_besplatnaya-alternativa-dyndns/message427977</guid>
			<pubDate>Fri, 18 Apr 2014 00:10:00 +0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
