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

переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 10:43:34
RAGNAR

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

# 11.11.11.11 внешний ip
#  эти два правила перенаправляют на jail , на 80 и 21 порт
rdr ng0 from any to 11.11.11.11 port = 80 -> 10.10.0.4 port 80
rdr ng0 from any to 11.11.11.11 port = 21 -> 10.10.0.4 port 21

# эти правела аналогичны вышестоящим но с поправкой для локальной сети на 21 порт на jail
rdr fxp0 0.0.0.0/0 port 21 -> 10.10.0.4 port 21 tcp

# это squid для локальной сетки
rdr fxp0 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128 tcp
получилось разобраться тока с прокси.

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

# перенапровлени на squid
ipfw add fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng0
С остольными правелами тупик. подскажите в каком напровление думать...

тут как я реализовал нат

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

00040    34388    3347942 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng0
00060    70417   71496621 nat 1 ip from any to 11.11.11.11 in via ng0
00725    50359   56799709 queue 2 ip from not 10.10.0.0/24 to 10.10.0.0/24 out
00730    39111    4405129 queue 4 ip from 10.10.0.0/24 to not me in
00800    53341    7378121 nat 1 ip from any to any out via ng0


Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 11:15:02
hizel

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

ipfw nat 1 show config
redirect_port

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 11:21:46
RAGNAR
стоит и не работает

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

md5ksr# ipfw nat 1 show config
ipfw nat 1 config if ng0 log deny_in same_ports reset redirect_port tcp 10.10.0.4:80 80


Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 11:30:41
hizel
я бы для начала deny_in убрал, а потом смотрел таки полный фаервол и настройки one_pass

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 11:40:08
RAGNAR
не помогло ща посматрю фаервол

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

net.inet.ip.fw.one_pass=1

ipfw nat 1 config if ng0 log same_ports reset redirect_port tcp 10.10.0.4:80 80
md5ksr#  ipfw nat 1 show
nat 1: icmp=0, udp=380, tcp=283, pptp=0, proto=0, frag_id=211 frag_ptr=0 / tot=874

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 11:45:02
RAGNAR
вот ipfw

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

00010        0          0 check-state
00040   126888   11015165 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng0
00050 12767039 9487857523 skipto 670 ip from any to any via fxp0
00060  1307234 1522776512 nat 1 ip from any to 11.11.11.11 in via ng0
00100      125       6630 deny log logamount 1 ip from any to 11.11.11.11 dst-port 22,135-139,443,445,1723,3389 via ng0
00110        0          0 deny log logamount 1 tcp from any to 11.11.11.11 not established tcpflags fin
00120        0          0 deny log logamount 1 tcp from any to 11.11.11.11 tcpflags syn,fin,ack,psh,rst,urg
00130        0          0 allow log logamount 1 tcp from me 1723 to any keep-state
00180  6304051 7243349925 skipto 400 ip from any to any in via ng0
00181  6158681  626955011 skipto 600 ip from any to any out via ng0
00200    28032    3239522 allow ip from any to any via lo0
00210        0          0 deny ip from any to 127.0.0.0/8
00220        0          0 deny ip from 127.0.0.0/8 to any
00400        0          0 deny ip from any to 192.168.0.0/16 in via ng0
00405      353      19597 deny ip from any to 10.10.0.0/16 in via ng0
00410        0          0 deny ip from any to 224.0.0.0/4 in via ng0
00420        0          0 deny ip from any to 240.0.0.0/4 in via ng0
00430        0          0 deny ip from any to 0.0.0.0/8 in via ng0
00440        0          0 deny ip from any to 172.16.0.0/16 in via ng0
00450  6303698 7243330328 skipto 660 ip from any to any in via ng0
00600       40       5300 deny ip from 192.168.0.0/16 to any out via ng0
00603        0          0 deny ip from 192.168.0.0/16 to any out via ng0
00605        0          0 deny ip from 172.16.0.0/16 to any out via ng0
00610        0          0 deny ip from 224.0.0.0/4 to any out via ng0
00620        0          0 deny ip from 240.0.0.0/4 to any out via ng0
00630        0          0 deny ip from 0.0.0.0/8 to any out via ng0
00660        0          0 deny icmp from any to 255.255.255.255 via ng0
00670     9035    4662827 allow icmp from any to any icmptypes 0,8,11
00680        0          0 deny icmp from any to any frag
00690    42566    3010671 deny icmp from any to any
00725  1459025 1705329294 queue 2 ip from not 10.10.0.0/24 to 10.10.0.0/24 out
00730   911743   61175376 queue 4 ip from 10.10.0.0/24 to not me in
00800   820855   52551055 nat 1 ip from any to any out via ng0
02000  8297424 7245445835 allow tcp from any to any established
02200  2031825  440870701 allow ip from any to any via fxp0
03700        0          0 allow gre from any to any
05000        0          0 deny log logamount 1 ip from any to any
65535        0          0 deny ip from any to any



Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 11:47:12
hizel

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

00405      353      19597 deny ip from any to 10.10.0.0/16 in via ng0
гг, welcome to ipfw world, Luke

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-16 11:50:09
RAGNAR
убрал правило. не помогло

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-17 16:23:13
RAGNAR
приглось воспользоваться rinetd проблема решилась, но это не выход. почему redirect_port tcp 10.10.0.4:80 80 не работает?

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-19 0:48:37
RAGNAR
может кто скажет вчем проблема не работоспособности

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

ipfw nat 1 config if ng0 log same_ports redirect_port tcp 10.10.0.4:80 80

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

md5ksr# uname -a
FreeBSD md5ksr 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue Dec 14 20:42:51 MSK 2010     poster@md5ksr:/usr/src/sys/i386/compile/SMP20  i386
уточню 10.10.0.4 это ip jail , весит адрес на сетевухе смотрящий в локалку

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

fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2008<VLAN_MTU,WOL_MAGIC>
        ether 00:50:8b:62:a0:e0
        inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
        inet 10.10.0.1 netmask 0xffffff00 broadcast 10.10.0.255
        inet 10.10.0.2 netmask 0xffffff00 broadcast 10.10.0.255
        inet 10.10.0.4 netmask 0xffffff00 broadcast 10.10.0.255
        media: Ethernet 100baseTX <full-duplex>
        status: active

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-19 0:52:23
hizel
у меня работает, проблема не в этом правиле, а в окружении

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-19 0:54:29
RAGNAR
да я уже :st: вот как в смайле... rinetd делает переброску портов и все катит а redirect_port не перебрасывает. что еще можно проверить?
есть варианты?

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-19 0:56:41
RAGNAR
что значит в окружении. поясни конкретнее

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-20 19:32:59
hranitel_y2k
Может конечно и не ваш случай. Но у меня редирект в IPFW NAT заработал только когда я прописал разрешающие правила в ipfw. Иначе фаир все блочил.
Даже, если вы убрали блокирующее правило 405,то разрешить пакеты вы всеравно забыли.

Добавьте:

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

ipfw add 70 allow ip from any to 10.10.0.4 80 via ng0 setup
С номером под которым добавлять правило,я мог ошибиться. Не пробовал еще схем, где разрешения на пакеты IN и OUT для ipfw nat разделены.

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-20 19:43:18
RAGNAR
попробую отпишусь.

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-21 12:19:30
RAGNAR
попробывал. результата не кокого. ставил до форвардинга на проксю и после... на это правело не один пакет не приходит

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-21 18:36:55
hranitel_y2k
RAGNAR писал(а):попробывал. результата не кокого. ставил до форвардинга на проксю и после... на это правело не один пакет не приходит
прокси совершенно не причем. Правило должно стоять после правила nat. Только у вас их два - одно на вход, одно на выход. По логике, оно должно стоять после правила 60...
Попробую сегодня потестить нат с разделение, как у вас. о результатах отпишусь.

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-21 18:47:15
RAGNAR
я немного поменял правила queue но в целом нат разделен на вх и вых

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

00010        0           0 check-state
00040  3288076   377986755 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng0
00050 51781421 44385831518 skipto 670 ip from any to any via fxp0
00100      368       20136 deny log logamount 1 ip from any to 11.11.11.11 dst-port 22,135-139,443,445,1723,3389 via ng0
00110        0           0 deny log logamount 1 tcp from any to 11.11.11.11 not established tcpflags fin
00120        0           0 deny log logamount 1 tcp from any to 11.11.11.11 tcpflags syn,fin,ack,psh,rst,urg
00180 34587927 41463123391 skipto 400 ip from any to any in via ng0
00181 18961409  3160325809 skipto 600 ip from any to any out via ng0
00200    78604    25764398 allow ip from any to any via lo0
00210        0           0 deny ip from any to 127.0.0.0/8
00220        0           0 deny ip from 127.0.0.0/8 to any
00400        0           0 deny ip from any to 192.168.0.0/16 in via ng0
00410        0           0 deny ip from any to 224.0.0.0/4 in via ng0
00420        0           0 deny ip from any to 240.0.0.0/4 in via ng0
00430        0           0 deny ip from any to 0.0.0.0/8 in via ng0
00440        0           0 deny ip from any to 172.16.0.0/16 in via ng0
00450 34587927 41463123391 skipto 660 ip from any to any in via ng0
00600       62        3778 deny ip from 192.168.0.0/16 to any out via ng0
00603        0           0 deny ip from 192.168.0.0/16 to any out via ng0
00605        0           0 deny ip from 172.16.0.0/16 to any out via ng0
00610        0           0 deny ip from 224.0.0.0/4 to any out via ng0
00620        0           0 deny ip from 240.0.0.0/4 to any out via ng0
00630        0           0 deny ip from 0.0.0.0/8 to any out via ng0
00660        0           0 deny icmp from any to 255.255.255.255 via ng0
00670    79682    40002651 allow icmp from any to any icmptypes 0,8,11
00680        0           0 deny icmp from any to any frag
00690   112691     9577198 deny icmp from any to any
02200 51747199 44366385605 allow ip from any to any via fxp0
#
#
03600 18925044  3140604758 queue 4 ip from any to any out xmit ng0
03700 18922584  3140375362 nat 1 ip from any to any out xmit ng0
03800 34466167 41452904548 nat 1 ip from any to 11.11.11.11 in recv ng0
03900 34439310 41450953760 queue 2 ip from any to any in recv ng0
04000 53236935 44422155281 allow ip from any to any
#
#
05000        0           0 deny log logamount 1 ip from any to any
65535        0           0 deny ip from any to any


Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-21 18:56:01
RAGNAR
вот попробывал нефиксируеться првила

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

02100        0           0 allow ip from any to 10.10.0.4 dst-port 80 via ng0 setup
02200 52309486 44869367490 allow ip from any to any via fxp0
03600 19123992  3158939569 queue 4 ip from any to any out xmit ng0
03700 19121539  3158712163 nat 1 ip from any to any out xmit ng0
03750        0           0 allow ip from any to 10.10.0.4 dst-port 80 via ng0 setup
03800 34836949 41941156562 nat 1 ip from any to 11.11.11.11 in recv ng0
03850        0           0 allow ip from any to 10.10.0.4 dst-port 80 via ng0 setup
03900 34809455 41939169492 queue 2 ip from any to any in recv ng0
03950        0           0 allow ip from any to 10.10.0.4 dst-port 80 via ng0 setup
04000 53803643 44925400493 allow ip from any to any

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

md5ksr# ipfw nat 1 show config
ipfw nat 1 config if ng0 log same_ports unreg_only redirect_port tcp 10.10.0.4:80 80

md5ksr# sysctl net.inet.ip.fw.one_pass=0
net.inet.ip.fw.one_pass: 0 -> 0


Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-21 21:56:32
hranitel_y2k
проверил. заработало только когда правило стояло после обеих правил нат. Но Вы так пробовали и ничего... :cz2:

Есть какой нибудь локальный сервис на сервере(не джеил), чтобы на него сделать проброс портов для теста? Может у вас и не в нате проблема...

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-22 5:29:22
RAGNAR
ну есть на jail ftp, а на самом серваке поднят nsd , unbound , squid , jaber

ради теста можно и какую небудь софтину устоновить.

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-22 12:15:40
hranitel_y2k
RAGNAR писал(а):ну есть на jail ftp, а на самом серваке поднят nsd , unbound , squid , jaber

ради теста можно и какую небудь софтину устоновить.
Можно и не ставить, есть же ssh. На него и сделать прокидку.

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-22 15:41:39
RAGNAR
не ssh трогать не будем я с него подкючаюсь. по локалке. хотя если на внешнем ip попробывать настроить переброс порта, скажем с 99 на внутренний локальный ip 22 порт. ща будем пробывать

Re: переход от ipnat к kernel nat проблема c fwd

Добавлено: 2010-12-22 16:00:12
hranitel_y2k
RAGNAR писал(а):не ssh трогать не будем я с него подкючаюсь. по локалке. хотя если на внешнем ip попробывать настроить переброс порта, скажем с 99 на внутренний локальный ip 22 порт. ща будем пробывать
Его трогать и не надо! все действия только в Ipfw!
Лучше начать сначала с простого - проброс 22 на 22. А потом уже пробовать проброс с 99 на 22.
На всякий случай:

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

ipfw nat 1 config log if ng0 reset same_ports deny_in redirect_port tcp 1.2.3.4:22 22
ipfw add nat 1 ip from any to any via ng0
ipfw add allow ip from any to 1.2.3.4 22 via ng0
1.2.3.4 - это ваш внешний ip

потестить на открытость порта можно здесь: http://www.ping.eu