目标地址iptables规则不起作用

我有两个mangle规则:

iptables -t mangle -A PREROUTING -d 54.228.209.255 -j MARK --set-xmark 1 iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-xmark 3 

现在我做telnet 54.228.209.255 80 ,看看我的规则

 iptables --list -t mangle -v -n Chain PREROUTING (policy ACCEPT 604K packets, 598M bytes) pkts bytes target prot opt in out source destination 0 0 MARK all -- * * 0.0.0.0/0 54.228.209.255 MARK set 0x1 505 244K MARK tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 MARK set 0x3 

两条规则都应该接收一些数据包,但是第一条规则没有。 任何想法为什么?

对于本地生成的数据包,您必须使用OUTPUT链

 # iptables -t mangle -A OUTPUT -d 54.228.209.255 -j MARK --set-xmark 1 # iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-xmark 3