<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Добавить неудачное согласование IPSec phase1 в AddrList]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Добавить неудачное согласование IPSec phase1 в AddrList форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 03 Aug 2026 05:36:27 -0400</pubDate>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418632">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			По какой-то причине этот скрипт отлично работает только при первом запуске. Я обнаружил новый IP, который пытался подключиться к IPsec VPN (ошибка), но он не добавился в список в файерволе. После небольшого расследования я удалил все IP из списка доступа файервола и запустил скрипт снова. И почему-то на этот раз всё сработало нормально. Не уверен, работает ли твой скрипт по выявлению дубликатов адресов. Дай знать, я новичок в Mikrotik и очень хочу, чтобы это заработало. Заранее спасибо. @MikroTik ] &gt; /system script run intruseBL ошибка: запись с таким значением уже есть <br />
			<i>02.01.2022 16:18:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418632</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418632</guid>
			<pubDate>Sun, 02 Jan 2022 16:18:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418631">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Да, это была моя ошибка, я не понимал, что нужно запускать два разных скрипта. Я добавил его в список скриптов, затем запустил оба — и всё сработало отлично. Подтверждаю, что проблема была из-за того, что скрипт searchiplist не запускался, потому что там не было значений в окружениях. Спасибо за вашу усердную работу и помощь с решением этой проблемы. <br />
			<i>04.01.2022 16:51:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418631</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418631</guid>
			<pubDate>Tue, 04 Jan 2022 16:51:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418630">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, что подтвердили, что у вас тоже всё сработало. Скорее всего, при первой попытке что-то не синхронизировалось как надо. Тем не менее, в начале этой темы есть и основной скрипт, и функция — они работают вместе, и код с тех пор не менялся. Скрипт должен регулярно загружаться и запускаться через планировщик, а функция должна быть загружена как глобальная переменная в системе. Когда скрипт запускается, создаётся дополнительная глобальная переменная (lastTime), которая хранит время последнего добавления какого-то IP. Это делается, чтобы не добавлять одно и то же снова и снова из одной и той же части лога, учитывая, что при получении таких строк лога из памяти, самая старая информация автоматически удаляется через какое-то время. Армандо <br />
			<i>04.01.2022 15:51:00, accarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418630</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418630</guid>
			<pubDate>Tue, 04 Jan 2022 15:51:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418629">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, accarda! Большое спасибо тебе, и я действительно верю, что теперь всё работает. Возможно, главный скрипт изначально неправильно создавал скрипт в окружении. Может, нам стоит добавить мастер-скрипт, чтобы в будущем все могли им пользоваться. Я пересмотрел кучу информации в интернете, и, кажется, это первое решение, которое действительно помогает. Я буду наблюдать и дам тебе знать завтра, автоматически ли всё добавляется, но по моим тестам немного раньше — всё работает отлично. Похоже, наши совместные усилия наконец-то решили эту давнюю проблему =)… <br />
			<i>04.01.2022 14:34:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418629</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418629</guid>
			<pubDate>Tue, 04 Jan 2022 14:34:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418628">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, Taylor, проигнорируй, пожалуйста, предложенное изменение в функции searchIPList и используй оригинальный код (я приведу его снова, чтобы не было путаницы):<br /><br />:global searchIPList do={<br />	:local listName $1<br />	:local ipAddr $2<br />	<br />	:if ([:len [/ip firewall address-list find list=$listName]] &gt; 0) do={<br />		:foreach foundIP in=[/ip firewall address-list find list=$listName] do={<br />			:if ($ipAddr = ([:pick [/ip firewall address-list print as-value where .id=$foundIP] 0]-&gt;"address")) do={<br />				:return "duplicated"<br />			}<br />		}<br />	}<br />}<br /><br />Как видишь, я снова убрал сообщение OK, которое выводилось, когда IP не находился. Это была моя ошибка, потому что если возвращать это значение, функция заканчивает работу и прекращает проверку остальных элементов. Такой подход работал бы с адресным списком из одного элемента, чего в нашем случае не было. Так что возвращаемся к исходной функции, которая возвращает "duplicated" только при обнаружении дублирующей записи (это была изначальная задумка).<br /><br />Если протестируешь функцию ещё раз, увидишь, что она поймает дубликат; вернёт ;;;, когда совпадений нет и адреса в списке нет.<br /><br />Почему изначально возникла проблема — это нужно выяснять, но так мы исправляем недавнюю ошибку.<br /><br />Armando <br />
			<i>04.01.2022 06:39:00, accarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418628</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418628</guid>
			<pubDate>Tue, 04 Jan 2022 06:39:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418627">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Вот мой вывод, реально странно — должно показываться как дубликат, а не просто «ок». &nbsp;<br />[taylor@MikroTik] &gt; /ip firewall address-list print  <br />Столбцы: LIST, ADDRESS, CREATION-TIME &nbsp;<br />LIST &nbsp; &nbsp; &nbsp; ADDRESS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CREATION-TIME &nbsp;<br />0 intruseBL &nbsp;74.82.47.21 &nbsp; &nbsp; &nbsp;jan/03/2022 10:13:03 &nbsp;<br />1 intruseBL &nbsp;65.49.20.106 &nbsp; &nbsp; jan/03/2022 10:13:03 &nbsp;<br />2 intruseBL &nbsp;64.62.197.78 &nbsp; &nbsp; jan/03/2022 10:13:03 &nbsp;<br />3 intruseBL &nbsp;74.82.47.27 &nbsp; &nbsp; &nbsp;jan/03/2022 10:13:03 &nbsp;<br />4 intruseBL &nbsp;184.105.247.195 &nbsp;jan/03/2022 10:13:03 &nbsp;<br />5 intruseBL &nbsp;184.105.247.227 &nbsp;jan/03/2022 10:13:03 &nbsp;<br />6 intruseBL &nbsp;184.105.247.219 &nbsp;jan/03/2022 10:13:03 &nbsp;<br />7 intruseBL &nbsp;184.105.139.68 &nbsp; jan/03/2022 10:13:03 &nbsp;<br />8 intruseBL &nbsp;216.218.206.85 &nbsp; jan/03/2022 10:13:03 &nbsp;<br />9 intruseBL &nbsp;64.62.197.146 &nbsp; &nbsp;jan/03/2022 10:13:03 &nbsp;<br />[taylor@MikroTik] &gt; :put [$searchIPList intruseBL 64.62.197.146] OK <br />
			<i>03.01.2022 22:55:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418627</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418627</guid>
			<pubDate>Mon, 03 Jan 2022 22:55:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418626">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хорошо, я добавил свой список, имя отображается, возвращается OK как для дубликата, так и для нового IP-адреса. Имя моего списка в файрволе совпадает с вашим intruseBL. <br />
			<i>03.01.2022 21:58:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418626</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418626</guid>
			<pubDate>Mon, 03 Jan 2022 21:58:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418625">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			На самом деле searchIPList — это функция (внутри глобальной переменной), поэтому вызвать её напрямую так нельзя. В терминале её можно вызвать так: :put [$searchIPList list IP], где list — имя вашего списка адресов, а IP — адрес, который хотите проверить. То есть её запускают, подавая два необходимых параметра. Основной скрипт, где эта функция загружена, можно выполнить из терминала примерно так же, как вы указали для searchIPList, но не саму функцию отдельно. <br />
			<i>03.01.2022 21:43:00, accarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418625</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418625</guid>
			<pubDate>Mon, 03 Jan 2022 21:43:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418624">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Итак, я искал в интернете и нашёл, что некоторые пользователи успешно добавляли в свои скрипты эту строку: on-error={}. Однако, каждый раз, когда я добавляю её в основной скрипт, появляется ошибка строки. Если мы сможем интегрировать on-error={} в основной скрипт, думаю, всё заработает. Ниже пример из другого скрипта:<br /><br />:foreach i in=[/ip firewall address-list find] do={  <br /> &nbsp;:if ([/ip firewall address-list get $i comment] = "IPblacklist1") do={  <br /> &nbsp; &nbsp;:do { /ip firewall address-list remove $i } on-error={} &nbsp;<br /> &nbsp;} &nbsp;<br />}<br /><br />Спасибо, Taylor <br />
			<i>03.01.2022 21:36:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418624</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418624</guid>
			<pubDate>Mon, 03 Jan 2022 21:36:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418623">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ниже нет никакого результата от командной строки. Я удалил все IP из списка доступа в фаерволе, снова запустил основной скрипт — и он нормально добавил IP. Что-то странное, вроде как searchIPList не ищет по списку доступа intruseBL или что-то в этом роде. У тебя вывод есть, когда запускаешь searchIPList через команду? @MikroTik ] &gt; /system script run searchIPList @MikroTik ] &gt; <br />
			<i>03.01.2022 19:27:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418623</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418623</guid>
			<pubDate>Mon, 03 Jan 2022 19:27:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418622">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Не совсем уверен, так как у меня это стоит на роутере с версией v6.x. Однако, если что-то и не полностью совместимо с v7, то это будет касаться основного скрипта (а не функции для поиска дублирующихся IP). Я проверял searchIPList на ROS v7.1.1, и он отлично находил дублирующийся IP; но на том роутере у меня не было полного скрипта для поиска по логу и добавления этих неудачных попыток в адресный список. Точно не знаю, изменился ли в ROS v7.1.1 какой-то код для получения IP из лога, но я бы на это не рассчитывал. <br />
			<i>03.01.2022 17:53:00, accarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418622</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418622</guid>
			<pubDate>Mon, 03 Jan 2022 17:53:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418621">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Очень странно, что он до сих пор не добавляет новый IP из моих логов. Это из-за того, что у меня версия 7.1.1? <br />
			<i>03.01.2022 16:12:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418621</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418621</guid>
			<pubDate>Mon, 03 Jan 2022 16:12:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418620">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			На самом деле вы можете удалить глобальную функцию searchIPList из вашего скрипта → меню Environment в Winbox и загрузить вместо неё эту новую версию. Но, как я уже сказал, ничего особо не изменилось, кроме того, что теперь устанавливается выходное значение, если в списке нет совпадений с адресом. Всё остальное осталось без изменений. <br />
			<i>03.01.2022 14:38:00, accarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418620</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418620</guid>
			<pubDate>Mon, 03 Jan 2022 14:38:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418619">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, accarda. Значит, мне нужно объединить этот скрипт с оригинальным мастер-скриптом или создать отдельный? <br />
			<i>03.01.2022 14:31:00, Manth15.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418619</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418619</guid>
			<pubDate>Mon, 03 Jan 2022 14:31:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418618">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я проверил функцию searchIPList с списком адресов, и она действительно находит только дубликаты. Учтите, что функция работает только с IP-адресами без обозначения CIDR. Так что если в списке был адрес с CIDR, функция не покажет флаг дубликата при выходе. Я пробовал на пустом списке — функция могла добавлять новые адреса или пропускать их, если они были дубликатами. Чтобы избежать произвольного ответа на валидный адрес, я добавлял значение вывода "OK", иначе функция возвращала бы ;;;. Но это не должно мешать основному скрипту, так как он ищет текст "duplicated". В моей системе я обновил глобальную функцию searchIPList с этим дополнительным выводом, хотя это и не критично.<br /><br />ПРАВКА: не используйте это изменение кода, так как оно останавливает выполнение функции для всего списка адресов, если совпадений не найдено. Лучше оставаться с оригинальным кодом.<br /><br />:global searchIPList do={<br />	:local listName $1<br />	:local ipAddr $2<br />	<br />	:if ([:len [/ip firewall address-list find list=$listName]] &gt; 0) do={<br />		:foreach foundIP in=[/ip firewall address-list find list=$listName] do={<br />			:if ($ipAddr = ([:pick [/ip firewall address-list print as-value where .id=$foundIP] 0]-&gt;"address")) do={<br />				return "duplicated"<br />			} else={<br />				return "OK"<br />			}<br />		}<br />	}<br />} <br />
			<i>03.01.2022 06:09:00, accarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418618</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418618</guid>
			<pubDate>Mon, 03 Jan 2022 06:09:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Добавить неудачное согласование IPSec phase1 в AddrList</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418617">Добавить неудачное согласование IPSec phase1 в AddrList</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет! Я делал скрипт, который смотрит в системный лог и если находит “ipsec,error” о неудачных переговорах phase1, добавляет адрес в черный список. Если кому-то интересно, вот скрипт, который сейчас у меня работает на паре роутеров. Скрипт состоит из функции для поиска дублирующихся адресов в списке адресов и самого основного скрипта. Функция загружается как глобальная переменная и её нужно перезагружать после каждого рестарта роутера.<br /><br /># Функция для поиска дублирующихся IP в address-list<br />:global searchIPList do={<br />	:local listName $1<br />	:local ipAddr $2<br />	<br />	:if ([:len [/ip firewall address-list find list=$listName]] &gt; 0) do={<br />		:foreach foundIP in=[/ip firewall address-list find list=$listName] do={<br />			:if ($ipAddr = ([:pick [/ip firewall address-list print as-value where .id=$foundIP] 0]-&gt;"address")) do={<br />				:return "duplicated"<br />			}<br />		}<br />	}<br />}<br /><br />Это основной скрипт, который можно добавить на роутер, как любой другой.<br /><br /># Основной скрипт добавляет в черный список адреса, у которых не прошел IPSec phase1<br />:global searchIPList<br />:global myBlackListName "intruseBL"<br /><br />:foreach i in=[/log find where (topics=ipsec,error && message~"phase1 negotiation failed")] do={<br />	:local iplength [:find [/log get value-name=message number=$i] " "]<br />	:if ([:typeof $iplength] = "num") do={<br />		:if ([:toip [:pick [/log get value-name=message number=$i] 0 $iplength]]~"^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}") do={<br />			:local intruseIP [:pick [/log get value-name=message number=$i] 0 $iplength]<br />			:if ([:len [/ip firewall address-list find list=$myBlackListName]] &gt; 0) do={<br />				:if ([$searchIPList $myBlackListName $intruseIP] != "duplicated") do={ <br />					/ip firewall address-list add list=$myBlackListName address=$intruseIP<br />				}<br />			} else={<br />				/ip firewall address-list add list=$myBlackListName address=$intruseIP<br />			}<br />		}<br />	}<br />}<br /><br />Армандо <br />
			<i>22.03.2021 17:39:00, accarda.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418617</link>
			<guid>http://mikrotik.moscow/forum/forum57/87606-dobavit-neudachnoe-soglasovanie-ipsec-phase1-v-addrlist/message418617</guid>
			<pubDate>Mon, 22 Mar 2021 17:39:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
