<?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>Fri, 31 Jul 2026 04:08:43 -0400</pubDate>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407811">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всё верно. Теперь есть еще узкополосный LTE, который поддерживает KNOT, и такие SIM-карты довольно дешевы в месяц, поскольку данные ограничены. Также есть LoRaWAN для таких уведомлений, который поддерживают KNOT, LtAP и прочие. Конечно, там больше настроек, оборудования, конфигураций, скриптов... В любом случае, всегда найдется решение, если что-то действительно важно. Привет! Ты раззадорил моё любопытство! Спасибо! <br />
			<i>27.01.2025 13:48:00, HoracioDos.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407811</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407811</guid>
			<pubDate>Mon, 27 Jan 2025 13:48:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407810">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Да, это был мой единственный момент — обычно «wan» означает, что интернет есть. Например, раньше в /ip/cloud иногда случались кратковременные сбои, из-за чего что-то, что обычно в состоянии «internet», переходило в состояние «wan». Как уведомлять — это уже на ваше усмотрение, я просто хотел привести конкретный пример, подкорректируйте под свои нужды.<br /><br />Еще на что стоит обратить внимание: например, в состоянии «WAN» пинг до 8.8.8.8 работает, тогда как в состоянии «Internet» можно передавать данные через UDP на Mikrotik. В detect-internet не хватает функции определения типа NAT, а это полезно, чтобы понимать, CGNAT это или другая схема NAT, потому что состояние «WAN» может появляться при работающем интернете в зависимости от того, что делает провайдер.<br /><br />Игровые консоли часто показывают какой-то «тип NAT» — это было бы полезно в RouterOS, но пока нет. Всё правда.<br /><br />Еще есть узкополосный LTE, который поддерживает KNOT, и такие SIM-карты довольно дешевые в месяц, так как трафик ограничен.<br /><br />Также есть LoRaWAN для таких уведомлений, который поддерживают KNOT/LtAP и подобные. Конечно, нужно больше настроек, оборудования, конфигураций, скриптов… В общем, всегда можно найти решение, если что-то действительно важно. <br />
			<i>26.01.2025 14:08:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407810</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407810</guid>
			<pubDate>Sun, 26 Jan 2025 14:08:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407809">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, Amm0! Согласен, что недоступность cloud.mikrotik.com не обязательно означает проблему с полным доступом в интернет — сервис может быть просто ограничен или работать с перебоями. Согласно документации, сейчас существует всего два возможных состояния (internet и wan), но MikroTik может в любой момент изменить это поведение. Я изменю скрипт, чтобы убрать else и проверять состояние только на два варианта (Internet и wan), отправляя письма при состояниях Degraded/Limited internet service и Restored/Full Service, а потом забуду об этом. Это избыточный способ уведомления помимо тех, что уже есть. В случае настоящего сбоя интернета, письмо приходит, как только интернет снова работает, и по-другому никак не уведомиться через Wi-Fi, если мобильный телефон подключен к LAN. Я не пытался держать мобильное приложение MikroTik постоянно включенным и работающим в фоне, чтобы проверить, приходит ли уведомление на телефон при отключении интернета, и не хотел бы этим заниматься. Это та же проблема, что и у любых систем мониторинга: им нужен доступ в интернет, чтобы сообщить о сбое интернета (мой пёс раньше лучше бегал за своим хвостом, ха-ха!), если, конечно, у тебя нет резервного провайдера или LTE-сервиса. Всегда рад общаться с вами, господа. С уважением, H <br />
			<i>26.01.2025 11:28:00, HoracioDos.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407809</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407809</guid>
			<pubDate>Sun, 26 Jan 2025 11:28:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407808">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Думаю, можно добавить ещё одно письмо, когда detect-internet переключается в состояние “WAN”. Это происходит, если пингуется DNS от Google 8.8.8.8, но недоступны серверы Mikrotik (через UDP). Приложение в таком случае показывает что-то вроде “Интернет (Ограничен)”, когда в состоянии WAN, а если “Internet state”, то просто “Интернет: Хорошо” (или что-то в этом духе). Так что можно обработать и состояние “WAN” (например, в тексте):<br /><br />:if ($ifaceState = “wan”) do={/tool e-mail send to=“mail@gmail.com” subject=("Ограниченный интернет на " . $ifaceName) body=$emailBody;} else={/tool e-mail send to=“mail@gmail.com” subject=("Ограниченное соединение на " . $ifaceName . " Семья начнёт жаловаться — беги прочь!") body=$emailBody;}} <br />
			<i>25.01.2025 23:19:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407808</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407808</guid>
			<pubDate>Sat, 25 Jan 2025 23:19:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407807">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			ГОТОВО!! Ещё раз спасибо за ваше время. С уважением, H <br />
			<i>25.01.2025 23:00:00, HoracioDos.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407807</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407807</guid>
			<pubDate>Sat, 25 Jan 2025 23:00:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407806">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Нет, я думаю, это вполне разумный подход. Я использую /interface/detect-internet в стандартной конфигурации с detect-interface-list=WAN, так как мобильное приложение Mikrotik показывает статус интернета прямо на главном экране... И да, это «безопасно», если не устанавливать «три нижних атрибута» в detect-internet, потому что они записывают обнаруженный интерфейс в список адресов — насколько я понимаю, ты это уже исправил. detect-interface-list= просто ЧИТАЕТ список интерфейсов, один атрибут отвечает за то, что «проверяется на наличие интернета», но не меняет никакие списки интерфейсов. Поэтому типичная ошибка — когда кто-то ставит все четыре параметра, а на самом деле нужен только detect-interface-list=WAN (или твой собственный список интерфейсов для проверки). Вторая распространённая ошибка — включать в detect-interface-list известные LAN (или другие внутренние) сети, чего делать не стоит, и с этим у тебя всё в порядке.<br /><br />Что касается скрипта, если хочешь именно миллисекунды... RTT — это тип «время», так что можно конвертировать напрямую в наносекунды (а потом в миллисекунды), что, вероятно, точнее, чем разбирать строку (или, по крайней мере, устойчивее к будущим изменениям в выводе скриптов). Но я почти уверен, что твой существующий код работает нормально. Просто для информации:<br /><br />:local ms [:pick $ifaceRTT 9 12];  <br />:if ([:len $ms] = 0) do={ :set ms “No RTT”; }  <br />:set ifaceRTT ($ms . “ms”);<br /><br />можно заменить на<br /><br />:set ifaceRTT "$[([:tonsec $ifaceRTT]/(1000*1000))]ms" <br />
			<i>25.01.2025 22:50:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407806</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407806</guid>
			<pubDate>Sat, 25 Jan 2025 22:50:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407805">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, Amm0, за такой подробный ответ. Я начал использовать “detect internet” вместо Netwatch с пингом на Google или Cloudflare, потому что эта функция уже встроена, и я хотел воспользоваться этим. В инструкции читала, что “detect internet” может выполнять автоматические действия, которые могут изменить текущую конфигурацию. Эти возможные изменения никогда не были для меня до конца понятны, но я все равно рискнул.<br /><br />У меня есть правила для фаервола, основанные на Interface Lists, таких как LAN и WAN, поэтому я создал новый список с именем INTERNET и назначил на него порт ether1-ips. Потом я установил detect-interface-list=INTERNET и остальные параметры в NONE. Если я не ошибаюсь, я следовал твоему совету. Я изменил все переменные на локальные, кроме previousState, которая должна быть глобальной, чтобы не получать письма каждые 3 минуты с сообщением, что состояние в порядке. Я также немного изменил [:pick $ifaceRTT 9 12], потому что мне не нравились пробелы и “ms”, когда интернета нет. Других правил по настройке механизма резервирования у меня нет.<br /><br />Поскольку у меня только один провайдер, я последую твоему совету и не буду полагаться на эти решения в “detect internet”. У меня есть Raspberry Pi с Zabbix 7.0.X, где настроено много проверок и срабатывают алерты, но я хотел начать учиться скриптингу MikroTik на простом примере. Не могу поверить, сколько сетевых концепций для меня прояснилось, с тех пор как я начал настраивать устройства MikroTik. Так много функций и конфигурационных решений скрыто от обычных пользователей, когда покупаешь простую сетевую технику.<br /><br />Вот изменённая версия:<br /><br />:global previousState;<br /><br />:local id [/interface/detect-internet/state find];<br />:local ifaceName [/interface/detect-internet/state get $id name];<br />:local ifaceState [/interface/detect-internet/state get $id state];<br />:local ifaceTime [/interface/detect-internet/state get $id state-change-time];<br />:local ifaceRTT [/interface/detect-internet/state get $id cloud-rtt];<br /><br />:if ($ifaceState != $previousState) do={:set previousState $ifaceState;<br /><br />:local ms [:pick $ifaceRTT 9 12];<br />:if ([:len $ms] = 0) do={<br /> &nbsp; &nbsp;:set ms "No RTT";<br />}<br />:set ifaceRTT ($ms . "ms");<br /><br />:local emailBody ("Interface: $ifaceName\rState: $ifaceState\rLast change: $ifaceTime\rRTT: $ifaceRTT\rWAN's internet connectivity via cloud.mikrotik.com (UDP:30000) проверяется каждую минуту. Если не доступен 3 минуты подряд, состояние меняется на WAN");<br /><br />:if ($ifaceState = "internet") do={/tool e-mail send to="mail@gmail.com" subject=("Интернет доступен на " . $ifaceName) body=$emailBody;} else={/tool e-mail send to="mail@gmail.com" subject=("Нет подключения к интернету на " . $ifaceName . " Семья начнёт жаловаться — беги!") body=$emailBody;}} <br /><br />Большое спасибо за твоё время и ответ. С уважением, H <br />
			<i>25.01.2025 21:24:00, HoracioDos.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407805</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407805</guid>
			<pubDate>Sat, 25 Jan 2025 21:24:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407804">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я не уверен, что стоит автоматически добавлять интерфейс в список WAN или LAN. Чтобы использовать detect-internet, у вас уже должны быть определены интерфейсы как WAN. А поскольку detect-interface-list=WAN, он всё равно никогда не найдёт LAN. Добавление чего-то в стандартный список LAN или WAN может привести к разным побочным эффектам, которые нужно учитывать, так как firewall использует эти списки в качестве критериев. Поэтому, если вы не используете состояние detect-internet в правилах файрвола, вообще не нужно ничего задавать (оставьте пустым), кроме detect-interface-list=WAN для вашего скрипта.<br /><br />Если хотите использовать функцию «добавления интерфейса в список» для новых правил файрвола, лучше сделать это через отдельные списки, например internet-interface-list=DETECTED_WAN, lan-interface-list=DETECTED_LAN, wan-interface-list=DETECTED_WAN — а не через все переменные сразу. К тому же их лучше делать локальными (:local), а не глобальными (:global), если скрипт запускается из /system/scheduler и вы не используете переменные в других скриптах (там нужны бы были :global).<br /><br />На самом деле, не нужен даже «value name=» — просто используйте [/interface/detect-internet/state get $id name], это работает так же, но короче.<br /><br />:global&gt; :local ms [:pick $ifaceRTT 9 12];<br />:set ifaceRTT ($ms . “ms”);<br /><br />Наверно, это работает нормально. Но RTT может быть равен 0 или чему-то другому, так что использовать [:pick] без «защиты» не лучшая идея… Но для письма — если показывается только «ms», это уже сигнал о проблеме.<br /><br />Не уверен, что многие решались использовать, тем более писать скрипты с /interface/detect-internet. Но для уведомлений на почту — это простой и удобный способ проверить интернет.<br /><br />Отказ от ответственности: не рекомендую использовать /internet/detect-internet для принятия маршрутизационных решений или переключения на резервный канал — для этого есть более надёжные методы. И detect-internet может вызывать побочные эффекты — об этом и в документации MT предупреждают, хотя многие из них довольно тонкие и порой неожиданные.<br /><br />В общем, просто использовать «detect-interface-list=WAN» относительно безопасно, но если detect-interface МОЖЕТ МЕНЯТЬ ваши списки интерфейсов WAN или LAN (или добавлять DHCP клиентов), вот тут начинаются проблемы. Если интерфейс объявлен как WAN в /interface/list, он должен иметь IP-адрес или DHCP клиента, если вы явно назначаете интерфейс WAN, тогда «автоматический DHCP клиент» проблем не создаст. <br />
			<i>25.01.2025 16:34:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407804</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407804</guid>
			<pubDate>Sat, 25 Jan 2025 16:34:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407803">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Это мой первый скрипт для определения интернет-соединения. Будьте добры, любые комментарии по его улучшению очень приветствуются. Сначала я настроил определение интернета так:<br /><br /> /interface detect-internet set detect-interface-list=WAN internet-interface-list=WAN lan-interface-list=LAN wan-interface-list=WAN<br /><br />Потом он запускается каждые 3 минуты через планировщик.<br /><br />Скрипт check-internet:<br /><br />:global previousState;<br /><br />:global id [/interface/detect-internet/state find];<br />:global ifaceName [/interface/detect-internet/state get $id value-name=name];<br />:global ifaceState [/interface/detect-internet/state get $id value-name=state];<br />:global ifaceTime [/interface/detect-internet/state get $id value-name=state-change-time];<br />:global ifaceRTT [/interface/detect-internet/state get $id value-name=cloud-rtt];<br /><br />:if ($ifaceState != $previousState) do={:set previousState $ifaceState;<br /><br />:global ms [:pick $ifaceRTT 9 12];<br />:set ifaceRTT ($ms . "ms");<br /><br />:global emailBody ("Интерфейс: $ifaceName\rСостояние: $ifaceState\rПоследнее изменение: $ifaceTime\rRTT: $ifaceRTT\rОпределение интернета использует cloud.mikrotik.com по протоколу UDP на порту 30000. Проверка соединения происходит каждую минуту, и если его нет в течение 3 минут, состояние меняется с internet на WAN");<br /><br />:if ($ifaceState = "internet") do={/tool e-mail send to="mail@gmail.com" subject=("Интернет доступен на " . $ifaceName) body=$emailBody;} else={/tool e-mail send to="mail@gmail.com" subject=("Нет соединения на " . $ifaceName) body=$emailBody;}} &nbsp;<br /><br />Вот пример вывода:<br /><br />Нет интернет-соединения &nbsp;<br />Интерфейс: ether1-isp &nbsp;<br />Состояние: wan &nbsp;<br />Последнее изменение: 2025-01-23 07:12:12 &nbsp;<br />RTT: ms &nbsp;<br />Определение интернета использует cloud.mikrotik.com по протоколу UDP на порту 30000. Проверка соединения происходит каждую минуту, и если его нет в течение 3 минут, состояние меняется с internet на WAN &nbsp;<br /><br />Интернет восстановлен &nbsp;<br />Интерфейс: ether1-isp &nbsp;<br />Состояние: internet &nbsp;<br />Последнее изменение: 2025-01-23 07:14:09 &nbsp;<br />RTT: 253ms &nbsp;<br />Определение интернета использует cloud.mikrotik.com по протоколу UDP на порту 30000. Проверка соединения происходит каждую минуту, и если его нет в течение 3 минут, состояние меняется с internet на WAN <br />
			<i>25.01.2025 14:09:00, HoracioDos.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407803</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407803</guid>
			<pubDate>Sat, 25 Jan 2025 14:09:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407802">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хочу поделиться своим опытом использования Netwatch на роутерах MikroTik для сценариев резервирования и предложить альтернативный подход, который мне показался более эффективным.<br /><br />Проблема с Netwatch: у Netwatch есть ограничения при тестировании отдельных интерфейсов, в отличие от ping. Хотя можно использовать Netwatch вместе с правилами IP-маршрутизации, чтобы добиться похожего результата, мне этот способ показался слишком запутанным. Принудительное направление трафика к конкретному IP через определённый шлюз лишь усложняет настройку без необходимости.<br /><br />Хотя эта тема уже обсуждалась раньше, я решил вернуться к ней, потому что столкнулся с ситуациями, когда Netwatch просто не справляется с чистым и эффективным управлением резервированием.<br /><br />Благодаря команде, упомянутой в одном из предыдущих постов, мне удалось написать простой скрипт, который использует /interface detect-internet state для мониторинга состояния интерфейсов и соответствующей реакции.<br /><br />Сценарий использования: в моей конфигурации я хочу, чтобы вторичный роутер включался только тогда, когда основной WAN/интернет-ссылка не работает. Как только основной канал восстанавливается, вторичный роутер должен отключаться. Такой подход помогает экономить трафик и электроэнергию, так как резервный роутер имеет ограниченные ресурсы. Это скорее актив-ожидание (active-cold/standby), что идеально подходит под мои задачи. Хотя на подключение вторичного канала уходит несколько минут, выигрыш в эффективности того стоит.<br /><br />Вот скрипт, который я использую:<br /><br />:local primaryState [/interface detect-internet state get [find name="pppoe0"] state]  <br />:local backupState [/interface detect-internet state get [find name="ether2"] state]  <br />:local powerState [/interface ethernet poe get ether2 poe-out]<br /><br /># Когда основной WAN недоступен &nbsp;<br />:if ($primaryState != "internet") do={ &nbsp;<br /> &nbsp; &nbsp;# Проверяем, что ether2 не включён по питанию &nbsp;<br /> &nbsp; &nbsp;:if ($powerState != "auto-on") do={ &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;/interface ethernet poe set ether2 poe-out=auto-on &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;/log info "IntelliFailover: PPPoE интерфейс (pppoe0) ОТКЛЮЧЁН" &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;/log info "IntelliFailover: Переключение на резервное соединение (ether2)" &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br />} else={ &nbsp;<br /> &nbsp; &nbsp;# Когда основной WAN восстановлен, проверяем наличие интернета на обоих интерфейсах &nbsp;<br /> &nbsp; &nbsp;:if ($primaryState = "internet" && $backupState = "internet") do={ &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;# Проверяем, что ether2 включён &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if ($powerState != "off") do={ &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/interface ethernet poe set ether2 poe-out=off &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/log info "IntelliFailover: PPPoE интерфейс (pppoe0) ВОССТАНОВЛЕН" &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/log info "IntelliFailover: Восстановление основного соединения (pppoe0)" &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<br /> &nbsp; &nbsp;} &nbsp;<br />}<br /><br />Надеюсь, этот скрипт и подход помогут тем, кто сталкивается с похожими задачами. Буду рад услышать ваши мысли и возможные улучшения! <br />
			<i>27.10.2024 19:46:00, majestic.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407802</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407802</guid>
			<pubDate>Sun, 27 Oct 2024 19:46:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Определение интернет-соединения</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407801">Определение интернет-соединения</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У меня RouterOS 7.1. Вопрос: как проверить активное интернет-соединение, если UDP использовать нельзя, а /ping не возвращает полезный код завершения? Это оказалось намного сложнее, чем я думал. Команда /ping не имеет кода выхода, который можно проверить (!).<br /><br />Сначала я пытался использовать <noindex><a href="https://help.mikrotik.com/docs/display/ROS/Detect+Internet" target="_blank" rel="nofollow" >https://help.mikrotik.com/docs/display/ROS/Detect+Internet</a></noindex> — но это не работает. Мой провайдер блокирует UDP, так что переключение с wan на internet не происходит:<br /><br />[admin@MikroTik] /interface/detect-internet/state&gt; print  <br />Columns: NAME, STATE, STATE-CHANGE-TIME &nbsp;<br /># &nbsp;NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;STATE &nbsp; &nbsp;STATE-CHANGE-TIME &nbsp;<br />0 &nbsp;wlan1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; no-link &nbsp;feb/07/2022 13:23:20 &nbsp;<br />1 &nbsp;lte1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wan &nbsp; &nbsp; &nbsp;feb/07/2022 13:23:26 &nbsp;<br /><br />Потом я попробовал /ping. И /ping выдает результаты, которые отличаются от тех, что пишут на форумах. Может, это баг в версии 7+? Вот что я вижу:<br /><br />Для валидного IP: &nbsp;<br />[admin@MikroTik] &gt; :set $pingResult [:ping count=1 1.1.1.1]  <br />Columns: SEQ, HOST, SIZE, TTL, TIME &nbsp;<br />SEQ &nbsp;HOST &nbsp; &nbsp; SIZE &nbsp;TTL &nbsp;TIME &nbsp;<br /> &nbsp;0 &nbsp;1.1.1.1 &nbsp; &nbsp;56 &nbsp; 51 &nbsp;118ms503us &nbsp;<br /><br />[admin@MikroTik] &gt; :put [:typeof $pingResult]  <br />nothing &nbsp;<br /><br />Для невалидного IP: &nbsp;<br />[admin@MikroTik] &gt; :set $pingResult [/ping count=1 172.1.1.1]  <br />Columns: SEQ, HOST, STATUS &nbsp;<br />SEQ &nbsp;HOST &nbsp; &nbsp; &nbsp; STATUS &nbsp;<br /> &nbsp;0 &nbsp;172.1.1.1 &nbsp;timeout &nbsp;<br /><br />[admin@MikroTik] &gt; :put [:typeof $pingResult]  <br />nothing &nbsp;<br /><br />То есть, получается, проверить код выхода команды /ping никак нельзя?<br /><br />Вот что меня почти поражает из-за этого: &nbsp;<br />[admin@MikroTik] &gt; :if ([/ping 1.1.1.1 count=1] = 1) do={:put "Down"} else={:put "Up"}  <br />Columns: SEQ, HOST, SIZE, TTL, TIME &nbsp;<br />SEQ &nbsp;HOST &nbsp; &nbsp; SIZE &nbsp;TTL &nbsp;TIME &nbsp;<br /> &nbsp;0 &nbsp;1.1.1.1 &nbsp; &nbsp;56 &nbsp; 51 &nbsp;134ms149us &nbsp;<br /><br />Up &nbsp;<br /><br />[admin@MikroTik] &gt; :if ([/ping 172.1.1.1 count=1] = 1) do={:put "Down"} else={:put "Up"}  <br />Columns: SEQ, HOST, STATUS &nbsp;<br />SEQ &nbsp;HOST &nbsp; &nbsp; &nbsp; STATUS &nbsp;<br /> &nbsp;0 &nbsp;172.1.1.1 &nbsp;timeout &nbsp;<br /><br />Up <br />
			<i>08.02.2022 10:31:00, droux.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407801</link>
			<guid>http://mikrotik.moscow/forum/forum57/86536-opredelenie-internet_soedineniya/message407801</guid>
			<pubDate>Tue, 08 Feb 2022 10:31:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
