|
|
发表于 2004-12-23 09:52:59
|
显示全部楼层
Post by xiaohuforever
命令如下
iptables -t nat -A PREROUTING -p tcp -i eth0 -j DNAT --to 202.114.16.12
iptables -t nat -A PREROUTING -p tcp -d 202.114.16.12 -j REDIRECT --to-port 80
我怀疑是不是一个包经过PREROUTING时匹配第一条规则
iptables -t nat -A PREROUTING -p tcp -i eth0 -j DNAT --to 202.114.16.12后就直接跳出PREROURING链了,不会再去匹配第二条规则了,所以iptables -t nat -A PREROUTING -p tcp -d 202.114.16.12 -j REDIRECT --to-port 80在这里根本就没有起作用
究竟DNAT对包做完操作之后,包还会继续和其他的规则比较又或者不再继续比较当前链中的其他规则或父链中的其他规则直接跳出这条链呢?
iptables 的规则是一条一条的往下查询,如果符合就按照改规则执行的,具体是不是完全经过真个netfilter还不完全了解,但按照楼主的需要,应该把第一跟第二条规则换个位子吧 |
|