我有 2 条 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
两条规则都应该接收一些数据包,但第一条规则却没有。有什么想法吗?
答案1
对于本地生成的数据包,必须使用 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