LINUX.ORG.RU
решено ФорумAdmin

Проброс порта

 , ,


0

1

Всем привет, товариши попросили помочь с сервером на фряхе (8.2), а я до этого с работал только с линуховым iptables и ipfw мне в новинку.

Задача - пробросить порт (DNAT) 3389/tcp на 192.168.1.100.

Был такой скрипт фаервола:

#!/bin/sh
fw="/sbin/ipfw"
oif="alc0"
${fw} -f flush

${fw} add 10 allow all from any to any via lo0
${fw} nat 1 config if ${oif} log reset same_ports
${fw} add 20 nat 1 ip from table\(1\) to any
${fw} add 30 nat 1 ip from any to me 

Стал:

#!/bin/sh
fw="/sbin/ipfw"
oif="alc0"
${fw} -f flush

${fw} add 10 allow all from any to any via lo0
${fw} nat 1 config if ${oif} unreg_only same_ports redirect_port tcp 192.168.1.100:3389 3389
${fw} nat 3 config if ${oif} log reset same_ports
${fw} add 20 nat 1 ip from table\(1\) to any
${fw} add 30 nat 1 ip from any to me 
${fw} add 2000 pass tcp from any to 192.168.1.100 3389 keep-state

При попытке зацепиться на 3389 со внешки - получаю бесконечное ожидание подключения, а в tcpdump'е на FreeBSD:

[root@ /etc]# tcpdump -nn -i alc0 'port 3389'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on alc0, link-type EN10MB (Ethernet), capture size 96 bytes
12:01:45.323381 IP 195.140.180.233.50893 > 195.208.141.147.3389: Flags [S], seq 2087950106, win 13600, options [mss 1360,sackOK,TS val 11230507 ecr 0,nop,wscale 7], length 0
12:01:45.323788 IP 192.168.1.100.3389 > 195.140.180.233.50893: Flags [S.], seq 2265369178, ack 2087950107, win 8192, options [mss 1460,nop,wscale 8,sackOK,TS val 37797770 ecr 11230507], length 0
12:01:46.325233 IP 195.140.180.233.50893 > 195.208.141.147.3389: Flags [S], seq 2087950106, win 13600, options [mss 1360,sackOK,TS val 11231510 ecr 0,nop,wscale 7], length 0

Подскажите пожалуйста, что поправить? Заранее благодарен.

#!/bin/sh
fw="/sbin/ipfw"
oif="alc0"
${fw} -f flush

${fw} add 10 allow all from any to any via lo0
${fw} nat 1 config if ${oif} unreg_only same_ports redirect_port tcp 192.168.1.100:3389 3389
${fw} add 20 nat 1 ip from table\(1\) to any out via ${oif}
${fw} add 30 nat 1 ip from any to me in via ${oif}
${fw} add 2000 pass tcp from any to 192.168.1.100 3389
${fw} add 2000 pass tcp from 192.168.1.100 3389 to any
hizel ★★★★★
()
Ответ на: комментарий от hizel

Спасибо, но к сожалению не помогло. Также висит на этапе подключение и тоже самое в tcpdump. Если скажете как - приведу выхлопы фаера

[root@ /etc]# ipfw show    
00010     368      32212 allow ip from any to any via lo0
00020   22145    8525730 nat 1 ip from table(1) to any out via alc0
00030   26589   19921369 nat 1 ip from any to me in via alc0
02000       5        300 allow tcp from any to 192.168.1.100 dst-port 3389
02000       6        352 allow tcp from 192.168.1.100 3389 to any
65535 3267823 1701787663 allow ip from any to any
WhiteWolf
() автор топика
Ответ на: комментарий от WhiteWolf
02000       5        300 allow tcp from any to 192.168.1.100 dst-port 3389
02000       6        352 allow tcp from 192.168.1.100 3389 to any

C фаерволом все ок, я считаю, см. венду.

hizel ★★★★★
()
Ответ на: комментарий от IPR

Погуглил за человека, да криво. По ссылке дотрещались до rinetd. Кстати ТСу rinetd таки подойдет.

hizel ★★★★★
()
12:01:45.323381 IP 195.140.180.233.50893 > 195.208.141.147.3389: Flags [S], seq 2087950106, win 13600, options [mss 1360,sackOK,TS val 11230507 ecr 0,nop,wscale 7], length 0
12:01:45.323788 IP 192.168.1.100.3389 > 195.140.180.233.50893: Flags [S.], seq 2265369178, ack 2087950107, win 8192, options [mss 1460,nop,wscale 8,sackOK,TS val 37797770 ecr 11230507], length 0

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

nat 1 ip from table(1) to any out via alc0
для 192.168.1.100, значит его не было в table 1

hizel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.