Author Topic: Трабл с ipnat + ipfw  (Read 4005 times)

0 Members and 1 Guest are viewing this topic.

Offline Petya

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
Трабл с ipnat + ipfw
« on: March 06, 2008, 12:47:42 »
Не работает данная связка. Не могу понять в чем прокол. ipfw show регистрирует прохождение пакетов через разрешающее правило. tcpdump’ом видно входящие пакеты, но исходящих нет. Наверное не работает ipnat? Но почему? Сведующие люди посмотрите, может какаято совершенно очевидная ошибка...  

Настройки следующие:

В ядре
Code: [Select]
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=5
options         IPFIREWALL_FORWARD
options         DUMMYNET
options         HZ=1000
В rc.conf
Code: [Select]
kern_securelevel="0"
kern_securelevel_enable="NO"
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"
Правила ipnat и ipfw для простоты порезаны и выглядят пока так, соответственно.
Code: [Select]
map rl1 192.168.0.0/24 -> внешний ip
Code: [Select]
cmd="/sbin/ipfw -q add"
/sbin/ipfw -q -f flush
${cmd} 50 allow all from any to any

Offline anovo

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Трабл с ipnat + ipfw
« Reply #1 on: March 06, 2008, 13:49:47 »
Если такой несложный конфиг, то может использовать "классический" Handbook для настройки файера и ната: http://freebsd.tusur.ru/doc/en_US.ISO8859-...twork-natd.html. Эта конфигурация точно рабочая и делает то же, что тебе требуется, правда, используя natd вместо ipnat.
The White Rabbit put on his spectacles. "Where shall I begin, please your Majesty?" he asked.
"Begin at the beginning," the King said, very gravely, "and go on till you come to the end: then stop."
"Alice's Adventures in Wonderland" by Lewis Carroll

Offline Petya

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
Трабл с ipnat + ipfw
« Reply #2 on: March 06, 2008, 14:48:13 »
Quote from: anovo
Эта конфигурация точно рабочая и делает то же, что тебе требуется, правда, используя natd вместо ipnat.
Не... этого не надо, спасибо. У меня имеется полноценно работающая уже больше полу года конфигурация ipnat+ipf. Хочу опробовать именно связку ipnat + ipfw + dummynet в познавательных целях + обкатать немного на деле, чтоб можно было ориентироваться что для чего лучше.
З.Ы.: я конечно в курсе, для хоум или оффисе использования нет разницы ipnat или natd... Но принципиально не понимаю зачем вообще столь примитивную операцию (NAT) делать на уровне демона (про natd). Посему последний не хочу использовать.... не знаю правильно или нет поступаю... но пока так есть.

Offline anovo

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Трабл с ipnat + ipfw
« Reply #3 on: March 06, 2008, 15:23:09 »
Quote
Хочу опробовать именно связку ipnat + ipfw + dummynet в познавательных целях
Посмотри тогда сюда http://www.opennet.ru/base/net/ipfw_multiroute.txt.html
ПС. Не вижу defaultrouter в rc.conf.
« Last Edit: March 06, 2008, 15:24:37 by anovo »
The White Rabbit put on his spectacles. "Where shall I begin, please your Majesty?" he asked.
"Begin at the beginning," the King said, very gravely, "and go on till you come to the end: then stop."
"Alice's Adventures in Wonderland" by Lewis Carroll

Offline Petya

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
Трабл с ipnat + ipfw
« Reply #4 on: March 06, 2008, 15:42:13 »
Quote from: anovo
Посмотри тогда сюда http://www.opennet.ru/base/net/ipfw_multiroute.txt.html
ПС. Не вижу defaultrouter в rc.conf.
Не.. это отпадает. Там он имеется. Статейку эту уже читал.  Собственно практически по ней и делал.
У меня есть такой вариант возможной ошибки. Может в ядро еще должен быть вкомпилен IPFILTER, т.к. если не ошибаюсь ipnat является так сказать его "частью", или он должен быть загружен модулем?
« Last Edit: March 06, 2008, 15:43:28 by Petya »

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Трабл с ipnat + ipfw
« Reply #5 on: March 07, 2008, 11:03:30 »
Quote from: Petya
Не... этого не надо, спасибо. У меня имеется полноценно работающая уже больше полу года конфигурация ipnat+ipf. Хочу опробовать именно связку ipnat + ipfw + dummynet в познавательных целях + обкатать немного на деле, чтоб можно было ориентироваться что для чего лучше. :)
З.Ы.: я конечно в курсе, для хоум или оффисе использования нет разницы ipnat или natd... Но принципиально не понимаю зачем вообще столь примитивную операцию (NAT) делать на уровне демона (про natd). Посему последний не хочу использовать.... не знаю правильно или нет поступаю... но пока так есть. :)

Два файрвола сразу использовать - лишний геморрой себе на задницу. Тем более, что ipfilter/ipnat уже deprecated и со временем будет вынесен из новых версий FreeBSD. Касательно natd - в 6.x есть другие средства для ядерного ната, если критична производительность. Ну и сам NAT - отнюдь не примитивная операция. Например, ipf/pf не умеют натить сложные протоколы, заглядывая внутрь пакета (а natd умеет) - это значит, что к ним нужно городить костыли в виде отдельных демонов. Разделение процессов - основа надежности (см. тему микроядра), поэтому везде, где не нужна производительность (низкая нагрузка на ADSL и т.п.), использование natd - вполне нормальный вариант.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]