<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Скрипт для разрешения DNS-имён и обновления списка адресов.]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Скрипт для разрешения DNS-имён и обновления списка адресов. форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 12 Aug 2026 09:52:23 -0400</pubDate>
		<item>
			<title>Скрипт для разрешения DNS-имён и обновления списка адресов.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284809">Скрипт для разрешения DNS-имён и обновления списка адресов.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Искал похожее решение и придумал свой скрипт. Хочу поделиться, вдруг кому-нибудь пригодится: [/Codebox]<br />Системный планировщик экспорта:<br />/system scheduler add interval=1m name=auto-add-static-routes on-event=Add-static-routes-from-DNS policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=dec/03/2018 start-time=21:47:34<br /><br />Системный скрипт:<br />Название: Add-static-routes-from-DNS (не забудь отредактировать шлюз и метку VRF так, как нужно тебе)<br />Этот скрипт разрешает заданные DNS-имена и добавляет маршруты для разрешенных IP-адресов.<br />Важно: отредактируй опции статических маршрутов, чтобы они соответствовали твоей сети! Можно также определить пользовательские маршруты. Пропускает добавление маршрутов, если они уже добавлены.<br />Создан в 2018 году chil.at<br /><br />Объявляем переменные<br />local dnsNames<br />local customRoutes<br />local ipAddress<br />local gateway<br />local type<br />local distance<br />local scope<br />local targetscope<br />local routingmark<br /><br />Определяем записи DNS<br />set dnsNames ($dnsNames , “ upgrade.mikrotik.com ”)<br />set dnsNames ($dnsNames , “ <noindex><a href="http://www.ubnt.com" target="_blank" rel="nofollow" >www.ubnt.com</a></noindex> ”)<br />set dnsNames ($dnsNames , “ security.debian.org ”)<br />set dnsNames ($dnsNames , “ security-cdn.debian.org ”)<br />set dnsNames ($dnsNames , “ ftp.us.debian.org ”)<br /><br />Определяем пользовательские статические маршруты<br />cloudflare DNS<br />set customRoutes ($customRoutes , “1.1.1.1/32”)<br />google DNS<br />set customRoutes ($customRoutes , “8.8.8.8/32”)<br /><br />Определяем опции статических маршрутов<br />set gateway “1.2.3.4@main”<br />set type “unicast”<br />set distance 200<br />set scope 30<br />set targetscope 10<br />set routingmark “VRF-MANAGEMENT”<br /><br />Не редактируйте ничего ниже!<br /><br />Очищаем кэш DNS и все AutoAdded маршруты (включай только временно, чтобы очистить в случае проблем)<br />#ip dns cache flush<br />#ip route remove [find comment~“AutoAdded”]<br />#log info “cleared DNS cache and all AutoAdded routes.”<br /><br />Устанавливаем максимальное TTL кэша DNS до 10 минут<br />#ip dns set cache-max-ttl=“10m”<br /><br />Устанавливаем статические маршруты из определенных пользовательских маршрутов<br />foreach route in=$customRoutes do={<br /> &nbsp; &nbsp;if ([ip route find dst-address=“$route” gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark] != “”) do {<br /> &nbsp; &nbsp; &nbsp; &nbsp;log debug “route exists to $route, skipping.”<br /> &nbsp; &nbsp;} else {<br /> &nbsp; &nbsp; &nbsp; &nbsp;ip route add dst-address=$route gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark comment=“AutoAdded”;<br /> &nbsp; &nbsp; &nbsp; &nbsp;log info (“route added to $route”);<br /> &nbsp; &nbsp;};<br />}<br /><br />Устанавливаем статические маршруты из определенных DNS-имен<br />foreach dnsName in=$dnsNames do={<br /> &nbsp; &nbsp;set ipAddress ([:resolve $dnsName])<br /> &nbsp; &nbsp;if ([ip route find dst-address=“$ipAddress/32” gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark] != “”) do {<br /> &nbsp; &nbsp; &nbsp; &nbsp;log debug “route exists to $ipAddress ($dnsName), skipping.”<br /> &nbsp; &nbsp;} else {<br /> &nbsp; &nbsp; &nbsp; &nbsp;ip route add dst-address=$ipAddress gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark comment=“AutoAdded for dnsName: $dnsName”;<br /> &nbsp; &nbsp; &nbsp; &nbsp;log info (“route added to $ipAddress ($dnsName)”);<br /> &nbsp; &nbsp;};<br />} <br />
			<i>04.12.2018 01:48:00, vchrizz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284809</link>
			<guid>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284809</guid>
			<pubDate>Tue, 04 Dec 2018 01:48:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для разрешения DNS-имён и обновления списка адресов.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284808">Скрипт для разрешения DNS-имён и обновления списка адресов.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, может, скрипт вроде этого поможет в подобной ситуации? <noindex><a href="http://forum.mikrotik.com/t/how-to-nat-from-a-hostname/15922/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/how-to-nat-from-a-hostname/15922/1</a></noindex> Пока не решил. Спасибо! <br />
			<i>25.04.2008 20:55:00, sergiom99.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284808</link>
			<guid>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284808</guid>
			<pubDate>Fri, 25 Apr 2008 20:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для разрешения DNS-имён и обновления списка адресов.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284807">Скрипт для разрешения DNS-имён и обновления списка адресов.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо! Я немного подкорректирую, но это отличное начало! Еще раз спасибо. Джо. <br />
			<i>28.02.2007 17:19:00, palmczak.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284807</link>
			<guid>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284807</guid>
			<pubDate>Wed, 28 Feb 2007 17:19:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для разрешения DNS-имён и обновления списка адресов.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284806">Скрипт для разрешения DNS-имён и обновления списка адресов.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Может быть, это поможет… Скрипт перебирает все записи в списке адресов (в данном примере называется "testlist") и обновляет связанные с ними IP-адреса. Он сделан так, чтобы комментарий к записи списка адресов содержал DNS-имя записи (например, "myhomeoffice.dyndns.org" или "www.mikrotik.com" или что-то еще). При запуске скрипт разрешает комментарий списка адресов как имя хоста и помещает IP-адрес в поле адреса записи. После этого идет второй цикл, отключающий все записи списка адресов, которые теперь имеют "0.0.0.0" в качестве адреса (что означает, что разрешение DNS не удалось по какой-либо причине). Вы можете запускать его каждую минуту из планировщика, например:<br />```<br />:foreach a in=[/ip firewall address-list find list=testlist] do={<br /> &nbsp;/ip firewall address-list set $a address=[:resolve [/ip firewall address-list get $a comment]]<br />}<br />:foreach a in=[/ip firewall address-list find address=0.0.0.0] do={<br /> &nbsp;/ip firewall address-list set $a disabled=yes<br />}<br />```<br />С наилучшими пожеланиями, Christian Meis <br />
			<i>28.02.2007 16:39:00, cmit.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284806</link>
			<guid>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284806</guid>
			<pubDate>Wed, 28 Feb 2007 16:39:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для разрешения DNS-имён и обновления списка адресов.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284805">Скрипт для разрешения DNS-имён и обновления списка адресов.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Прошу прощения, если это уже обсуждалось. Я потратил время на поиски, но не нашёл решения. У нас используется цепочка правил файрвола, чтобы блокировать попытки входа в роутер с небезопасных IP-адресов. Проблема в том, что у нас есть несколько сайтов, которые сейчас используют динамический IP и DDNS для обновления ChangeIp. Я ищу скрипт, который разрешает список DNS-имён и обновляет список адресов (список доверенных IP-адресов) IP-адресами, к которым они разрешаются. Было бы здорово проверить список на наличие адресов, чтобы не добавлять их повторно. Спасибо. <br />
			<i>22.02.2007 00:13:00, palmczak.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284805</link>
			<guid>http://mikrotik.moscow/forum/forum57/71444-skript-dlya-razresheniya-dns_imyen-i-obnovleniya-spiska-adresov./message284805</guid>
			<pubDate>Thu, 22 Feb 2007 00:13:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
