Страница 1 из 1

ipfw nat

Добавлено: 2010-02-24 16:59:48
stanlee
Настраивал нат по статье - Подробное руководство по ipfw nat

ось восьмая

вот мои конфиги

Код: Выделить всё

net.inet.ip.fw.one_pass: 1
ядро

Код: Выделить всё

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=50
options         IPFIREWALL_NAT
options         LIBALIAS
options         DUMMYNET
options         HZ=2000
firewall

Код: Выделить всё

# Общие настройки
fwcmd="/sbin/ipfw -q"
fwadd=${fwcmd}" add "

# Сетевые интерфейсы
if_1="bge0" - внешний интерфейс
if_2="stge0" - внутресетевой интерфейс

# Правила

# Сбрасываем все правила
${fwcmd} -f flush

# Разрешаем весь траффик по внутреннему интерф
${fwadd} allow all from any to any via lo0

# рубим попытки lo0 куда-то лезть и откуда-то
${fwadd} deny all from any to 127.0.0.0/8
${fwadd} deny all from 127.0.0.0/8 to any

# разрешаем трафик по внутренней сети
${fwadd} allow ip from any to any via ${if_2}

#${fwadd} nat 1 tcp from any to any out via ${if_1} limit src-addr 20
#${fwadd} nat 1 ip from any to any out via ${if_1}
#${fwadd} nat 1 ip from any to any in via ${if_1}

# разрешаем исходящий трафик
${fwadd} allow ip from any to any
как только включаю правила с натом

Код: Выделить всё

${fwadd} nat 1 tcp from any to any out via ${if_1} limit src-addr 20
${fwadd} nat 1 ip from any to any out via ${if_1}
${fwadd} nat 1 ip from any to any in via ${if_1}
тачка закрывается

в чем может быть проблема?

Re: ipfw nat

Добавлено: 2010-02-24 17:41:13
terminus
попробуйте отключить использование limit
http://www.freebsd.org/cgi/query-pr.cgi?pr=144187

тут у одного товарища аналогичная беда была с которой мы с ним долго боролись.
по итогам борьбы был составлен тот PR.

===

кстати где настройки ната?

Код: Выделить всё

nat 1 configure ...

Re: ipfw nat

Добавлено: 2010-02-25 12:36:21
stanlee
да, упустил натсройку

добавил

Код: Выделить всё

${fwcmd} nat 1 config log if ${if_1} reset same_ports deny_in
сейчас я роутер поставил внутри сети (192.168.0.101) и к нему подключил комп (193.168.0.200)
машина за роутером видит сеть, роутер и главный роутер (192.168.0.5), а вне выйти не может

в чем может быть проблема?

Re: ipfw nat

Добавлено: 2010-02-25 13:34:12
stanlee
покопался
вроде увидел внешку по пингу

Код: Выделить всё

00100     0      0 allow ip from any to any via lo0
00200     0      0 deny ip from any to 127.0.0.0/8
00300     0      0 deny ip from 127.0.0.0/8 to any
00400 10277 645604 allow ip from any to any via stge0
00500     4    364 nat 1 tcp from any to any out via bge0 limit src-addr 20
00600   195  11712 nat 1 ip from any to any out via bge0
00700   407  30700 nat 1 ip from any to any in via bge0
00800     0      0 allow ip from any to any
65535   899  86506 deny ip from any to any

Код: Выделить всё

ipfw nat 1 config if bge0 log deny_in same_ports reset redirect_port tcp 192.168.0.101:22 22
ipfw nat 123 config ip 192.168.0.101
пингует, но сайты, например, не открывает

похоже, я что то не настроил, но, пока не пойму что

в чем может быть проблема?

Re: ipfw nat

Добавлено: 2010-02-25 13:46:53
terminus
попробуйте убоать

Код: Выделить всё

limit src-addr 20
а в настройках сетевухи bge0 рбрать rxcsum и tso

Код: Выделить всё

ifconfig bge0 -rxcsum -tso
===

DNS то настроен на то что не может выйти никуда? по именам пингуется?

Re: ipfw nat

Добавлено: 2010-02-25 16:37:35
stanlee
сейчас стоит rxcsum
снял лимиты все заработало, но что тогда может быть? лимиты то нужны
пробовал увеличить - не помогает

Re: ipfw nat

Добавлено: 2010-02-25 17:12:21
terminus
попробуйте отключить использование limit
http://www.freebsd.org/cgi/query-pr.cgi?pr=144187

тут у одного товарища аналогичная беда была с которой мы с ним долго боролись.
по итогам борьбы был составлен тот PR.

вон ведь по ссылке PR. если у вас это из-за того же самого, то надо просто джать, когда починят.

Еще вариант - попробовать вешать лимиты не на нат на проходе OUT, а на отдельном правиле не проходе IN.

Re: ipfw nat

Добавлено: 2010-03-20 18:37:21
stanlee

Код: Выделить всё

# Общие настройки
fwcmd="/sbin/ipfw -q"
fwadd=${fwcmd}" add "

# Сетевые интерфейсы
# внешнй
if_1="bge0"
# внутренний
if_2="stge0"

ip_out="192.168.0.101"
ip_in="193.168.0.101"

lan_in="193.168.0.0/24"

# Правила

# Сбрасываем все правила
${fwcmd} -f flush

# Разрешаем весь траффик по внутреннему интерф
${fwadd} allow all from any to any via lo0

# рубим попытки lo0 куда-то лезть и откуда-то
${fwadd} deny all from any to 127.0.0.0/8
${fwadd} deny all from 127.0.0.0/8 to any

# разрешаем трафик по внутренней сети
${fwadd} allow all from any to any via ${if_2}

# заворачиваем http трафик на сквид
${fwadd} fwd 127.0.0.1,3128 tcp from ${lan_in} to any http out via ${if_1}

# включаем nat
${fwcmd} nat 1 config log if ${if_1} reset same_ports deny_in redirect_port tcp ${ip_out}:22 22

${fwadd} nat 1 all from any to any out xmit ${if_1}
${fwadd} nat 1 all from any to any in recv ${if_1}

${fwadd} allow ip from any to any
не пойму в чем пробллема
при включении блока

Код: Выделить всё

${fwadd} nat 1 all from any to any out xmit ${if_1}
${fwadd} nat 1 all from any to any in recv ${if_1}
сервер закрывает во внутренней сети но нат пропускает и извне виден