Всем привет, товариши попросили помочь с сервером на фряхе (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
Подскажите пожалуйста, что поправить? Заранее благодарен.