<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Скрипт резервного переключения не возвращается на eth1]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Скрипт резервного переключения не возвращается на eth1 форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 14 Aug 2026 03:08:44 -0400</pubDate>
		<item>
			<title>Скрипт резервного переключения не возвращается на eth1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427759">Скрипт резервного переключения не возвращается на eth1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Процедура маршрутизации всегда выбирает самый подходящий активный маршрут. Если подходит несколько маршрутов, побеждает тот, у которого меньшее расстояние. <br />
			<i>19.11.2014 16:24:00, jarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427759</link>
			<guid>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427759</guid>
			<pubDate>Wed, 19 Nov 2014 16:24:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт резервного переключения не возвращается на eth1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427758">Скрипт резервного переключения не возвращается на eth1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это могло бы сработать, но почему тогда не проходит ping через второй интерфейс, у которого метрика выше, чем у первого? У меня несколько Mikrotik, и только на одном всё работает. В первом случае интернет приходит по DHCP, во втором у провайдера PPPoE. Если на интерфейсах стоят статические адреса — это не работает. Почему? <br />
			<i>19.11.2014 14:58:00, enman.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427758</link>
			<guid>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427758</guid>
			<pubDate>Wed, 19 Nov 2014 14:58:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт резервного переключения не возвращается на eth1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427757">Скрипт резервного переключения не возвращается на eth1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Зачем использовать такой огромный скрипт? Допустим, у вас есть два WAN-порта, оба с маскарадом. Для каждого порта у вас есть один маршрут по умолчанию: один с дистанцией 12, второй с дистанцией 13. Затем вы выбираете какой-то публичный IP, который хотите проверить через первый шлюз. Для него нужно задать статический маршрут с дистанцией 1. Также вы ставите на него статический маршрут-черную дыру с дистанцией 99. После этого настраиваете netwatch для проверки этого тестового IP. Если проверка не проходит, просто меняете дистанцию 12 у маршрута по умолчанию на 22 с помощью netwatch в состоянии «down»: /ip route set distance=22 [find distance=12]; Если тестовый IP становится доступен, меняете маршрут обратно с помощью того же netwatch в состоянии «up»: /ip route set distance=12 [find distance=22]; И всё. Аналогично можно сделать для второго маршрута или для любого количества WAN-портов, когда хотите организовать фейловер. <br />
			<i>18.11.2014 17:23:00, jarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427757</link>
			<guid>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427757</guid>
			<pubDate>Tue, 18 Nov 2014 17:23:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт резервного переключения не возвращается на eth1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427756">Скрипт резервного переключения не возвращается на eth1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У меня такая же проблема. Похоже, это происходит из-за того, что команда ping не может отправлять пакеты на IP-адреса через шлюз с маршрутом, у которого большее расстояние. То есть, как только увеличивается расстояние основного маршрута, оно уже никогда не уменьшается. Кто-нибудь знает подробности, как это заставить работать? <br />
			<i>18.11.2014 16:30:00, Antz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427756</link>
			<guid>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427756</guid>
			<pubDate>Tue, 18 Nov 2014 16:30:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт резервного переключения не возвращается на eth1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427755">Скрипт резервного переключения не возвращается на eth1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У меня была такая же проблема. Но у меня ещё была маскировка на оба Ethernet. Как ты это сделал? <br />
			<i>19.04.2014 16:29:00, VaxCavalera.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427755</link>
			<guid>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427755</guid>
			<pubDate>Sat, 19 Apr 2014 16:29:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт резервного переключения не возвращается на eth1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427754">Скрипт резервного переключения не возвращается на eth1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, я использовал скрипт failover с <noindex><a href="http://wiki.mikrotik.com/wiki/Failover_Scripting" target="_blank" rel="nofollow" >http://wiki.mikrotik.com/wiki/Failover_Scripting</a></noindex>. Теперь у меня проблема: переключение на резервное соединение автоматически происходит на eth2 и обратно не возвращается. Моя конфигурация:<br /><br /># ------------------- header -------------------<br /># Скрипт от Tomas Kirnak, версия 1.0.7<br /># Если вы используете этот скрипт или редактируете и<br /># повторно используете его, пожалуйста, сохраняйте этот заголовок.<br />#<br /># Для дополнительной информации и подробностей<br /># об этом скрипте посетите страницу вики по адресу<br /># <noindex><a href="http://wiki.mikrotik.com/wiki/Failover_Scripting" target="_blank" rel="nofollow" >http://wiki.mikrotik.com/wiki/Failover_Scripting</a></noindex><br /># ------------------- header -------------------<br /><br /><br /><br /># ------------- начало редактирования -------------<br /># Отредактируйте переменные ниже под свои нужды<br /><br /># Укажите имена WAN-интерфейсов<br />:local InterfaceISP1 ether1<br />:local InterfaceISP2 ether2<br /><br /># Укажите IP шлюзов (или имена интерфейсов в случае PPP)<br />:local GatewayISP1 192.168.0.1<br />:local GatewayISP2 192.168.1.1<br /><br /># Укажите хост для проверки пинга — сейчас: <noindex><a href="http://www.google.com" target="_blank" rel="nofollow" >www.google.com</a></noindex><br />:local PingTarget 173.194.113.55<br /><br /># Укажите, сколько неудачных пингов разрешено перед переключением<br />:local FailTreshold 3<br /><br /># Определите увеличение distance маршрута при сбое<br />:local DistanceIncrease 2<br /><br /># Редактирование скрипта ниже этого места может его сломать<br /># -------------- конец редактирования --------------<br /><br /><br /><br /># Объявляем глобальные переменные<br />:global PingFailCountISP1<br />:global PingFailCountISP2<br /><br /># Инициализация переменных PingFailCount, если скрипт запускается впервые<br />:if ([:typeof $PingFailCountISP1] = "nothing") do={:set PingFailCountISP1 0}<br />:if ([:typeof $PingFailCountISP2] = "nothing") do={:set PingFailCountISP2 0}<br /><br /># Эта переменная будет хранить результаты одиночных попыток пинга<br />:local PingResult<br /><br /><br /><br /># Проверяем ISP1<br />:set PingResult [ping $PingTarget count=1 interface=$InterfaceISP1]<br />:put $PingResult<br /><br />:if ($PingResult = 0) do={<br />	:if ($PingFailCountISP1 &lt; ($FailTreshold+2)) do={<br />		:set PingFailCountISP1 ($PingFailCountISP1 + 1)<br />		<br />		:if ($PingFailCountISP1 = $FailTreshold) do={<br />			:log warning "С ISP1 проблема на пути к $PingTarget — увеличиваем distance маршрутов."<br />			:foreach i in=[/ip route find gateway=$GatewayISP1 && static] do=\<br />				{/ip route set $i distance=([/ip route get $i distance] + $DistanceIncrease)}<br />			:log warning "Увеличение distance маршрутов завершено."<br />		}<br />	}<br />}<br />:if ($PingResult = 1) do={<br />	:if ($PingFailCountISP1 &gt; 0) do={<br />		:set PingFailCountISP1 ($PingFailCountISP1 - 1)<br />		<br />		:if ($PingFailCountISP1 = ($FailTreshold -1)) do={<br />			:log warning "ISP1 снова может достучаться до $PingTarget — возвращаем original distance маршрутов."<br />			:foreach i in=[/ip route find gateway=$GatewayISP1 && static] do=\<br />				{/ip route set $i distance=([/ip route get $i distance] - $DistanceIncrease)}<br />			:log warning "Возврат distance маршрутов завершён."<br />		}<br />	}<br />}<br /><br /><br /><br /># Проверяем ISP2<br />:set PingResult [ping $PingTarget count=1 interface=$InterfaceISP2]<br />:put $PingResult<br /><br />:if ($PingResult = 0) do={<br />	:if ($PingFailCountISP2 &lt; ($FailTreshold+2)) do={<br />		:set PingFailCountISP2 ($PingFailCountISP2 + 1)<br />		<br />		:if ($PingFailCountISP2 = $FailTreshold) do={<br />			:log warning "С ISP2 проблема на пути к $PingTarget — увеличиваем distance маршрутов."<br />			:foreach i in=[/ip route find gateway=$GatewayISP2 && static] do=\<br />				{/ip route set $i distance=([/ip route get $i distance] + $DistanceIncrease)}<br />			:log warning "Увеличение distance маршрутов завершено."<br />		}<br />	}<br />}<br />:if ($PingResult = 1) do={<br />	:if ($PingFailCountISP2 &gt; 0) do={<br />		:set PingFailCountISP2 ($PingFailCountISP2 - 1)<br />		<br />		:if ($PingFailCountISP2 = ($FailTreshold -1)) do={<br />			:log warning "ISP2 снова может достучаться до $PingTarget — возвращаем original distance маршрутов."<br />			:foreach i in=[/ip route find gateway=$GatewayISP2 && static] do=\<br />				{/ip route set $i distance=([/ip route get $i distance] - $DistanceIncrease)}<br />			:log warning "Возврат distance маршрутов завершён."<br />		}<br />	}<br />} <br />
			<i>21.03.2014 13:48:00, Pirlet.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427754</link>
			<guid>http://mikrotik.moscow/forum/forum57/88526-skript-rezervnogo-pereklyucheniya-ne-vozvrashchaetsya-na-eth1/message427754</guid>
			<pubDate>Fri, 21 Mar 2014 13:48:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
