<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Использование таблиц для блокирования большого числа IP в pf или ipfw</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html</link>
    <description>Список IP адресов или подсетей находится в файле /etc/block1.txt&lt;br&gt;Например:&lt;br&gt;  10.10.1.1&lt;br&gt;  10.10.1.2&lt;br&gt;  192.168.0.0/16&lt;br&gt;&lt;br&gt;&lt;br&gt;IPFW&lt;br&gt;----&lt;br&gt;&lt;br&gt;Блок чтения IP в таблицу, проверка в которой будет осуществляться &lt;br&gt;не через последовательный перебор правил, а через выборки из хэша:&lt;br&gt; &lt;br&gt;   ipfw table 1 flush&lt;br&gt;   cat /etc/block1.txt &amp;#124; while read ip; do&lt;br&gt;      # echo ipfw table 1 add $ip 1&lt;br&gt;      ipfw table 1 add $ip 1&lt;br&gt;   done&lt;br&gt;&lt;br&gt;Привязка таблицы к правилу блокировки:&lt;br&gt;   ipfw add 100 deny ip from &quot;table(1)&quot; to any via em1&lt;br&gt;&lt;br&gt;Просмотр содержимого таблицы:&lt;br&gt;   ipfw table 1 list&lt;br&gt;&lt;br&gt;PF&lt;br&gt;--&lt;br&gt;&lt;br&gt;/etc/pf.conf&lt;br&gt;&lt;br&gt;   table &amp;lt;blockedips&amp;gt; persist file &quot;/etc/block1.txt&quot;&lt;br&gt;   ext_if=&quot;em1&quot; &lt;br&gt;   block drop in log (all) quick on $ext_if from &amp;lt;blockedips&amp;gt; to any&lt;br&gt;&lt;br&gt;Проверка корректности правил PF:&lt;br&gt;   pfctl -nf /etc/pf.conf&lt;br&gt;&lt;br&gt;Чтение правил PF:&lt;br&gt;   pfctl -f /etc/pf.conf&lt;br&gt;&lt;br&gt;Добавление и удаление адресов из таблицы на лету:&lt;br&gt;   pfctl -t blockedips -T add 192.168.1.1&lt;br&gt;   pfctl -t blockedips -T delete 192.168.1.1&lt;br&gt;&lt;br&gt;Просмотр содержимого </description>

<item>
    <title>Использование таблиц для блокирования большого числа IP в pf или ipfw (Murz)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#10</link>
    <pubDate>Thu, 14 Aug 2008 12:31:27 GMT</pubDate>
    <description>А как можно задать таблицу с кучей подсетей в iptables? Для каждой подсети своё правило?&lt;br&gt;</description>
</item>

<item>
    <title>Что-то предыдущий пост побился; повторяю (Дмитрий Ю. Карпов)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#9</link>
    <pubDate>Tue, 22 Jul 2008 18:36:52 GMT</pubDate>
    <description>А я делаю так (комментарии для тех, кому надо будет разбираться без меня):&lt;br&gt;&lt;br&gt;$&#123;fwcmd&#125; /dev/stdin &amp;lt;&amp;lt;_END_OF_RULESET_&lt;br&gt;&lt;br&gt;# Разрешить общение через LoopBack (внутренний интерфейс) с любыми IP-номерами&lt;br&gt;add 100 pass all from any to any via lo0&lt;br&gt;&lt;br&gt;# Запретить использование &quot;127.*.*.*&quot; как sourece и как destignation.&lt;br&gt;# Т.к. выше было разрешено общение через LoopBack, этот запрет фактически относится только ко внешним интерфейсам (к реальным сетевым картам, DialUp/VPN-соединениям и т.п.).&lt;br&gt;add 200 deny all from any to 127.0.0.0/8&lt;br&gt;add 210 deny all from 127.0.0.0/8 to any&lt;br&gt;&lt;br&gt;...&lt;br&gt;&lt;br&gt;# Очистить таблицу.&lt;br&gt;table 1 flush&lt;br&gt;&lt;br&gt;# Создать таблицу для доступа наружу по тому же списку, что и Web-доступ:&lt;br&gt;#взять программой awk файл /etc/block1.txt;&lt;br&gt;#убрать из него комментарии: sub(/&#091;;#&#093;.*/,&quot;&quot;,$0);&lt;br&gt;#если первый аргумент похож на IP-номер (цифры, разделённые точками)&lt;br&gt;#то преобразовать его в команду &quot;добавить в первую таблицу&quot;;&lt;br&gt;#всё это попадает в контекст выполнения, т.к. заключено в &#096;&#096;.&lt;br&gt;&#096;awk &apos;&#123; sub(/&#091;;#&#093;.*/,&quot;&quot;,$0); if</description>
</item>

<item>
    <title>А я делаю так (комментарии для тех, кому надо будет разбираться без ме (Дмитрий Ю. Карпов)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#8</link>
    <pubDate>Tue, 22 Jul 2008 18:35:34 GMT</pubDate>
    <description>$&#123;fwcmd&#125; /dev/stdin &amp;lt;&amp;lt;_END_OF_RULESET_&lt;br&gt;&lt;br&gt;# Разрешить общение через LoopBack (внутренний интерфейс) с любыми IP-номерами&lt;br&gt;add 100 pass all from any to any via lo0&lt;br&gt;&lt;br&gt;# Запретить использование &quot;127.*.*.*&quot; как sourece и как destignation.&lt;br&gt;# Т.к. выше было разрешено общение через LoopBack, этот запрет фактически относится только ко внешним интерфейсам (к реальным сетевым картам, DialUp/VPN-соединениям и т.п.).&lt;br&gt;add 200 deny all from any to 127.0.0.0/8&lt;br&gt;add 210 deny all from 127.0.0.0/8 to any&lt;br&gt;&lt;br&gt;...&lt;br&gt;&lt;br&gt;# Очистить таблицу.&lt;br&gt;table 1 flush&lt;br&gt;&lt;br&gt;# Создать таблицу для доступа наружу по тому же списку, что и Web-доступ:&lt;br&gt;#взять программой awk файл /etc/block1.txt;&lt;br&gt;#убрать из него комментарии: sub(/&#091;;#&#093;.*/,&quot;&quot;,$0);&lt;br&gt;#если первый аргумент похож на IP-номер (цифры, разделённые точками)&lt;br&gt;#то преобразовать его в команду &quot;добавить в первую таблицу&quot;;&lt;br&gt;#всё это попадает в контекст выполнения, т.к. заключено в &#096;&#096;.&lt;br&gt;&#096;awk &apos;&#123; sub(/&#091;;#&#093;.*/,&quot;&quot;,$0); if ( $1 ~ /&#091;0-9&#093;+&#092;.&#091;0-9&#093;+&#092;.&#091;0-9&#093;+&#092;.&#091;0-9&#093;+/ ) print &quot;table 1 add &quot; $1 &#125;&apos; /etc/blo</description>
</item>

<item>
    <title>Использование таблиц для блокирования большого числа IP в pf или ipfw (dm)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#7</link>
    <pubDate>Thu, 17 Jul 2008 12:26:18 GMT</pubDate>
    <description>а есть еще и такая тема в pf, очень удобно:&lt;br&gt;&lt;br&gt;block  quick from &amp;lt;badHosts&amp;gt;&lt;br&gt;&lt;br&gt;pass in log quick on em0  proto tcp from any to &amp;lt;myIN&amp;gt; port 443 flags S/SA keep state &#092;&lt;br&gt;                (source-track rule, max-src-conn-rate 100/10, overload &amp;lt;badHosts&amp;gt; flush global)&lt;br&gt;&lt;br&gt;---man pf.conf---&lt;br&gt;   max-src-conn-rate &amp;lt;number&amp;gt; / &amp;lt;seconds&amp;gt;&lt;br&gt;           Limit the rate of new connections over a time interval.  The con-&lt;br&gt;           nection rate is an approximation calculated as a moving average.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Использование таблиц для блокирования большого числа IP в pf... (zyx)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#6</link>
    <pubDate>Sun, 13 Jul 2008 22:10:44 GMT</pubDate>
    <description>Молодец!&lt;br&gt;Хорошо но не отлично - можно обойтись без временных файлов:&lt;br&gt;echo &quot;table 1 list&quot; &amp;#124; ipfw /dev/stdin&lt;br&gt;</description>
</item>

<item>
    <title>Использование таблиц для блокирования большого числа IP в pf... (mummy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#5</link>
    <pubDate>Sun, 13 Jul 2008 07:24:26 GMT</pubDate>
    <description>Быстрее создать временный файл и один раз вызвать /sbin/ipfw на 1000 адресов, чем 1000 раз вызывать /sbin/ipfw для каждого адреса. Ну почти в 1000 раз быстрее ;)&lt;br&gt;&lt;br&gt;# Создаем временный файл /tmp/block1.txt на основе /etc/block1.txt&lt;br&gt;echo &quot;table 1 flush&quot; &amp;gt; /tmp/block1.txt&lt;br&gt;cat /etc/block1.txt &amp;#124; awk &apos;&#123;print &quot;table 1 add&quot;,$1&#125;&apos; &amp;gt;&amp;gt; /tmp/block1.txt&lt;br&gt;&lt;br&gt;# Проверяем правильность и тогда применяем правила из файла&lt;br&gt;/sbin/ipfw -qn /tmp/block1.txt &amp;&amp; /sbin/ipfw -q /tmp/block1.txt&lt;br&gt;&lt;br&gt;# Удаляем временный файл&lt;br&gt;rm -f /tmp/block1.txt&lt;br&gt;</description>
</item>

<item>
    <title>Использование таблиц для блокирования большого числа IP в pf или ipfw (ыыыыыыыыыыыыыы)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#4</link>
    <pubDate>Sat, 12 Jul 2008 19:05:03 GMT</pubDate>
    <description>to mummy:&lt;br&gt;если список ip не только для ipfw используецца? то зачем плодить &quot;table 1 add &quot;&lt;br&gt;</description>
</item>

<item>
    <title>Использование таблиц для блокирования большого числа IP в pf или ipfw (mummy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#2</link>
    <pubDate>Fri, 11 Jul 2008 14:41:45 GMT</pubDate>
    <description>Брехня, быстрее так - создаём файл /tmp/block1.txt&lt;br&gt;table 1 add 10.10.1.1&lt;br&gt;table 1 add 10.10.1.2&lt;br&gt;table 1 add 192.168.0.0/16&lt;br&gt;&lt;br&gt;Затем сначала делается проверка синтаксиса, если правилно, то применяется&lt;br&gt;/sbin/ipfw -qn /tmp/block1.txt &amp;&amp; /sbin/ipfw -q /tmp/block1.txt&lt;br&gt;</description>
</item>

<item>
    <title>Использование таблиц для блокирования большого числа IP в pf или ipfw (zuborg)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/42837.html#1</link>
    <pubDate>Fri, 11 Jul 2008 12:29:37 GMT</pubDate>
    <description>cat /etc/block1.txt &amp;#124; xargs -n 1 ipfw table 1 add&lt;br&gt;</description>
</item>

</channel>
</rss>
