redirect_port + kernel_nat + Netams = я в тупике!

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

redirect_port + kernel_nat + Netams = я в тупике!

Непрочитанное сообщение qwl » 2011-06-22 5:30:47

Доброго времени суток.

имеем FreeBSD8 + ipfw + redirect_port + Netams

задача: Netams рулит трафиким, redirect_port пробрасывает из вне во внутрь.

вот чего получается:
все работает,НО ПО ОТДЕЛЬНОСТИ!
т.е.
имеем:

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

net.inet.ip.fw.one_pass=1
и

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

${FwCMD} nat 1 config if ${LanOut} same_ports reset unreg_only redirect_port tcp 192.168.1.12:5000 5000
${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut}
${FwCMD} add nat 1 ip from any to any via ${LanOut}
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut}
но при этом Netams не собирает трафик, по второму divert-у не идет трафик.
если делаем

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

net.inet.ip.fw.one_pass=0
то полностью работает Netams, но не работает redirect_port.
это меня завело в тупик, подскажите как это победить?
P.S. перехот на обычный NAT всегда успеется, давайте попробуем решить эту ситуацию.
Последний раз редактировалось f_andrey 2011-06-22 6:54:23, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения. приводите полную диагностику, больше логов больше вероятности ответа, а не флуда

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: redirect_port + kernel_nat + Netams = я в тупике!

Непрочитанное сообщение ivan__ » 2011-06-22 11:35:03

Полный конфиг выкладывай

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: redirect_port + kernel_nat + Netams = я в тупике!

Непрочитанное сообщение qwl » 2011-06-22 11:41:45

пока так, убрал все чтоб не мешалось

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

#!/bin/sh 

FwCMD="/sbin/ipfw -q" 

LanOut="vr2" 
NetOut="192.168.0.0/24" 
IPOut="192.168.0.111"  - во вне 

LanIn="vr1" 
NetIn="192.168.1.0/24" 
IPIn="192.168.1"  - во внутрь 

${FwCMD} -f flush 
${FwCMD} -f pipe flush 
${FwCMD} -f queue flush 
${FwCMD} -f table 0 flush 

${FwCMD} add check-state 

${FwCMD} add allow ip from any to any via lo0 
${FwCMD} add deny not icmp from "table(0)" to me 

${FwCMD} add deny ip from any to 127.0.0.0/8 
${FwCMD} add deny ip from 127.0.0.0/8 to any 

${FwCMD} nat 1 config if ${LanOut} same_ports reset unreg_only redirect_port tcp 192.168.1.12:5000 5000 
${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut} 
${FwCMD} add nat 1 ip from any to any via ${LanOut} 
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut}
сейчас

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

net.inet.ip.fw.one_pass=1
ipfw list

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

00100 check-state
00200 allow ip from any to any via lo0
00300 deny not icmp from table(0) to me
00400 deny ip from any to 127.0.0.0/8
00500 deny ip from 127.0.0.0/8 to any
00600 divert 199 ip from 192.168.1.0/24 to any out xmit vr2
00700 nat 1 ip from any to any via vr2
00800 divert 199 ip from any to 192.168.1.0/24 in recv vr2
65535 allow ip from any to any
и ipfw show

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

00100    0      0 check-state
00200    0      0 allow ip from any to any via lo0
00300    0      0 deny not icmp from table(0) to me
00400    0      0 deny ip from any to 127.0.0.0/8
00500    0      0 deny ip from 127.0.0.0/8 to any
00600  346  20760 divert 199 ip from 192.168.1.0/24 to any out xmit vr2
00700 1039 196654 nat 1 ip from any to any via vr2
00800    0      0 divert 199 ip from any to 192.168.1.0/24 in recv vr2
65535  659  39540 allow ip from any to any
при этих правилах работает redirect_port и я спокойно из вне попадаю куда надо.
но какда я меняю на 0

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

net.inet.ip.fw.one_pass=0
получается:
ipfw list

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

00100 check-state
00200 allow ip from any to any via lo0
00300 deny not icmp from table(0) to me
00400 deny ip from any to 127.0.0.0/8
00500 deny ip from 127.0.0.0/8 to any
00600 divert 199 ip from 192.168.1.0/24 to any out xmit vr2
00700 nat 1 ip from any to any via vr2
00800 divert 199 ip from any to 192.168.1.0/24 in recv vr2
65535 allow ip from any to any
и ipfw show

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

00100    0      0 check-state
00200    0      0 allow ip from any to any via lo0
00300    0      0 deny not icmp from table(0) to me
00400    0      0 deny ip from any to 127.0.0.0/8
00500    0      0 deny ip from 127.0.0.0/8 to any
00600 1098  65880 divert 199 ip from 192.168.1.0/24 to any out xmit vr2
00700 2196 131760 nat 1 ip from any to any via vr2
00800 1098  65880 divert 199 ip from any to 192.168.1.0/24 in recv vr2
65535  659  39540 allow ip from any to any
при тех же правилах redirect_port не работает, но зато подсчет идет полностью.

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: redirect_port + kernel_nat + Netams = я в тупике!

Непрочитанное сообщение ivan__ » 2011-06-22 13:42:14

qwl писал(а):при тех же правилах redirect_port не работает, но зато подсчет идет полностью.
Попробуй skipto добавить

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

${FwCMD} 00750 skipto 00900 tcp from me to 192.168.1.12 dst-port 5000 in recv ${LanOut}

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: redirect_port + kernel_nat + Netams = я в тупике!

Непрочитанное сообщение qwl » 2011-06-22 13:49:14

ivan__ писал(а):
qwl писал(а):при тех же правилах redirect_port не работает, но зато подсчет идет полностью.
Попробуй skipto добавить

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

${FwCMD} 00750 skipto 00900 tcp from me to 192.168.1.12 dst-port 5000 in recv ${LanOut}
не помогло, результат остался тот же.

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: redirect_port + kernel_nat + Netams = я в тупике!

Непрочитанное сообщение ivan__ » 2011-06-22 15:06:09

qwl писал(а):
ivan__ писал(а):
qwl писал(а):при тех же правилах redirect_port не работает, но зато подсчет идет полностью.
Попробуй skipto добавить

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

${FwCMD} 00750 skipto 00900 tcp from me to 192.168.1.12 dst-port 5000 in recv ${LanOut}
не помогло, результат остался тот же.
Забыл add добавить :smile:

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

${FwCMD} add 00750 skipto 00900 tcp from me to 192.168.1.12 dst-port 5000 in recv ${LanOut}

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: redirect_port + kernel_nat + Netams = я в тупике!

Непрочитанное сообщение qwl » 2011-06-23 6:19:00

:) add я добавил, суть понял.
Спасибо, ты подсказал верно, это я ступил, сегодня на свежую голову еще раз все проверил и заработало :)
надо:

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

net.inet.ip.fw.one_pass=0

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

${FwCMD} nat 1 config if ${LanOut} same_ports reset unreg_only redirect_port tcp 192.168.1.12:5000 5000 
${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut} 
${FwCMD} add nat 1 ip from any to any via ${LanOut} 
${FwCMD} add skipto 00950  tcp from me to 192.168.1.12 dst-port 5000 in recv ${LanOut}
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut}