我的配置很简单如下:iptables -t nat -A PREROUTING -d 47.154.129.34 -p udp -m udp --dport 20002 -j DNAT --to-destination 172.16.2.145:5000iptables -t nat -A POSTROUTING -s 47.154.0.0/255.255.0.0 -d 172.16.2.145 -p udp -m udp --dport 5000 -j SNAT --to-source 10.200.6.2同时我也修改了sysctl.conf使其能进行forward.然后发现能够转发,可是我重启了一次机器后就不可以了,不知道为什么?在10.200.6.20的网口上抓不到相应的包,但在47.154.129.34上可以看到进来的包,配置有问题吗?还是那个地方不对?谢谢!-----重启了不行了,可以看一下这两条是否有生效iptables -t nat -vnL看看还有没有?如果没有,再加上,放到rc.local里面-----这个东西肯定有的,我都是手工加的,而且我觉得规则是没有错的,但不明白为什么没有将包从eth0 forward to eth1?不明白呀?还有什么办法查错的吗?-----QUOTE:原帖由 UnixZC 于 2006-11-26 00:36 发表我的配置很简单如下:iptables -t nat -A PREROUTING -d 47.154.129.34 -p udp -m udp --dport 20002 -j DNAT --to-destination 172.16.2.145:5000iptables -t nat -A POSTROUTING -s 47.154.0.0/255.255.0.0 ... 你不是说重起以后没有了吗?那你在重起后iptables -t nat -vnL看过没有?-----不是,重启后手工再加,这个错误我不会犯的。我加了一句:echo 1 > /sys/proc/iptables/forward就可以了,可是我明明在sysctl.conf打开了这个开关的?难道非要这样才行?-----仔细检查一下,决不会是这样写的,/sys/proc/iptables/forward。当然,前提是你没有对内核改写 -----/sys/proc/iptables/forward,这个是我刚才的帖子里写错了,我没有记住,但我操作的时候是写对了的。我的问题还是为什么改sysctl.conf没有用?我的那台是FC6,我家里的FC5我觉得没有问题呀。还有需要加载其他什么模块吗?-----汗最好把信息提供全一点别人不可能知道你是怎么改的文件的置顶有提问的方法等,多看看