The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

ipfw nat во FreeBSD 7
В конфигурацию ядра добавляем:

   options         IPFIREWALL              #firewall
   options         IPFIREWALL_VERBOSE      #enable logging to syslogd(8)
   options         IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default
   options         IPDIVERT
   options         IPFIREWALL_FORWARD
   options         DUMMYNET
   options         IPFIREWALL_NAT          #ipfw kernel nat support
   options         LIBALIAS

в /etc/make.conf:

   CFLAGS+= -DIPFIREWALL_NAT

Далее пересобираем систему:

   cd /usr/src/ ; make builworld && make kernel KERNCONF=YourKern &&  make installworld
   reboot

В конфигурационном файле ipfw:

   NatIP="111.111.111.111"
   ipfw nat 123 config ip ${NatIP} log
   ipfw add 10 nat 123 ip from 192.168.0.0/16 to any
   ipfw add 20 nat 123 ip from any to ${NatIP}

Наслаждаемся достоинствами kernel nat
 
12.03.2008 , Автор: Pikador
Ключи: ipfw, nat, freebsd / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетный фильтр в FreeBSD: ipfw, IP-Filter

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, phoenix, 17:48, 12/03/2008 [ответить] [смотреть все]
  • +/
    А мир зачем пересобирать?
     
  • 1.2, bANAn, 17:52, 12/03/2008 [ответить] [смотреть все]
  • +/
    вот это
    options         IPDIVERT

    и вот это
    CFLAGS+= -DIPFIREWALL_NAT

    лишнее

     
  • 1.3, void, 18:16, 12/03/2008 [ответить] [смотреть все]
  • +/
    Пересобирал только ядро, правда с
    CFLAGS+= -DIPFIREWALL_NAT
    просто
    make buildkernel KERNCONF=KERN && make installkernel KERNCONF=KERN

    3 дня полет нормальный...

     
     
  • 2.29, h, 18:26, 22/03/2008 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Кстати, это то же самое, что и make kernel KERNCONF KERN... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, xaka, 19:19, 12/03/2008 [ответить] [смотреть все]  
  • +/
    А как оно по скорости? Быстрее, чем раньше, связка ipfw + natd?!
     
     
  • 2.14, nightowl, 15:40, 13/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Так понятно, что быстрее болжно то быть, потому как Кернел левел :)
     
  • 1.5, GhostMaster, 20:28, 12/03/2008 [ответить] [смотреть все]  
  • +/
    Быстрее и гораздо гибче, работает с тегами, нетграфом. Пользуюсь уже больше года - стабильно как скала :))
     
  • 1.6, dm, 20:53, 12/03/2008 [ответить] [смотреть все]  
  • +/
    ага и с чего такой акцент на amd64 ? непонятно
     
  • 1.7, void, 21:57, 12/03/2008 [ответить] [смотреть все]  
  • +/
    а никто мира не пересобирал? ато я чегото таких рекомендаций не видел... я не пересобирал.
     
  • 1.8, miver, 00:15, 13/03/2008 [ответить] [смотреть все]  
  • +/
    а бинат умеет?
     
  • 1.9, Pikador, 11:57, 13/03/2008 [ответить] [смотреть все]  
  • +/
    Без пересборки мира не заработало, но, видимо достаточно было пересобрать ipfw
     
  • 1.10, xaka, 12:23, 13/03/2008 [ответить] [смотреть все]  
  • +/
    Я мир не трогал, внёс изменения в конфиг ядра, сделал make kernel KERNCONF=... и всё заработало как часики.
     
  • 1.11, Pikador, 12:29, 13/03/2008 [ответить] [смотреть все]  
  • +/
    На счет функционала kernel nat
    http://www.freebsd.org/cgi/man.cgi?query=ipfw&apropos=0&sektion=8&manpath=Fre

    Внизу примеры

     
     
  • 2.19, grayich, 12:50, 15/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    что то не видно примеров
     
  • 1.12, Dyr, 13:35, 13/03/2008 [ответить] [смотреть все]  
  • +/
    Бинат (пока?) не умеет.
    Жрёт немного больше, чем ng_nat.
     
     
  • 2.31, nuclight, 20:53, 22/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Он же на том же libalias работает Чем замеряли ... весь текст скрыт [показать] [показать ветку]
     
  • 1.13, Dyr, 13:37, 13/03/2008 [ответить] [смотреть все]  
  • +/
    Из всего конфига обязательно лишь
    options         IPFIREWALL
    options         IPFIREWALL_NAT
    options         LIBALIAS

    В make.conf указывать флаг совершенно не обязательно (и откуда только это пошло...С бета-версий, что ли?)

     
     
  • 2.26, hate, 10:00, 20/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не забудьте пропатчить, а то в корку валиться если например порты редиректить -... весь текст скрыт [показать] [показать ветку]
     
  • 1.15, SiD, 17:24, 13/03/2008 [ответить] [смотреть все]  
  • +/
    а как под большими нагрузками, ip на 5000-7000 ?
     
     
  • 2.16, Аноним, 02:50, 14/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    если ты пров - зачем тебе натить 7к ипов?
    Чтоб поиметь себе же гемор потом?
     
  • 2.17, Ilya Evseev, 08:57, 14/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Хуже, чем pf NAT Недостаток у libalias общий с ngnat медленный алгоритм выделе... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.20, Dyr, 19:33, 15/03/2008 [^] [ответить] [смотреть все]  
  • +/
    Ну это ты ОЧЕНЬ загнул У нас он тянул до 200 мбит сек pf bi- NAT вытягивал до... весь текст скрыт [показать]
     
     
  • 4.24, freeseacher, 07:07, 20/03/2008 [^] [ответить] [смотреть все]  
  • +/
    господа методику понимания что есть еще запас расскажите пожалуйста.
     
     
  • 5.28, Dyr, 15:46, 21/03/2008 [^] [ответить] [смотреть все]  
  • +/
    Запускаешь top -SH и смотришь, сколько ест процесс swi1 net Аппроксимируешь к... весь текст скрыт [показать]
     
  • 3.30, nuclight, 20:52, 22/03/2008 [^] [ответить] [смотреть все]  
  • +/
    Откуда инфа Маловато, у народа гораздо больше тянет А redirect_address чем не ... весь текст скрыт [показать]
     
  • 1.18, misteras, 12:04, 14/03/2008 [ответить] [смотреть все]  
  • +/
    Только вот с фильтрацией полный бордак
    теперь чтобы перекрыть к примеру smtp трафик я должен написать запрещающее правило перед натингом

    Раньше при использовании демона (natd только транслировал), а решение о разрешении ли запрете пакета формировались правилами после трансляции
    И так было удобно поскольку можно было добавить разрешающие правила, а остальное все запретить

     
     
  • 2.25, azav, 09:54, 20/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    net inet ip fw one_pass 0 И формируй правила после трансляции Сам еще не прове... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.70, sach, 22:08, 14/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Нет не помогает Как все-таки использовать политику запрета по-умолчанию Я если... весь текст скрыт [показать]
     
  • 1.21, креведко, 18:53, 16/03/2008 [ответить] [смотреть все]  
  • +/
    NatIP="111.111.111.111" - это ip интерфейса, который смотрит в инет? или нет?
     
  • 1.22, lamo, 19:02, 16/03/2008 [ответить] [смотреть все]  
  • +/
    если в инет смотрит ng ipfw nat сможет натить на него?
     
     
  • 2.23, void, 12:58, 17/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    ему паходу всеравно что натить
     
  • 1.27, alex_471, 16:52, 20/03/2008 [ответить] [смотреть все]  
  • +/
    народ, а  passive ftp работает ?

    поэтому предпочитаю ipnat

     
     
  • 2.33, Pahanivo, 09:24, 23/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А чож пассивный то не будет работать - он всегда будет робить ибо оба соединения... весь текст скрыт [показать] [показать ветку]
     
  • 1.32, Pahanivo, 09:23, 23/03/2008 [ответить] [смотреть все]  
  • +/
    А как у него с обработкой хитрых конектов изнутри типа активный FTP?
     
     
  • 2.34, nuclight, 11:54, 23/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Так же, как и у natd - то есть, переписывает адреса и все прекрасно ходит ... весь текст скрыт [показать] [показать ветку]
     
  • 1.35, Аноним, 10:54, 24/03/2008 [ответить] [смотреть все]  
  • +/
    странно пр добавлении опции LIBALIAS ядро не собирается - может у нее есть завис... весь текст скрыт [показать]
     
     
  • 2.36, alexcom, 14:52, 24/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    с IPv6 :)
     
  • 1.37, folax, 13:58, 29/03/2008 [ответить] [смотреть все]  
  • +/
    Подскажите пожалуста.А какой порядок написания правил для IPFW после этой процедуры.Пример если можно.
     
  • 1.38, Vitaly_loki, 13:07, 11/04/2008 [ответить] [смотреть все]  
  • +/
    А зачем еще один kernel-nat во FreeBSD, если там с FreeBSD 4.Х есть IPNAT?
     
     
  • 2.39, nuclight, 13:39, 11/04/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Затем, например, что ipnat не умеет анализ протоколов на L7 FTP, IRC DCC, PPTP ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.40, Roman, 06:42, 24/04/2008 [^] [ответить] [смотреть все]  
  • +/
    вопрос такой назрел пишем мы ipfw nat 123 config ip 111 111 111 111 log а где эт... весь текст скрыт [показать]
     
     
  • 4.41, strmaks, 15:55, 24/04/2008 [^] [ответить] [смотреть все]  
  • +/
    У меня заработало только когда написал ipfw add 10 nat 123 log ip from траляля д... весь текст скрыт [показать]
     
     
  • 5.42, ALF, 21:55, 04/06/2008 [^] [ответить] [смотреть все]  
  • +/
    А у меня пинг какойто дикий с kernel nat, а запускаю тот же natd все нормуль!
     
  • 5.43, ALF, 21:56, 04/06/2008 [^] [ответить] [смотреть все]  
  • +/
    А у меня пинг какойто дикий с kernel nat, а запускаю тот же natd все нормуль!
     
  • 1.44, XoXoL, 08:27, 07/06/2008 [ответить] [смотреть все]  
  • +1 +/
    А не подскажет кто, как организовать, если я хочу во внутренней сетке web-сервак... весь текст скрыт [показать]
     
     
  • 2.45, ZAZmaster, 09:27, 21/08/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Может тут как в PF сначала rdr а потом nat?
     
     
  • 3.46, nuclight, 12:05, 21/08/2008 [^] [ответить] [смотреть все]  
  • +/
    Нет, здесь так же как в natd, соответсвенно все рекомендации подходят, только di... весь текст скрыт [показать]
     
     
  • 4.47, vd, 08:32, 29/08/2008 [^] [ответить] [смотреть все]  
  • +/
    про сборку ядра еще со времен BSD юзаю config my_config_kernel далее как обыч... весь текст скрыт [показать]
     
     
  • 5.48, Ромарь, 03:29, 30/09/2008 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален аналогичная проблема пакеты больше 1472 через ядерный на... весь текст скрыт [показать]
     
     
  • 6.59, chillivilli, 19:34, 14/07/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален у меня и через natd не ходят,1472 идут - 1473 уже нет... весь текст скрыт [показать]
     
  • 1.49, Николай, 16:29, 11/11/2008 [ответить] [смотреть все]  
  • +/
    Что делать если я не знаю ${NatIP}? Т.е. если он у меня динамический
     
     
  • 2.50, SiD, 01:23, 12/11/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    писать скрипт, который с ifconfig дернет IP и подставит в переменную ... весь текст скрыт [показать] [показать ветку]
     
  • 2.51, John Smith, 03:39, 22/11/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    http www freebsd org cgi man cgi query ipfw sektion 8 NETWORK_ADDRESS_TRANSLAT... весь текст скрыт [показать] [показать ветку]
     
  • 1.52, Vovanxx1, 11:33, 18/01/2009 [ответить] [смотреть все]  
  • +/
    Необходим ядерный ipfw nat on freebsd 4.x in kernel mode, есть ли готовые решения, можете что-то посоветовать? Может быть существует какой-то backport libalis and ipfw2 в 4ую ветку?
     
     
  • 2.53, Kris, 17:51, 12/02/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Как считаете Есть толстая труба в интернет Надо сделать так, что бы для пользо... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.54, Илья, 19:01, 12/02/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален потянет, есть опыт IPFW NAT на P4 - 2000 пользователей ж... весь текст скрыт [показать]
     
     
  • 4.55, Kris, 10:30, 13/02/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален Спасибо за ответ Уже ядро пересобираю ... весь текст скрыт [показать]
     
  • 1.56, маил, 10:47, 17/03/2009 [ответить] [смотреть все]  
  • +/
    а как пробросить только один порт? напиример 80
     
     
  • 2.57, igor, 06:15, 30/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    редирект 80 порта на внутренний сервер ipfw nat 10 config ip внешний_ip red... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.60, Hm, 01:56, 27/07/2009 [^] [ответить] [смотреть все]  
  • +/
    ># редирект 80 порта на внутренний сервер
    >ipfw nat 10 config ip ${внешний_ip} redirect_port tcp ${внутренний_ip_вебсервера}:80 80
    >ipfw add nat 10 tcp from ${внутренний_ip_вебсервера} 80 to any out via
    >${внешний_интерфейс}

    не работает, т.к. с 80 порта нет редиректа на внутренний_ip_вебсервера.

     
  • 1.58, AdVv, 18:30, 13/05/2009 [ответить] [смотреть все]  
  • +/
    Извиняюсь за некропостинг, с KERNEL NAT не работает NAT для PPTP. Конфигурация:

    firewall_enable="YES"
    firewall_type="OPEN"

    firewall_nat_enable="YES"
    firewall_nat_interface="vlan0"
    firewall_nat_flags="same_ports redirect_port tcp 192.168.1.30:210 210 redirect_port tcp 192.168.2.1:6112 6112"

    Если так:

    natd_enable="YES"
    natd_flags="-redirect_port tcp 192.168.1.30:210 210 -redirect_port tcp 192.168.2.1:6112 6112 -unregistered_only -use_sockets -same_ports  -punch_fw 19000:100"
    natd_interface="vlan0"

    то все работает нормально.


     
  • 1.61, Igor, 10:43, 13/08/2009 [ответить] [смотреть все]  
  • +/
    Извините если я туплю. Маюсь уже целый месяц. Не работает nat кернельный и все, хоть ты тресни.

    Коротко: судя по трафику, пакеты syn пробрасываются натом нормально на внутренний комп, но syn ack уходят от нее с нулевым чексумом, поэтому tcp connection не создается. (это я смотрю на стороне внутреннего сервера w2k3sp2 куда перебрасываются порты)
    В тоже самое время, при прохождении через роутер(фря 7,2 stable) нормально эти пакеты принимает и ставит туда нормальный чексум и отправляет syn ack отправителю.

    w2k3sp2(куда пробрасываются порты) пытался грузить в safe mode чтобы вырубить всевозможные левые фильтры, результат такой же, т.е. что то я понаписал в настройках ipfw не то.

    это читал. http://www.lissyara.su/?id=1967
    не помогло
    если можете помочь, могу логи и конфиги выслать. Если кто то с таким сталкивался помогите. Я точно знаю, что я где-то загигулинку не поставил, но где не знаю.

     
     
  • 2.62, terminus, 12:07, 19/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Коротко: судя по трафику, пакеты syn пробрасываются натом нормально на внутренний комп,
    >но syn ack уходят от нее с нулевым чексумом, поэтому tcp
    >connection не создается. (это я смотрю на стороне внутреннего сервера w2k3sp2
    >куда перебрасываются порты)
    >В тоже самое время, при прохождении через роутер(фря 7,2 stable) нормально эти
    >пакеты принимает и ставит туда нормальный чексум и отправляет syn ack
    >отправителю.

    попробуйте выключить фукции аппаратного ускорения расчета контрольных сумм на сетевухе где рпботает нат.

    ifconfig em0 -rxcsum -txcsum

     
     
  • 3.69, gorec2005, 16:52, 25/01/2010 [^] [ответить] [смотреть все]  
  • +/
    >[оверквотинг удален]
    >>connection не создается. (это я смотрю на стороне внутреннего сервера w2k3sp2
    >>куда перебрасываются порты)
    >>В тоже самое время, при прохождении через роутер(фря 7,2 stable) нормально эти
    >>пакеты принимает и ставит туда нормальный чексум и отправляет syn ack
    >>отправителю.
    >
    >попробуйте выключить фукции аппаратного ускорения расчета контрольных сумм на сетевухе где рпботает
    >нат.
    >
    >ifconfig em0 -rxcsum -txcsum

    Мне (под esxi) помогло! - спасибо!

     
  • 2.66, igor, 17:49, 20/12/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Если кому интересно. Я нашел почему не работал NAT.
    после того как убрал вот это динамическое правило все заработало
    ipfw add allow tcp from any to any via $oif established #$oif внешний интерйфейс
     
  • 1.63, panteraon, 20:52, 24/08/2009 [ответить] [смотреть все]  
  • +/
    Люди добрые помогите, делал все как по ману...src и порты обновлял все свежее, фря пропатченная...на первые две фазы построения мира и сборки ядра проходят нормально, на стадии инсталляции мира все останавливается...короче как в этом примере происходит все http://liste.gufi.org/pipermail/freesbie/2005-January/000621.html

    за исключением что там остановка происходит на криптографической библиотечке....

    http://unix.derkeiler.com/pdf/Mailing-Lists/FreeBSD/stable/2005-11/0443.pdf если быть точнее происходит примерно это

    наткнулся тут еще на это
    http://periscope.opennet.ru/openforum/vsluhforumID1/83520.html
    может еще что нужно поправить в make.conf? есть идеи?

    попробовал поковырять make.conf в соответствии с вышеупомянутым материалом....не помогает...такое ощущение что зря cvsup делал со stabble-supfile вместо standard-supfile...

    до этого 7.1 обновлял до 7.2 и качал патчи до 7.2-p2.......сейчас кажется патчи докатываются до p3

     
     
  • 2.64, panteraon, 23:32, 24/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    вопрос закрыт ;) ошибка была в конфе ядра по ходу...
     
     
  • 3.65, panteraon, 12:46, 25/08/2009 [^] [ответить] [смотреть все]  
  • +/
    не, не закрыт ;) тупо ядро не компилится....ужас.....


     
     
  • 4.67, klim, 23:09, 06/01/2010 [^] [ответить] [смотреть все]  
  • +/
    В роли шлюза - вирт. машина:
    FreeBSD 7.2 +
    Памяти 1 гб
    2 сетевые по 1 гб\сек в бридже
    2 проц. по 2.4 ггц

    Скорость передачи данных через нат не превышает 10 магабайт в секунду.

    Статистика при передаче:
    процессор 30.21% natd (пиковая цифра)
    свободно памяти больше половины
    snmp показывает что на сетевых интерфейсах скорость не больше 10 мегабайт в секунду

    Где узкое место? Как добиться увеличения скорости?

     
     
  • 5.68, SiD, 22:20, 07/01/2010 [^] [ответить] [смотреть все]  
  • +/
    >[оверквотинг удален]
    >
    >Скорость передачи данных через нат не превышает 10 магабайт в секунду.
    >
    >Статистика при передаче:
    >процессор 30.21% natd (пиковая цифра)
    >свободно памяти больше половины
    >snmp показывает что на сетевых интерфейсах скорость не больше 10 мегабайт в
    >секунду
    >
    >Где узкое место? Как добиться увеличения скорости?

    natd тут причем ? тут kernel nat обсуждали ... читайте внимательнее ...
    плюс рекомендую включить polling в ядре ...

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList