<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Проверка значений рекурсивного маршрута]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Проверка значений рекурсивного маршрута форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 01 Aug 2026 08:16:30 -0400</pubDate>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423030">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@Amm0, огромное спасибо! Это реально помогло. Теперь всё работает. Я продолжу писать скрипт, который заменит то, что я делал раньше. Пример для других:<br /><br /># Имя: onGatewayChange. Тестировано с ROS v7.9.2 &nbsp;<br /># Добавьте в Scheduler и настройте на запуск каждые X секунд &nbsp;<br /># <noindex><a href="http://forum.mikrotik.com/t/checking-recursive-route-values/167746/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/checking-recursive-route-values/167746/1</a></noindex> &nbsp;<br /><br /># переменные для проверки маршрутов и других настроек &nbsp;<br />:local Route1 "8.8.8.8"; &nbsp;<br />:local Route2 "9.9.9.9"; &nbsp;<br />:local Route3 "10.10.10.10"; &nbsp;<br />:local ISP1 "ISP1"; &nbsp;<br />:local ISP2 "ISP2"; &nbsp;<br /><br />##################################################################### &nbsp;<br /># НАЧАЛО СКРИПТА &nbsp;<br />##################################################################### &nbsp;<br /><br /># Системные переменные &nbsp;<br />:global GWORG; &nbsp;<br />:global GWCUR; &nbsp;<br />:local bFlag true; &nbsp;<br /><br /># Получаем текущий адрес шлюза &nbsp;<br />:set GWCUR ([/ip route print detail as-value where active and routing-table="main"]-&gt;0-&gt;"gateway")  <br /><br /># 1: Всё ли осталось так же? Иначе ничего делать не нужно. &nbsp;<br />:if ( $GWCUR = $GWORG ) do={ &nbsp;<br /><br /> &nbsp; &nbsp;# Ничего делать не надо. Окружение не изменилось. &nbsp;<br /> &nbsp; &nbsp;#:log info "Нечего делать"; &nbsp;<br /> &nbsp; &nbsp;:set bFlag false; &nbsp;<br /><br />} else={ &nbsp;<br /><br /> &nbsp; &nbsp;:log info "*** onGatewayChange ***"; &nbsp;<br /><br /> &nbsp; &nbsp;# Что-то изменилось. Мы на ISP1? &nbsp;<br /> &nbsp; &nbsp;:if ( ($GWCUR = $Route1) || ($GWCUR = $Route2) ) do={ &nbsp;<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp;# Всё ещё на ISP1, а до этого тоже на ISP1? &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if ( ($GWORG = $Route1) || ($GWORG = $Route2) ) do={ &nbsp;<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Это изменение значит, что мы всё ещё на ISP1. Обновлять не нужно. &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log info "Ещё на ISP1. Маршрут был $GWORG, теперь $GWCUR"; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set bFlag false; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp;# Всё ещё на ISP1, а пришли мы с ISP2? &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if ( $GWORG = $Route3 ) do={ &nbsp;<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Это изменение означает возврат к ISP1. Сигнал на обновление. &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log info "Возврат к ISP1. Маршрут был $GWORG, теперь $GWCUR"; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set bFlag true; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br /><br /> &nbsp; &nbsp;# Что-то изменилось. Мы на ISP2? &nbsp;<br /> &nbsp; &nbsp;:if ( $GWCUR = $Route3 ) do={ &nbsp;<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp;# Пришли ли мы с ISP1? &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if ( ($GWORG = $Route1) || ($GWORG = $Route2) ) do={ &nbsp;<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Режим резервного копирования на ISP2 &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:log info "Режим резервного копирования на ISP2. Маршрут был $GWORG, теперь $GWCUR"; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set bFlag true; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br /><br />} &nbsp;<br /><br /># Выполняем переключение &nbsp;<br />:if ($bFlag = true) do={ &nbsp;<br /><br /> &nbsp; &nbsp;# логируем изменения &nbsp;<br /> &nbsp; &nbsp;:log info "Обработка события"; &nbsp;<br /><br /> &nbsp; &nbsp;# Реакция в зависимости от ISP &nbsp;<br /> &nbsp; &nbsp;:if ( ($GWCUR = $Route1) || ($GWCUR = $Route2) ) do={ &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:log info "Делаем что-то, теперь вы на ISP1." &nbsp;<br /> &nbsp; &nbsp;} else={ &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:log info "Делаем что-то, теперь вы на ISP2." &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br />} &nbsp;<br /><br /># Обновляем глобальную переменную &nbsp;<br />:set $GWORG $GWCUR; <br />
			<i>26.07.2023 15:55:00, pcunite.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423030</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423030</guid>
			<pubDate>Wed, 26 Jul 2023 15:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423029">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Почти... Думаю, это был долгий путь, чтобы сказать следующее: :put ([/ip route print detail as-value where comment="Example" and active and routing-table="main"]-&gt;0-&gt;"gateway"). Всегда нужны (скобки), если используешь оператор →. И, если используешь as-value, ничего не выведется, поэтому на командной строке нужен :put, чтобы увидеть значение. Можно сохранить как :local или :global без :put.<br /><br />:global gw0 ([/ip route print detail as-value where comment="Example" and active and routing-table="main"]-&gt;0-&gt;"gateway")<br /><br />:put $gw0<br /><br />Или разбить так…<br /><br />:global rtall ([/ip route print detail as-value where active and routing-table=main and comment~".*"])<br /><br /># показываем длину (например, количество маршрутов, которые соответствуют условию "where")<br /><br />:put [:len $rtall]<br /><br /># первое совпадение...<br /><br />:put ($rtall-&gt;0-&gt;"gateway")<br /><br />:put ($rtall-&gt;0-&gt;"dst-address")<br /><br /># второе совпадение<br /><br />:put ($rtall-&gt;1-&gt;"gateway")<br /><br />:put ($rtall-&gt;1-&gt;"dst-address") <br />
			<i>26.07.2023 00:44:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423029</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423029</guid>
			<pubDate>Wed, 26 Jul 2023 00:44:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423028">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Не мог бы ты показать мне универсальную версию этой команды, которая работает в терминале? У меня с этим трудности. /ip route print detail as-value where comment=“Example” and active and routing-table=“main”])-&gt;0-&gt;“gateway” <br />
			<i>26.07.2023 00:03:00, pcunite.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423028</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423028</guid>
			<pubDate>Wed, 26 Jul 2023 00:03:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423027">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Не уверен, что ваша логика полностью верна, и не уверен, что мой код тоже идеален, даже если бы был — у меня нет настроенного RR для теста… Но вот что я заметил с первого взгляда.<br /><br />Имя: onGatewayChange &nbsp;<br />Добавить в Scheduler и запускать каждые 10 секунд &nbsp;<br /><br />&gt; Проверка значений Recursive Route, переменные для хранения проверок маршрутов и других данных: &nbsp;<br />:local &nbsp;sHost1 &nbsp; &nbsp; &nbsp;“8.8.8.8”; &nbsp;<br />:local &nbsp;sHost2 &nbsp; &nbsp; &nbsp;“9.9.9.9”; &nbsp;<br />:local &nbsp;sHost1Str &nbsp; “ISP1_GW”; &nbsp;<br />:local &nbsp;sHost2Str &nbsp; “ISP2_GW”; &nbsp;<br /><br />Глобальные переменные для мониторинга через System/Scripts GUI: &nbsp;<br />:global sGateway1; &nbsp;<br />:global sGateway2; &nbsp;<br /><br />Получить текущее значение шлюза: &nbsp;<br />:local sGateway1Current &gt; ( &gt; [ip route print &gt; as-value &gt; where comment=“$sHost1Str” and active and routing-table=“main”]&gt; )-&gt;0-&gt;“gateway”)  <br /><br />Отладка: &nbsp;<br />:log info “Start”; &nbsp;<br />:log info “$sGateway1Current”; &nbsp;<br /><br />1: Текущее состояние окружения: &nbsp;<br />:if ( ($sGateway1Current = $sHost1) || ($sGateway1Current = $sHost2) ) do={ &nbsp;<br /> &nbsp;:log info “$sGateway1Current”; &nbsp;<br /> &nbsp;:log info “$sHost1Str в работе”; &nbsp;<br />} else={ &nbsp;<br /> &nbsp;:if &gt; ( [:typeof $sGateway1Current] = nothing ) &gt; do={  <br /> &nbsp; &nbsp; :log info “$sHost1Str пуст, значит скорее всего активен маршрут 2”; &nbsp;<br /> &nbsp; &nbsp; // делаем другие действия &nbsp;<br /> &nbsp;} &nbsp;<br />} &nbsp;<br /><br />\ debug :log info “Finished”; &nbsp;<br /><br />Возможно, лучше сначала ответить на первую часть вашего вопроса… Учить человека рыбачить… Может, это поможет… &nbsp;<br /><br />В общем, всегда нужно использовать “-&gt;” (оператор доступа), обязательно обрамлённый скобками (), чтобы группировать, к какому элементу массива происходит обращение. Сам оператор доступа может принимать число или строку — в зависимости от структуры массива. &nbsp;<br /><br />Структура массива может быть либо “упорядоченным списком”, либо “словарием” (map). &nbsp;<br /><br />Упорядоченный список имеет порядок, который не меняется, и начинается с индекса 0. &nbsp;<br /><br />В словарной структуре есть “ключи” и “значения”. &nbsp;<br /><br />Аналогия с конфигом: команда “find” создаёт упорядоченный список, а “get” (без атрибута) возвращает словарь. &nbsp;<br /><br />Пара примеров поможет понять философию массивов… &nbsp;<br /><br />Простой пример упорядоченного списка: &nbsp;<br />{ &nbsp;<br /># упорядоченные списки объявляются в {} через ; и могут содержать данные любых типов &nbsp;<br />:local orderedList {"cat";"dog";3;8.8.8.8} &nbsp;<br /><br />:put ($orderedList-&gt;0) &nbsp;<br />#cat &nbsp;<br />:put ($orderedList-&gt;1) &nbsp;<br />#dog &nbsp;<br />:put ($orderedList-&gt;2) &nbsp;<br />#3 &nbsp;<br />:put [:typeof ($orderedList-&gt;3)]  <br />#ip &nbsp;<br />:put [:typeof ($orderedList-&gt;4)]  <br />#nothing — ведь такого индекса нет, и тип у него на самом деле <i>ничего</i>, а не строка или что-то другое... &nbsp;<br />} &nbsp;<br /><br />Пример — получение первого элемента из массива, возвращённого командой &nbsp;<br />print обычно выводит в консоль и по умолчанию не возвращает массив, поэтому нужно использовать “as-value”, чтобы заставить её вернуть массив. При использовании “as-value” возращается упорядоченный список, к которому обращаются по числу. Значит -&gt;0 — это первый элемент массива… &nbsp;<br /><br />:put ([/ip route print as-value where active]-&gt;0)  <br /><br />Но что если список пуст… Так как может не быть активных маршрутов… тогда нужно хранить и проверять это: &nbsp;<br />{ &nbsp;<br />:local allRoutes [/ip route print as-value where active]  <br /># один способ — использовать :len, чтобы понять, нужно ли брать первый элемент… &nbsp;<br />:if ([:len $allRoutes] &gt; 0) do={:put ($allRoutes-&gt;0)}  <br /># или проверить, что по типу это не “ничего”... &nbsp;<br />:if ([:typeof ($allRoutes-&gt;0)] != "nothing") do={:put ($allRoutes-&gt;0))  <br />} &nbsp;<br /><br />Простой пример словаря (map), например, с “ключ=значение” &nbsp;<br />Они работают так, что задаётся ключ (имя атрибута) через = и значение, атрибуты разделяются точкой с запятой. Часть до = — к ней обращаются, часть после = — что возвращается. Нужно брать имя атрибута в кавычки. Индексы вроде -&gt;0 для “первого” атрибута использовать нельзя — словарь хранится в алфавитном порядке и не имеет индекса. &nbsp;<br /><br />{ &nbsp;<br />:local vlanspecs {vid=10;type="access"} &nbsp;<br />:put ($vlanspecs-&gt;"vid") &nbsp;<br />:put ($vlanspecs-&gt;"type") &nbsp;<br />:put [:typeof ($vlanspecs-&gt;"somethingnotthere")]  <br />} &nbsp;<br /><br />Список словарей — или цикл по таблице маршрутов &nbsp;<br />Для веселья… массивы могут быть “вложенными” — список может содержать в себе словарь как один из элементов. Правило одно: на любом “уровне” у массива либо список, либо словарь — одновременно нельзя. Но список может содержать словари в качестве значений, а словарь может иметь значения в виде списка (или даже другого словаря). &nbsp;<br /><br />Упорядоченный список — это то, что возвращает “print as-value”. Внутри списка — словарь с атрибутами. &nbsp;<br /><br />RouterOS :foreach поможет перебрать все значения из “списка словарей” (list): &nbsp;<br /><br />{ &nbsp;<br /> &nbsp; &nbsp;:foreach foundItem in=[/ip/route/print as-value] do={  <br /> &nbsp; &nbsp; &nbsp; &nbsp;# вывести все атрибуты текущего маршрута в цикле &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:put $foundItem &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;# вывести только атрибут comment — обратите внимание на кавычки, потому что каждый маршрут — это словарь &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:put ($foundItem-&gt;"comment") &nbsp;<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp;# так как $foundItem — это словарь… &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;# можно пройтись и получить И имя атрибута, И значение для текущего маршрута &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:foreach routeAttr,attrValue in=$foundItem do={ &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:put "$routeAttr установлено в $attrValue" &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br />} &nbsp;<br /><br />Сообщите, если будут ещё вопросы. <br />
			<i>25.07.2023 19:54:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423027</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423027</guid>
			<pubDate>Tue, 25 Jul 2023 19:54:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423026">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@Ammo, большое спасибо. Кажется, я нашёл для себя обходной путь. Как только всё сделаю, выложу. А пока можешь помочь с частью скрипта? Ниже мой пример скрипта. Вопросы: я не знаю, как выбирать данные в ROS. В логике примера показано, как получить данные ip route для рекурсивного маршрута ISP1 (по совпадению комментария и активного состояния). Это даёт мне таблицу данных. Хотелось бы из этой таблицы выбрать только столбец GATEWAY, если это возможно, чтобы получить простую строку (не массив). Круто, что если команда вернёт пустую строку, значит я не на рекурсивном маршруте ISP1. Это всего лишь пример, позже покажу более сложную логику, как запущу. Поможешь, чтобы этот скрипт работал?<br /><br /># Name: onGatewayChange &nbsp;<br /># Добавить в планировщик и запускать каждые 10 секунд &nbsp;<br /># <noindex><a href="http://forum.mikrotik.com/t/checking-recursive-route-values/167746/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/checking-recursive-route-values/167746/1</a></noindex><br /><br /># переменные для проверки маршрутов и прочего &nbsp;<br />:local sHost1 "8.8.8.8"; &nbsp;<br />:local sHost2 "9.9.9.9"; &nbsp;<br />:local sHost1Str "ISP1_GW"; &nbsp;<br />:local sHost2Str "ISP2_GW";<br /><br /># глобальные переменные для мониторинга через System/Scripts GUI &nbsp;<br />:global sGateway1; &nbsp;<br />:global sGateway2;<br /><br /># получаем текущее значение шлюза &nbsp;<br />:local sGateway1Current [ip route print where comment="$sHost1Str" and active and routing-table="main"];<br /><br /># отладка &nbsp;<br />:log info "Start"; &nbsp;<br />:log info "$sGateway1Current";<br /><br /># 1: текущее состояние среды &nbsp;<br />:if (($sGateway1Current = $sHost1) || ($sGateway1Current = $sHost2)) do={ &nbsp;<br /> &nbsp; &nbsp;:log info "$sGateway1Current"; &nbsp;<br /> &nbsp; &nbsp;:log info "$sHost1Str активен"; &nbsp;<br />} else={ &nbsp;<br /> &nbsp; &nbsp;:if ($sGateway1Current = "") do={ &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:log info "$sHost1Str пустой, значит скорее всего активен маршрут 2"; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;# делать другое &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br />}<br /><br /># отладка &nbsp;<br />:log info "Finished"; <br />
			<i>25.07.2023 18:01:00, pcunite.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423026</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423026</guid>
			<pubDate>Tue, 25 Jul 2023 18:01:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423025">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			В версии V7 убрали команду «/ip route check». Полагаю, в V6 она использовала кэш маршрутов, а поскольку в V7 кэша маршрутов нет, команду просто убрали, вместо того чтобы исправлять. Очень неудобно в ситуациях с «multi-WAN», особенно когда речь идёт о рекурсивных маршрутах. Подробнее здесь: <noindex><a href="http://forum.mikrotik.com/t/ip-route-check-command-disappeared/141645/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/ip-route-check-command-disappeared/141645/1</a></noindex> <br />
			<i>23.07.2023 17:20:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423025</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423025</guid>
			<pubDate>Sun, 23 Jul 2023 17:20:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423024">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Как определить, какой рекурсивный маршрут активен? <br />
			<i>19.07.2023 18:43:00, pcunite.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423024</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423024</guid>
			<pubDate>Wed, 19 Jul 2023 18:43:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проверка значений рекурсивного маршрута</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423023">Проверка значений рекурсивного маршрута</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я использовал следующий кусок скрипта, чтобы получить статус рекурсивных маршрутов в настройках MultiWAN. Отлично работает на ROS v6, но уже не совместим с ROS v7. Я использую эти значения, чтобы определить, какой рекурсивный маршрут сейчас активен/используется по умолчанию, а затем вношу изменения в другие части роутера. Может, есть более правильный способ сделать это? Кто-нибудь знает, как теперь получить эту информацию? В ROS v7 как узнать, какой рекурсивный маршрут является маршрутом по умолчанию?<br /><br /># Переменные маршрута &nbsp;<br />:local sHost1 "8.8.8.8"; &nbsp;<br />:local sHost2 "9.9.9.9";<br /><br /># Получить текущие адреса шлюзов &nbsp;<br />:local sGWCur1 [ip route get [find active=yes 0.0.0.0/0 in dst-address !routing-mark] gateway]  <br />:local sGWCur2 ([ip route check $sHost1 once as-value]-&gt;"nexthop")  <br />:local sGWCur3 ([ip route check $sHost2 once as-value]-&gt;"nexthop") <br />
			<i>29.06.2023 22:37:00, pcunite.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423023</link>
			<guid>http://mikrotik.moscow/forum/forum57/88058-proverka-znacheniy-rekursivnogo-marshruta/message423023</guid>
			<pubDate>Thu, 29 Jun 2023 22:37:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
