<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Скрипт аренды DHCP для поддержки кэша DNS]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Скрипт аренды DHCP для поддержки кэша DNS форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 03 Aug 2026 08:35:05 -0400</pubDate>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390109">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Недавно я связался с командой поддержки Mikrotik с предложением добавить возможность запуска скрипта аренды при её продлении. В ответ мне сообщили, что такая функция может быть реализована, если поступит больше похожих запросов. Поэтому, пожалуйста, отправьте сообщение в службу поддержки, если вас интересует такая доработка запуска скриптов аренды. <br />
			<i>22.09.2021 15:12:00, reddot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390109</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390109</guid>
			<pubDate>Wed, 22 Sep 2021 15:12:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390108">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Похоже на похожий случай с обратным слэшем в Unicode CSS, экранированным (шестнадцатеричным) способом. То есть, на самом деле, основная кодировка — ASCII. Например, «é» превращается в \E9. <br />
			<i>04.05.2017 00:15:00, FIPTech.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390108</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390108</guid>
			<pubDate>Thu, 04 May 2017 00:15:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390107">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, попробую так сделать. Файл .rsc — это текстовый файл в формате UTF8? Я собираюсь зайти в WebFig и посмотреть, смогу ли импортировать его там, а иначе, наверное, придётся запускать WinBox. <br />
			<i>03.05.2017 19:55:00, idlemind.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390107</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390107</guid>
			<pubDate>Wed, 03 May 2017 19:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390106">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты также можешь использовать Webfig, чтобы скопировать и вставить скрипт. Если потом понадобится применить его на других роутерах, экспортируй конфигурацию DHCP через SSH или Telnet консоль командой: /ip dhcp-server export file=dhcp-config.rsc. Потом забери этот файл, например через FTP, отредактируй его в Notepad++ или похожем редакторе, чтобы убрать ненужные вещи, и скопируй на другие роутеры. После этого импортируй его снова через Telnet или SSH консоль командой: import file=dhcp-config.rsc. Так тебе не придется вручную экранировать lease-скрипт — экспорт/импорт сделает всё за тебя. <br />
			<i>03.05.2017 17:48:00, FIPTech.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390106</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390106</guid>
			<pubDate>Wed, 03 May 2017 17:48:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390105">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, никак просто вставить это вне WinBox, да? <br />
			<i>03.05.2017 16:24:00, idlemind.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390105</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390105</guid>
			<pubDate>Wed, 03 May 2017 16:24:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390104">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Да, думаю, ты просто можешь скопировать и вставить это в окно скрипта аренды DHCP сервера в Winbox. Я только что снова попробовал, и то, что я писал в предыдущем сообщении, не совсем точно. На самом деле скрипт срабатывает при освобождении DHCP. Вот новая версия скрипта с возможностью удаления DNS-записи, когда клиент освобождает DHCP.<br /><br /># DNS запись для аренды DHCP<br /><br />:local topdomain;<br />:local FullHostName;<br />:local NoUpdate false;<br /><br /># Настройте свой домен<br />:set topdomain "yourdomain.com";<br /><br />:set FullHostName ($"lease-hostname" . "." . $topdomain)<br /><br />/ip dns static;<br /><br />:if ($leaseBound = 1) do={<br /><br />:foreach n in [find] do={<br /># Если статическая DNS-запись совпадает с арендой, оставляем её и ставим флаг, чтобы избежать обновления DNS<br />:if (([get $n name] = $"FullHostName") and ([get $n address] = $leaseActIP)) do={<br />:set NoUpdate true;<br />} else={<br /># Если уже есть DNS-запись с таким же полным доменным именем или адресом — удаляем её<br />:if (([get $n name] = $"FullHostName") or ([get $n address] = $leaseActIP)) do={<br /> &nbsp; :log info ("Удаляю из статического DNS: " . [get $n name] .  " @ " . [get $n address]);<br /> &nbsp; &nbsp;remove $n;<br /> &nbsp;}<br /> }<br />}<br /># Добавляем новую статическую DNS-запись, если нужно<br />:if ($NoUpdate = false) do={<br />:log info ("Добавляю в статический DNS: " . $"FullHostName" . &nbsp;" @ " . $leaseActIP);<br />add name=($"lease-hostname" . "." . $topdomain) address=$leaseActIP;<br /> }<br /># Удаляем DNS-запись при освобождении DHCP:<br />} else={<br />:log info ("Очищаю статическую DNS-запись при освобождении DHCP: " . $"FullHostName" . " @ " . $leaseActIP);<br />:foreach n in [find] do={<br />:if (([get $n name] = $"FullHostName") and ([get $n address] = $leaseActIP)) do={<br />remove $n;<br /> &nbsp;}<br /> }<br />} <br />
			<i>03.05.2017 14:26:00, FIPTech.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390104</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390104</guid>
			<pubDate>Wed, 03 May 2017 14:26:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390103">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, какой самый эффективный способ «установить» это в RouterOS? Желательно через командную строку. Наверное, нельзя просто скопировать и вставить, да? <br />
			<i>03.05.2017 13:31:00, idlemind.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390103</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390103</guid>
			<pubDate>Wed, 03 May 2017 13:31:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390102">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Вот скрипт, который я написал для обновления статических записей DNS из DHCP-аренд. Его нужно вставить в скрипт аренды DHCP. По вопросу загрузки скрипта у меня ответа нет. Для работы необходима версия Router OS не ниже 6.39. Будьте осторожны при использовании на большом наборе DNS — он может удалять записи. Скрипт создан, чтобы поддерживать чистый локальный DNS без дублирующихся адресов и доменных имён.<br /><br />Проблема с таким скриптом аренды DHCP в том, что он срабатывает только при установке связи с клиентом. Это значит, что если клиент просто обновляет аренду, а имя домена клиента изменилось, DNS не обновится. Даже если аренда обновится в конце периода, скрипт не выполнится. Было бы здорово, если бы скрипт аренды мог срабатывать и на другие события DHCP, а не только на bound (renew, release и т.д.), чтобы можно было обновлять и удалять записи DNS при изменениях или освобождении аренды DHCP.<br /><br />Дайте знать, если найдёте решение этой проблемы.<br /><br /># Записать статическую DNS-запись для каждой аренды DHCP<br /><br />:local topdomain;<br />:local FullHostName;<br />:local NoUpdate false;<br /><br /># Настройте ваш домен<br />:set topdomain "yourdomain.com";<br /><br />:if ($leaseBound = 1) do={<br /><br /> &nbsp;:set FullHostName ($"lease-hostname" . "." . $topdomain)<br /><br /> &nbsp;/ip dns static;<br /><br /> &nbsp;:foreach n in [find] do={<br /> &nbsp; &nbsp;# Если статическая запись DNS совпадает с арендой — не трогаем и помечаем, чтобы не обновлять<br /> &nbsp; &nbsp;:if (([get $n name] = $"FullHostName") and ([get $n address] = $leaseActIP)) do={<br /> &nbsp; &nbsp; &nbsp;:set NoUpdate true;<br /> &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp;# Если существует запись с таким же FQDN или с таким же адресом — удаляем<br /> &nbsp; &nbsp; &nbsp;:if (([get $n name] = $"FullHostName") or ([get $n address] = $leaseActIP)) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:log info ("Удаляем из статического DNS: " . [get $n name] .  " @ " . [get $n address]);<br /> &nbsp; &nbsp; &nbsp; &nbsp;remove $n;<br /> &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp;}<br /> &nbsp;}<br /><br /> &nbsp;# Добавляем новую статическую запись DNS при необходимости<br /> &nbsp;:if ($NoUpdate = false) do={<br /> &nbsp; &nbsp;:log info ("Добавляем в статический DNS: " . $"FullHostName" . &nbsp;" @ " . $leaseActIP);<br /> &nbsp; &nbsp;add name=($"lease-hostname" . "." . $topdomain) address=$leaseActIP;<br /> &nbsp;}<br /><br />} <br />
			<i>03.05.2017 13:23:00, FIPTech.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390102</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390102</guid>
			<pubDate>Wed, 03 May 2017 13:23:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт аренды DHCP для поддержки кэша DNS</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390101">Скрипт аренды DHCP для поддержки кэша DNS</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я изучал разные скрипты, чтобы обновлять локальный DNS кэш на основе DHCP-аренды. Хотя, на мой взгляд, это должно «просто работать», как в OpenWRT с dnsmasq, мне нужна рабочая версия прямо сейчас. Просматривая несколько вариантов, собранных сообществом, для меня упускается важная деталь — как лучше всего установить lease-script. Похоже, что если вставлять его в устройство через SSH, приходится вручную добавлять символы переноса строки \r\n и экранировать кавычки. Есть ли более удобный способ загрузить скрипт и затем указать его как файл при выборе lease-script? <br />
			<i>05.04.2017 13:52:00, idlemind.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390101</link>
			<guid>http://mikrotik.moscow/forum/forum57/84793-skript-arendy-dhcp-dlya-podderzhki-kesha-dns/message390101</guid>
			<pubDate>Wed, 05 Apr 2017 13:52:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
