shaohui973 发表于 2013-11-04 18:26

我什么我配置的nat规则没起作用?

我在pc1(eth0:10.0.1.59 ; eth1:192.100.1.1)上配置了nat规则,iptables 服务是开着的。并且打开了包ipv4_forward开关,但是当我向pc1的eth0发送一个符合规则的udp包,该包并没有和预期的一样nat,而是直接回给我主机端禁止了。

pc1上的命令如下:
iptables -t nat -A PREROUTING -i eth0 -d 10.0.1.59 --dport 20000 -j DNAT --to-destination 192.100.1.10:20001

iptables -t nat -A POSTROUTING -o eth1 -s 10.0.1.58 --sport10000 -j SNAT --to-source 192.100.1.1:10001

nat表和抓包见附件:


数据包过略下udp就可以清爽点看。

从59设备的icmp来看,是59禁止了向端口20000发送该udp报文。
是不是还需要设置什么东西的???

love5783 发表于 2013-11-06 10:00

把你完整的iptables规则贴出来,看看是否有其他规则包数据包drop了。

shaohui973 发表于 2013-11-06 15:42

回复 2# love5783


    谢谢。
    我找到了,是我的内核把filter表给裁剪掉了,导致没有FORWARD功能。

    另,后来加上这个模块时,需要配置FORWARD为accept。

love5783 发表于 2013-11-06 16:10

回复 3# shaohui973


    FORWARD确实会导致这样的问题。
页: [1]
查看完整版本: 我什么我配置的nat规则没起作用?