iptables端口转发不起作用

我面临的问题,我的iptables规则不再工作了,我从Ubuntu 8.04的操作系统改为Debian Squeeze。

我正在尝试通过端口转发

iptables -t nat -A PREROUTING -d $extip -i eth0 -p tcp -m tcp --dport 5777 -j DNAT --to-destination 192.168.10.169:5777 /proc/sys/net/ipv4/ip_forwarding is set All policies are set to ACCEPT 192.168.10.169 is in FORWARD chain 

tcpdump输出:

 IP some_ip.33517 > ext_ip.5777: Flags [S], seq 3521672809, win 14600, options [mss 1450,sackOK,TS val 1691129923 ecr 0,nop,wscale 7], length 0 IP ext_ip.5777 > some_ip.33517: Flags [R.], seq 0, ack 3521672810, win 0, length 0 

正如你所看到的,在SYN之后有一个RST发送。 我不知道为什么会这样。

我希望有一个人可以帮助我。 提前致谢。

我终于自己解决了这个问题。 经过几个小时的尝试几乎所有的东西,这是接口参数。

所以这在旧机器上工作

 iptables -t nat -A PREROUTING -d $extip -i eth0 -p tcp -m tcp --dport 5777 -j DNAT --to-destination 192.168.10.169:5777 

但是在新机器上,它只能在没有-i eth0的情况下工作,即使接口名称相同

 iptables -t nat -A PREROUTING -d $extip -p tcp -m tcp --dport 5777 -j DNAT --to-destination 192.168.10.169:5777 

感谢所有试图帮助的人。