<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Скрипт обновления динамического DNS от Google]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Скрипт обновления динамического DNS от Google форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 05 Aug 2026 02:39:58 -0400</pubDate>
		<item>
			<title>Скрипт обновления динамического DNS от Google</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386488">Скрипт обновления динамического DNS от Google</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, у меня похожая проблема, я использую: /tool fetch http-header-field="User-Agent: Mikrotik" url="https://$GoogleDNSUsername:$GoogleDNSPassword@domains.google.com/nic/update?hostname=$hostName&myip=$currentIP" mode=https dst-path=GoogleDNS.txt И большое спасибо за этот скрипт! RafaG <br />
			<i>11.07.2020 06:14:00, RafaG.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386488</link>
			<guid>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386488</guid>
			<pubDate>Sat, 11 Jul 2020 06:14:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления динамического DNS от Google</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386487">Скрипт обновления динамического DNS от Google</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Что если у меня несколько WAN и я хочу использовать разные Google DDNS для каждого WAN.. Это возможно? И если да, то как это можно настроить? Спасибо. <br />
			<i>18.05.2020 15:39:00, ch85.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386487</link>
			<guid>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386487</guid>
			<pubDate>Mon, 18 May 2020 15:39:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления динамического DNS от Google</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386486">Скрипт обновления динамического DNS от Google</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, команда! Я использовал этот скрипт, но постоянно получаю ответ с сообщением «badagent». Неужели я что-то пропустил в скрипте? Спасибо, B <br />
			<i>18.07.2019 20:12:00, tugsynz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386486</link>
			<guid>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386486</guid>
			<pubDate>Thu, 18 Jul 2019 20:12:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления динамического DNS от Google</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386485">Скрипт обновления динамического DNS от Google</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это отличный скрипт, спасибо автору за исходный вариант (и всем, кто внес изменения и выложил их здесь)! Моя версия и изменения проверены и работают на rOS 6.40.4 с Google Domains (Synthetic Records → Dynamic DNS). Ниже приведены изменения, которые я внес — возможно, они помогут кому-то ещё. Скрипт делает именно то, что мне нужно: берёт текущий публичный IP с интерфейса DHCP-клиента, убирает трёхсимвольную маску подсети и безопасно отправляет его в динамический DNS Google Domains.<br /><br />В сниппете я «нахожу» нужный dhcp-client по комментарию, который добавил к этому dhcpClient (я использую заготовленный комментарий — если я когда-нибудь сменю имя интерфейса ether3, скрипт всё равно будет работать). Важно: многие адреса, которые вы получаете из ROS, содержат маску подсети, например команда /ip dhcp-client get возвращает: 5.3.2.6/21. Поэтому в коде ниже эта /21 (или любая другая маска) удаляется, если она есть.<br /><br />Мои изменения в исходном скрипте начинаются с: get the current… и заканчиваются на #:log info ("currentIP…<br /><br />НЕ ЗАБУДЬТЕ добавить этот скрипт в /system scheduler, чтобы он запускался автоматически с нужным интервалом, пример расписания снизу.<br /><br /># Спасибо hhspiny<br /><br /># Переменные &nbsp;<br /># Имя пользователя и пароль — длинные сложные ключи, которые Google Domains генерирует для вашего dynDomain, &nbsp;<br /># ЭТО НЕ ваши обычные логин и пароль от аккаунта Google &nbsp;<br /><br />:local GoogleDNSUsername "xxFILL_IN_YOURSxx" &nbsp;<br />:local GoogleDNSPassword "xxFILL_IN_YOURSxx" &nbsp;<br />:local hostName "xxxFILL_IN_YOURS_full__ex__DYN.MYDOMAIN.COMxxx" &nbsp;<br />:local currentIP "" &nbsp;<br />:local setResults "" &nbsp;<br />:local previousIP "" &nbsp;<br /><br /># Получаем текущий IP адрес с dhcp-клиента, идентифицированного по заранее заданному КОММЕНТАРИЮ, ЗАПОЛНИТЕ НИЖЕ &nbsp;<br />:set currentIP [/ip dhcp-client get [find comment=XXXyourCommentXXX] address]  <br /><br /># Убираем маску подсети &nbsp;<br />:for i from=( [:len $currentIP] - 1) to=0 step=-1 do={  <br /> &nbsp;:if ( [:pick $currentIP $i] = "/") do={  <br /> &nbsp; &nbsp;:set currentIP [:pick $currentIP 0 $i]  <br /> &nbsp;} &nbsp;<br />} &nbsp;<br /><br /># Чтобы отладить команду получения IP, раскомментируйте строку ниже &nbsp;<br />#:log info ("currentIP_to_SEND_to_google_DEBUGGING: $currentIP") &nbsp;<br /><br />:set previousIP [:resolve "$hostName"]  <br /><br />:if ($currentIP != $previousIP) do={ &nbsp;<br /> &nbsp;:do { &nbsp;<br /> &nbsp; &nbsp;/tool fetch url="https://$GoogleDNSUsername:$GoogleDNSPassword@domains.google.com/nic/update?hostname=$hostName&myip=$currentIP" mode=https dst-path=GoogleDNS.txt &nbsp;<br /> &nbsp; &nbsp;:set setResults [/file get GoogleDNS.txt contents];  <br /> &nbsp; &nbsp;:log info ("GoogleDNS сказал следующее: $setResults") &nbsp;<br /> &nbsp;} on-error={ &nbsp;<br /> &nbsp; &nbsp;:log error ("GoogleDNS: скрипт не смог установить новый IP адрес") &nbsp;<br /> &nbsp;} &nbsp;<br />} &nbsp;<br /><br /># Пример планировщика, чтобы запускать это каждые 10 минут &nbsp;<br />/system scheduler add interval=10m name=SCHgoogleDYNdns on-event=YOURdynSCRIPTname <br />
			<i>23.10.2017 04:42:00, jo2jo.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386485</link>
			<guid>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386485</guid>
			<pubDate>Mon, 23 Oct 2017 04:42:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления динамического DNS от Google</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386484">Скрипт обновления динамического DNS от Google</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Вот моя модификация, которая использует /ip cloud для получения текущего адреса, убирает глобальную переменную для предыдущего адреса, используя :resolve, и сохраняет результаты от Google в лог. &nbsp;<br /># Переменные &nbsp;<br /># Имя пользователя и пароль — это длинные зашифрованные данные, которые предоставляет Google Domains, &nbsp;<br /># а не обычные данные вашей учетной записи Google &nbsp;<br />:local GoogleDNSUsername "yourDNSusername" &nbsp;<br />:local GoogleDNSPassword "yourDNSpassowrd" &nbsp;<br />:local hostName "yourhostname" &nbsp;<br />:local currentIP "" &nbsp;<br />:local setResults "" &nbsp;<br />:local previousIP "" &nbsp;<br /><br /># Скрипт &nbsp;<br /><br />:set currentIP [/ip cloud get public-address]  <br />:set previousIP [:resolve "$hostName"]  <br /><br />:if ($currentIP != $previousIP) do={ &nbsp;<br />:do { &nbsp;<br />/tool fetch url="https://$GoogleDNSUsername:$GoogleDNSPassword@domains.google.com/nic/update?hostname=$hostName&myip=$currentIP" mode=https dst-path=GoogleDNS.txt &nbsp;<br />:set setResults [/file get GoogleDNS.txt contents];  <br />:log info "GoogleDNS ответил так: $setResults" &nbsp;<br />} on-error={ &nbsp;<br />:log error ("GoogleDNS: скрипт не смог обновить IP-адрес") &nbsp;<br />} &nbsp;<br />} <br />
			<i>28.03.2015 23:02:00, craigthom.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386484</link>
			<guid>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386484</guid>
			<pubDate>Sat, 28 Mar 2015 23:02:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт обновления динамического DNS от Google</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386483">Скрипт обновления динамического DNS от Google</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Этот скрипт был адаптирован из скрипта для обновления entryDNS. Проверен на routerOS 6.x. &nbsp;<br />Переменные: &nbsp;<br />:local GoogleDNSUsername “xxx” &nbsp;<br />:local GOogleDNSPassword “xxx” &nbsp;<br />:local hostName “xxx” &nbsp;<br />:local GoogleDNSForceUpdate false &nbsp;<br />:local currentIP “” &nbsp;<br />:global previousIP &nbsp;<br /><br />Скрипт: &nbsp;<br />/tool fetch url=“<noindex><a href="http://myip.dnsomatic.com/" target="_blank" rel="nofollow" >http://myip.dnsomatic.com/</a></noindex>” mode=http dst-path=“publicip.txt” &nbsp;<br />:set currentIP [/file get “publicip.txt” contents]  <br />/file remove “publicip.txt” &nbsp;<br /><br />:if ([:typeof $previousIP] = “nothing”) do={  <br /> &nbsp;:set previousIP “” &nbsp;<br />} &nbsp;<br /><br />:if ($currentIP != $previousIP) do={ &nbsp;<br /> &nbsp;:set GoogleDNSForceUpdate true &nbsp;<br /> &nbsp;:set previousIP $currentIP &nbsp;<br />} &nbsp;<br /><br />:if ($GoogleDNSForceUpdate) do={ &nbsp;<br /> &nbsp;:do { &nbsp;<br /> &nbsp; &nbsp;/tool fetch url=“https://$GoogleDNSUsername:$GOogleDNSPassword@domains.google.com/nic/update?hostname=$hostName&myip=$currentIP” mode=https keep-result=no &nbsp;<br /> &nbsp; &nbsp;:log info (“GoogleDNS Updated: current IP = $currentIP”) &nbsp;<br /> &nbsp;} on-error={ &nbsp;<br /> &nbsp; &nbsp;:log error (“GoogleDNS: Failed Updating”) &nbsp;<br /> &nbsp;} &nbsp;<br />} <br />
			<i>27.01.2015 19:00:00, hhspiny.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386483</link>
			<guid>http://mikrotik.moscow/forum/forum57/84429-skript-obnovleniya-dinamicheskogo-dns-ot-google/message386483</guid>
			<pubDate>Tue, 27 Jan 2015 19:00:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
