<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Удалить все подключения в Firewall-Connections]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Удалить все подключения в Firewall-Connections форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 23 Apr 2026 13:01:31 +0300</pubDate>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400838">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это работает безупречно, независимо от количества соединений, которые нужно очистить:<br /><br />:local e 1 &nbsp;<br />:while ($e) do={ &nbsp;<br /> &nbsp;:set e 0 &nbsp;<br /> &nbsp;:do {/ip firewall connection remove [find]} on-error={:set e 1}  <br />} <br />
			<i>31.01.2022 13:21:00, benlg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400838</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400838</guid>
			<pubDate>Mon, 31 Jan 2022 13:21:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400837">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			/ip fire conn &nbsp;<br />:foreach idc in=[find where timeout&gt;60] do={  <br /> remove [find where .id=$idc]  <br />} <br />
			<i>13.01.2023 17:40:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400837</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400837</guid>
			<pubDate>Fri, 13 Jan 2023 17:40:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400836">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты уже понял, как очистить соединения и не получить эту ошибку? <br />
			<i>13.01.2023 15:58:00, igoldstein.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400836</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400836</guid>
			<pubDate>Fri, 13 Jan 2023 15:58:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400835">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Если убрать условие (timeout&gt;60) в версии @rextended, всё равно должно работать со всеми записями. В операторе "where" всё равно что-то происходит, например [:remove $“.id”], даже без условий для сопоставления. <br />
			<i>15.03.2024 21:47:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400835</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400835</guid>
			<pubDate>Fri, 15 Mar 2024 21:47:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400834">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Боже… Это похоже на сравнение функционального и процедурного программирования. Но если голосовать, то однозначный победитель — @rextended. Версия @elico приемлема, если ему такой стиль нравится. Но она просто неэффективна и неаккуратна, если выбирать по качеству.<br /><br />Несколько замечаний: &nbsp;<br />1. Использование on-error= для защиты [remove] вполне разумно — например, файл может закрыться между find и remove из-за плохого тайминга.  <br />2. Перевод строки — это вполне валидный разделитель команд. Точки с запятой не нужны, так что их можно считать лишними символами для обработки, особенно если стремишься к максимальной эффективности (ведь тогда получается два разделителя: ; и \n).<br /><br />Особенность подхода @rextended с использованием «конвейера вывода» (моё название, у некоторых скриптов нет конкретных терминов) — здесь больше функционального программирования — выделяется особенно ярко. Обратите внимание, что сама команда print вызывает cmd во время итерации, и при этом «цикл» явно не нужен. Можно добавить «as-value», чтобы привести вывод в необходимый вид.<br /><br />Не знаю, но, думаю, remove всё равно может не сработать, так что можно добавить опцию «:retry» (которая будет пытаться выполнить заново при ошибке). Например, в сравнении с :while циклом, который теоретически может работать бесконечно при постоянных ошибках, хоть это и маловероятно. <br />
			<i>15.03.2024 21:33:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400834</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400834</guid>
			<pubDate>Fri, 15 Mar 2024 21:33:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400833">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			В общем, если вы хотите сбросить все правила отслеживания соединений FW, то сделать это нажатием кнопки в winbox нельзя, но можно через /ip/firewall/connection/print где (timeout&gt;15) [remove $".id"]. Я могу это проверить, но мой скрипт работает нормально, может быть, этот конкретный однострочник лучше или быстрее в каком-то смысле. Но обработка ошибок — это нормальная практика в программировании, так что я не понимаю, почему я должен предпочесть однострочник? Что в нём лучше? Единственное отличие — это наличие цикла, но технически в чём реальная разница между использованием однострочника внутри цикла for или while и конструкцией с on-error?<br /><br />Я могу запустить цикл for для каждого отдельного элемента (30-40 тысяч) и использовать do { } on-error {} для одной операции удаления.<br /><br />{<br /> &nbsp; &nbsp;:log info "Начинаю очистку отслеживания соединений FW";<br /> &nbsp; &nbsp;:do {<br /> &nbsp; &nbsp; &nbsp; &nbsp;:foreach entry in=[/ip/firewall/connection/find] do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/ip/firewall/connection/remove $entry;<br /> &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp;} on-error={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:log info "ошибка 1 при удалении соединения FW";<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;:log info "Закончил очистку отслеживания соединений FW";<br />}<br /><br />Этот код сработает даже без проверки, есть ли 10, 15, 30 или 60… <br />
			<i>15.03.2024 20:46:00, elico.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400833</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400833</guid>
			<pubDate>Fri, 15 Mar 2024 20:46:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400832">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Игнорируя неправильный способ программирования с бесполезным do={...} и прочими вещами... всё ещё отсутствует "where timeout&gt;60", что делает on-error совершенно бесполезным... /ip firewall connection print where (timeout&gt;60) [remove $".id"] Если устройство достаточно быстрое, таймаут можно уменьшить с 60 до минимум 10 секунд. <br />
			<i>04.03.2024 10:52:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400832</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400832</guid>
			<pubDate>Mon, 04 Mar 2024 10:52:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400831">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Следующий скрипт отлично работает на RouterOS V7.x, но мне бы хотелось, чтобы он был на foreach, если это возможно. Проблема в том, что у меня устройство с более чем 60 тысячами отслеживаемых соединений, и когда я пытаюсь использовать скрипт с foreach из тех, что выше, он делает «find» для каждого соединения, и это занимает вечность, чтобы очистить соединения. &nbsp;<br />{ &nbsp;<br /> do { &nbsp;<br />	:local e 1; &nbsp;<br />	:while ($e=1) do { &nbsp;<br />	 &nbsp;:set e 0; &nbsp;<br />	 &nbsp;:do { &nbsp;<br />			/ip/firewall/connection/remove [find];  <br />		} on-error={ &nbsp;<br />			:set e 1; &nbsp;<br />			:log info "error 1 removing FW connection"; &nbsp;<br />		} &nbsp;<br />	} &nbsp;<br />	:log info "SUCCESS removing FW connection"; &nbsp;<br />	} on-error={ &nbsp;<br />		:log info "error 2 removing FW connection"; &nbsp;<br />	} &nbsp;<br />} <br />
			<i>03.03.2024 10:31:00, elico.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400831</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400831</guid>
			<pubDate>Sun, 03 Mar 2024 10:31:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400830">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я уже отвечал год назад… Нужно добавить «where timeout&gt;60», как в моём примере, потому что закрытые соединения во время выполнения скрипта всё ломают. <br />
			<i>24.01.2024 08:41:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400830</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400830</guid>
			<pubDate>Wed, 24 Jan 2024 08:41:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400829">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Что значит «no such item (4)»? И как мне понять, сколько раз нужно добавить команду «/ip firewall connection remove [find]» в мой скрипт?  <br /><br />Это мой скрипт DOWN, который netwatch запускает при обнаружении, что основной интернет упал: &nbsp;<br />log warning "PRIMARY link seems to be DOWN - Running Down script" &nbsp;<br /><br />/ip route set [find comment="Default Route"] distance=15  <br /><br />/ip firewall connection {:foreach i in [find protocol="tcp"] do={remove $i}}  <br />/ip firewall connection {:foreach i in [find protocol="udp"] do={remove $i}}  <br /><br />/ip firewall filter set [find comment="tcp reset"] disabled=no  <br /><br />delay delay-time=10 &nbsp;<br /><br />/ip firewall filter set [find comment="tcp reset"] disabled=yes  <br /><br />/system script run DynDnsF &nbsp;<br /><br />/tool e-mail send to=myemailaddress@noemail.com subject="$[/system identity get name] network change" body="Primary connection failed and successfully connected to secondary" <br />
			<i>24.01.2024 00:50:00, igoldstein.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400829</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400829</guid>
			<pubDate>Wed, 24 Jan 2024 00:50:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400828">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Если соединений много — около 5600, то мне пришлось пять раз запускать команду clean / ip firewall connection remove [find]. Сначала в терминале я получил ответ «нет такого элемента (4)». <br />
			<i>02.02.2019 05:56:00, yreks.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400828</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400828</guid>
			<pubDate>Sat, 02 Feb 2019 05:56:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400827">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, @boen_robot. Твой код/ответ всё ещё работает. У меня была маленькая, но раздражающая проблема при переключении — существующие соединения не переходили на нового провайдера. Очистка существующих соединений с помощью твоего кода решила эту проблему. <br />
			<i>02.02.2019 03:29:00, pothi.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400827</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400827</guid>
			<pubDate>Sat, 02 Feb 2019 03:29:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400826">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет, ответ boen_robot работает у меня. Идея с включением и отключением conn-tracking на пару секунд с последующим включением не сработала — я пробовал время до минуты. Может быть, стоит уменьшить стандартное время ожидания соединения до значения меньше того периода, на который отключают conn-track? Но, как я уже сказал, ответ boen_robot решает проблему. /Tullaman. <br />
			<i>05.02.2018 11:18:00, tullaman.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400826</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400826</guid>
			<pubDate>Mon, 05 Feb 2018 11:18:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Удалить все подключения в Firewall-Connections</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400825">Удалить все подключения в Firewall-Connections</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет! Мне нужен скрипт, который сможет удалить все соединения в IP—&gt;Firewall—&gt;Connections. Я использую этот скрипт: &nbsp;<br />/ip firewall connection {:foreach r in=[find] do={remove $r}}  <br />Но он удаляет не все. Пожалуйста, помогите. &nbsp;<br />С наилучшими пожеланиями. <br />
			<i>13.01.2016 09:11:00, parscon.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400825</link>
			<guid>http://mikrotik.moscow/forum/forum57/85880-udalit-vse-podklyucheniya-v-firewall_connections/message400825</guid>
			<pubDate>Wed, 13 Jan 2016 09:11:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
