<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: IP существует в скрипте подсети.]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме IP существует в скрипте подсети. форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 02 Aug 2026 23:30:03 -0400</pubDate>
		<item>
			<title>IP существует в скрипте подсети.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243940">IP существует в скрипте подсети.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Даже если это старая информация, если кто-то наткнется, вот ответ: "in" :put (1.1.1.1/32 in 1.0.0.0/8); из <noindex><a href="https://wiki.mikrotik.com/wiki/Manual:Scripting#Logical_Operators" target="_blank" rel="nofollow" >https://wiki.mikrotik.com/wiki/Manual:Scripting#Logical_Operators</a></noindex>. Так, в случае у Сэма: [admin@...] &gt; :put (10.10.10.5/32 in 10.0.0.0/8)<br />true <br />
			<i>09.06.2022 09:13:00, PackElend.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243940</link>
			<guid>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243940</guid>
			<pubDate>Thu, 09 Jun 2022 09:13:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>IP существует в скрипте подсети.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243939">IP существует в скрипте подсети.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Да нет, этот адрес электронной почты – мой публичный (список рассылки). <br />
			<i>26.09.2005 15:24:00, sten.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243939</link>
			<guid>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243939</guid>
			<pubDate>Mon, 26 Sep 2005 15:24:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>IP существует в скрипте подсети.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243938">IP существует в скрипте подсети.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			[admin@mikroHome] system script&gt; run temp “Консоль аварийно завершилась или, возможно, система полностью загружена; пожалуйста, войдите заново.” Получаю вышеуказанную ошибку — но думаю, код правильный. Попробую немного подкорректировать и посмотрим, что можно сделать, чтобы это заработало. Этот email ниже — хороший PayPal адрес, чтобы я мог тебе за деньги? Очень жаль, что в скриптовом движке нет отладки или ведения логов. Если хоть что-то не так, то скрипт либо вообще не запускается, либо просто останавливается и ничего не сообщает. Я постоянно вставляю :log info “” на каждой второй строке, только чтобы понять, где что-то останавливается, но это действительно мучение. Спасибо! Сэм <br />
			<i>26.09.2005 15:19:00, changeip.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243938</link>
			<guid>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243938</guid>
			<pubDate>Mon, 26 Sep 2005 15:19:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>IP существует в скрипте подсети.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243937">IP существует в скрипте подсети.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			:global list “192.168.2.0/24,10.10.50.0/24,172.16.87.64/26”<br />:global inet “10.10.50.10/32”<br />:global inetaddr ([:pick $inet 0 [:find $inet “/”]] & (255.255.255.255 &lt;&lt; (32 - [:pick $inet ([:find $inet “/”] + 1) [:len $inet]]))<br />:foreach net in=[:toarray $list ] do={<br /> :if ( ([:pick $net 0 [:find $net “/”]] & (255.255.255.255 &lt;&lt; (32 - [:pick $net ([:find $net “/”] + 1) [:len $net]]))) = ($inetaddr & (255.255.255.255 &lt;&lt; (32 - [:pick $net ([:find $net “/”] + 1) [:len $net]])))) do={<br /> :put ( "matching network: " . $net ) }<br /> }<br />Это работает для тебя? Свяжись со мной по адресу: lists@wm-access.no <br />
			<i>26.09.2005 06:44:00, sten.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243937</link>
			<guid>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243937</guid>
			<pubDate>Mon, 26 Sep 2005 06:44:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>IP существует в скрипте подсети.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243936">IP существует в скрипте подсети.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я пробовал разные комбинации тестов, но так и не получал нужный результат. Хотел использовать функции address-list, но они очень медленные (особенно команда :find в консоли). Стен, ты помог мне продвинуться вперед… Если кто-то захочет попробовать и получить 50 долларов США, я сразу же выплатю через PayPal. : ) Вот что я пытаюсь сделать… :set bypass “192.168.2.0/24,10.10.50.0/24,172.16.87.64/26” :set ip 192.168.2.58/32 :if ($ip WITHIN $bypass) do={ } else={ } Я буду использовать ‘:toarray’ и ‘foreach’ для перебора записей bypass, чтобы протестировать каждую из них. В общем, мне нужно проверить, находится ли определенный IP-адрес/подсеть внутри другого списка IP-адресов/подсетей bypass. И код, который получится, мне нужно будет включить в новый скрипт входящего балансирования нагрузки — если хотите, я упомяну ваш код в комментариях. Это будет использоваться для исключения определенных адресов из любых обновлений ddns. Сэм <br />
			<i>25.09.2005 23:58:00, changeip.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243936</link>
			<guid>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243936</guid>
			<pubDate>Sun, 25 Sep 2005 23:58:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>IP существует в скрипте подсети.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243935">IP существует в скрипте подсети.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Только для v2.9: `global inet 192.168.1.1/23 :put (255.255.255.255 &lt;&lt; (32 - [:pick $inet ([:find $inet “/”] + 1) [:len $inet]])))`. Это должно вывести маску сети (255.255.254.0). Следующий фрагмент печатает сетевой адрес inet: `global inet 192.168.1.1/23 :put ([:pick $inet 0 [:find $inet “/”]] & (255.255.255.255 &lt;&lt; (32 - [:pick $inet ([:find $inet “/”]+1 ) [:len $inet]])))`. Логика в том, что если взять маску подсети маршрута и побитово И ее с рассматриваемым IP, то если рассматриваемый IP находится в этой подсети, сетевой адрес будет равен. Функция вроде `:put [ / ip route lookup 192.168.1.1 ]` была бы удобнее. Ни один из фрагментов не был протестирован перед публикацией. Я ленюсь. <br />
			<i>21.09.2005 10:48:00, sten.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243935</link>
			<guid>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243935</guid>
			<pubDate>Wed, 21 Sep 2005 10:48:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>IP существует в скрипте подсети.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243934">IP существует в скрипте подсети.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Работаю над более крупным скриптом для поддержки нового входящего распределения нагрузки на Mikrotik и есть вопрос к гуру скриптинга. Можно ли определить (булево значение) находится ли конкретный IP-адрес в конкретной подсети, например: :put (10.10.10.5 & 10.0.0.0/8)? Это из руководства – :put (10.16.0.134 & ~255.255.255.0). Знаю, что & в приведенном примере неверно, просто не уверен, как это реализовать. Я даже не уверен, что движок скриптов вообще работает с IP-адресами в стиле 0.0.0.0/0. Если попробовать это: :put [:toip 10.10.10.1/32], ничего не выводится. Если использовать это без /32, то работает. Я предполагаю, что это невозможно, но хочу задать этот вопрос гуру, чтобы они показали мне обратное. Основная цель — получить true или false, если определенный IP-адрес находится в определенной подсети. Я создаю переменную ‘exclude’, которая хранит IP-адреса, которые не должны совпадать, например 10/8, 172.16.x.x, 192.168/16 и другие, которые кто-то захочет исключить. Sam <br />
			<i>21.09.2005 04:10:00, changeip.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243934</link>
			<guid>http://mikrotik.moscow/forum/forum57/63437-ip-sushchestvuet-v-skripte-podseti./message243934</guid>
			<pubDate>Wed, 21 Sep 2005 04:10:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
