<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Трансляция адресов во FreeBSD средствами ng_nat</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html</link>
    <description>Для работы этого примера необходимо иметь подгруженный ng_ipfw.ko&lt;br&gt;&lt;br&gt;Убедиться в его наличии можно командой:&lt;br&gt;&lt;br&gt;   /sbin/kldstat&amp;#124; grep ng_ipfw.ko&lt;br&gt;&lt;br&gt;Если ng_ipfw.ko не загружен, то загружаем его:&lt;br&gt;&lt;br&gt;   /sbin/kldload /boot/kernel/ng_ipfw.ko&lt;br&gt;&lt;br&gt;После того как ng_ipfw.ko подгружен, в выводе команды:&lt;br&gt;&lt;br&gt;   /usr/sbin/ngctl list&lt;br&gt;&lt;br&gt;появится строчка вида:&lt;br&gt;&lt;br&gt;   Name: ipfw Type: ipfw ID: 00000023 Num hooks: 2&lt;br&gt;&lt;br&gt;Без загруженного ng_ipfw.ko при попытке выполнить команды ngctl&apos;а вы будете получать сообщение:&lt;br&gt;&lt;br&gt;   ngctl: send msg: No such file or directory&lt;br&gt;&lt;br&gt;а при попытке добавить правило в ipfw получите:&lt;br&gt;&lt;br&gt;   ipfw: getsockopt(IP_FW_ADD): Invalid argument&lt;br&gt;&lt;br&gt;Настройка ng_nat проста и сводится к скрипту:&lt;br&gt;&lt;br&gt;Для примера будем NAT&apos;ить подсеть 172.16.5.96/27 через IP-адрес 192.168.20.8 на внешнем интерфейсе fxp0.&lt;br&gt;&lt;br&gt;   #!/usr/bin/perl&lt;br&gt;&lt;br&gt;   $ip=&apos;192.168.20.8&apos;;&lt;br&gt;   $iface=&apos;fxp0&apos;;&lt;br&gt;   $net=&apos;172.16.5.96/27&apos;;&lt;br&gt;   $cmd=sprintf(&quot;/usr/sbin/ngctl -f - &amp;lt;&amp;lt; -EOF&lt;br&gt;   mkpeer ipfw: nat 60 out&lt;br&gt;   name ipfw:60 nat&lt;br&gt;   connect ipfw</description>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (xOr)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#17</link>
    <pubDate>Mon, 15 Jun 2009 06:50:43 GMT</pubDate>
    <description>Большое спасибо за информацию по ng_nat!&lt;br&gt;&lt;br&gt;Команду вводил в терминале ngctl&lt;br&gt;Почему-то сейчас воспроизвести ошибку не получается. Возможно ошибался в формате в другом месте.&lt;br&gt;&lt;br&gt;Насчет памяти ядра, libalias занимает совсем мало. Видимо, сбой не был связан с NAT.&lt;br&gt;   libalias  1074   198K       -  2535191  128&lt;br&gt;&lt;br&gt;Хотя в данный момент нагрузка на NAT по кол-ву соединений невелика.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (nuclight)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#16</link>
    <pubDate>Fri, 12 Jun 2009 14:12:36 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt;На такое ругается: &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;msg nat1: redirectport &#123; local_addr=x.x.x.x local_port=8865 alias_port=8865 proto=6 description=&quot;aaaa&quot;&#125; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Вообще, надо показывать, как ругается. Подозреваю, что пробел перед закрывающей фигурной забыли. &lt;br&gt;&lt;br&gt;Вообще, показывать надо не только как ругается, но и полную команду - что (и где) набрали.&lt;br&gt;&lt;br&gt;&amp;gt;Спасибо! Без пробела (как указано выше) заработало. &lt;br&gt;&amp;gt;С пробелом перед закрывающей скобкой ругается: &lt;br&gt;&amp;gt;ngctl: send msg: Invalid argument &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Однако, в следующем виде прекрасно добавляет (пробел после протокола): &lt;br&gt;&amp;gt;msg nat1: redirectport &#123; local_addr=x.x.x.x local_port=8865 alias_port=8865 proto=6 &#125; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А нужно без пробелов в начале и в конце в любом случае? &lt;br&gt;&lt;br&gt;На самом деле, сам ngctl ест и с пробелами, и без них, вот я его сейчас интерактивно запустил и проверил. По коду у меня EINVAL возвращается, только если длина структуры меньше положенной, то есть парсинг был кривой. Поскольку вы не показываете, как именно передаете команды, мне остается только подозревать, что вы напа</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (xOr)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#15</link>
    <pubDate>Thu, 11 Jun 2009 08:07:24 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Научите, пожалуйста, задавать description через ngctl. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;На такое ругается: &lt;br&gt;&amp;gt;&amp;gt;msg nat1: redirectport &#123; local_addr=x.x.x.x local_port=8865 alias_port=8865 proto=6 description=&quot;aaaa&quot;&#125; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Вообще, надо показывать, как ругается. Подозреваю, что пробел перед закрывающей фигурной забыли. &lt;br&gt;&lt;br&gt;Спасибо! Без пробела (как указано выше) заработало.&lt;br&gt;С пробелом перед закрывающей скобкой ругается:&lt;br&gt;ngctl: send msg: Invalid argument&lt;br&gt;&lt;br&gt;Однако, в следующем виде прекрасно добавляет (пробел после протокола):&lt;br&gt;msg nat1: redirectport &#123; local_addr=x.x.x.x local_port=8865 alias_port=8865 proto=6 &#125;&lt;br&gt;&lt;br&gt;А нужно без пробелов в начале и в конце в любом случае? &lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;И кто-нибудь знает ещё, как ограничить размер таблицы соединений NAT, чтобы ядерная &lt;br&gt;&amp;gt;&amp;gt;память не кончалась,  а наиболее старые соединения выкидывались.  А &lt;br&gt;&amp;gt;&amp;gt;также как увеличить память ядра под эту таблицу. &lt;br&gt;&amp;gt;&amp;gt;У меня тысячи одновременных коннектов. Через несколько дней начинает глючить.  sysctl &lt;br&gt;&amp;gt;&amp;gt;показывает полную загрузку одного про</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (nuclight)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#14</link>
    <pubDate>Wed, 10 Jun 2009 13:11:16 GMT</pubDate>
    <description>&amp;gt;Научите, пожалуйста, задавать description через ngctl. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;На такое ругается: &lt;br&gt;&amp;gt;msg nat1: redirectport &#123; local_addr=x.x.x.x local_port=8865 alias_port=8865 proto=6 description=&quot;aaaa&quot;&#125; &lt;br&gt;&lt;br&gt;Вообще, надо показывать, как ругается. Подозреваю, что пробел перед закрывающей фигурной забыли.&lt;br&gt;&lt;br&gt;&amp;gt;И кто-нибудь знает ещё, как ограничить размер таблицы соединений NAT, чтобы ядерная &lt;br&gt;&amp;gt;память не кончалась,  а наиболее старые соединения выкидывались.  А &lt;br&gt;&amp;gt;также как увеличить память ядра под эту таблицу. &lt;br&gt;&amp;gt;У меня тысячи одновременных коннектов. Через несколько дней начинает глючить.  sysctl &lt;br&gt;&amp;gt;показывает полную загрузку одного проца, а ping любого адреса выдает: cannot &lt;br&gt;&amp;gt;allocate memory. Причем память свободная есть.  &lt;br&gt;&lt;br&gt;Это памяти ядра ему не хватает. Да, есть такая проблема, но, к сожалению, полного решения для неё нет. Во-первых, можно увеличить в /boot/loader.conf значение vm.kmem_size, во-вторых, прошлым летом в 7-ку был патч, который более агрессивно удаляет старые соединения, чтобы меньше текло: http://www.free</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (xOr)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#13</link>
    <pubDate>Wed, 10 Jun 2009 12:46:27 GMT</pubDate>
    <description>&amp;gt;ipfw nat  работает без утечек и стабильно, рестартовать тоже не сложно &lt;br&gt;&amp;gt;&lt;br&gt;&lt;br&gt;Аналогичный вопрос к знатокам ipfw nat: Как ограничить размер таблицы соединений, чтобы она не занимала всю доступную память со временем?&lt;br&gt;</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (xOr)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#12</link>
    <pubDate>Wed, 10 Jun 2009 12:45:27 GMT</pubDate>
    <description>&amp;gt;&amp;gt;есть ли преимущество ng_nat по сравнению с ipfw nat ? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;1) Менее глючен конфигуратор &lt;br&gt;&amp;gt;2) Проще рестартовать при утечках памяти (раз в месяц по крону и &lt;br&gt;&amp;gt;живем без паник) &lt;br&gt;&amp;gt;3) В ipfw nat редиректы не имеют поля описания, ng_nat имеет, что &lt;br&gt;&amp;gt;позволяет дружить его с UPnP/NAT-PMP редиректорами. &lt;br&gt;&lt;br&gt;Научите, пожалуйста, задавать description через ngctl.&lt;br&gt;&lt;br&gt;На такое ругается:&lt;br&gt;msg nat1: redirectport &#123; local_addr=x.x.x.x local_port=8865 alias_port=8865 proto=6 description=&quot;aaaa&quot;&#125;&lt;br&gt;&lt;br&gt;И кто-нибудь знает ещё, как ограничить размер таблицы соединений NAT, чтобы ядерная память не кончалась,  а наиболее старые соединения выкидывались.  А также как увеличить память ядра под эту таблицу.&lt;br&gt;У меня тысячи одновременных коннектов. Через несколько дней начинает глючить.  sysctl показывает полную загрузку одного проца, а ping любого адреса выдает: cannot allocate memory. Причем память свободная есть.  Лечится ребутом машины.&lt;br&gt;&lt;br&gt;Насчет преимуществ ipfw nat - можно задавать диапазон портов для перенаправления.&lt;br&gt;Или в ng_n</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (grayich)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#11</link>
    <pubDate>Fri, 13 Mar 2009 19:46:02 GMT</pubDate>
    <description>&lt;br&gt;достаточно его просто переконфигурировать&lt;br&gt;но всеже лучше вначале его удалить, т.е. последовательность такая&lt;br&gt;  ipfw nat 1 delete&lt;br&gt;  ipfw nat 1 config if fxp0 log same_ports&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (Аноним)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#10</link>
    <pubDate>Fri, 13 Mar 2009 19:26:01 GMT</pubDate>
    <description>&amp;gt;ipfw nat  работает без утечек и стабильно, рестартовать тоже не сложно&lt;br&gt;&lt;br&gt;Как рестартовать ipfw nat ?&lt;br&gt;</description>
</item>

<item>
    <title>Раздел полезных советов: Трансляция адресов во FreeBSD средс... (nuclight)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/50511.html#9</link>
    <pubDate>Fri, 13 Mar 2009 10:56:13 GMT</pubDate>
    <description>&amp;gt;2) Проще рестартовать при утечках памяти (раз в месяц по крону и &lt;br&gt;&amp;gt;живем без паник) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;вот это FreeBSD рулез... &lt;br&gt;&lt;br&gt;Ну меня жаба душит еще 256 метров оперативы в сервер втыкать. Так бы хватало, ну если кто специально флудить не начнет, конечно.&lt;br&gt;</description>
</item>

</channel>
</rss>
