iptable的mark功能可以用于标记网络数据包,用于标记数据包。在一些不同的table或者chain之间需要协同处理某一个数据包时尤其有用。下面介绍iptables简单的用法:
-j MARK //-j代表动作这里代表要执行mark操作
-m mark //-m代表匹配mark
–mark xxx/yyy //xxx代表要匹配的mark的值,yyy代表掩码,如果要完全匹配可以省略掉掩码,不过一般不会直接整个匹配,因为可能一个系统中很多模块都需要打mark,所以一般用掩码来取得某几位
//打标记
iptables -t mangle -A PREROUTING -j MARK --set-mark 33
//匹配标记
iptables -t nat -A PREROUTING -m mark --mark 33 -j ACCEPT
//or-mark
iptables -t mangle -A PREROUTING -j MARK --or-mark 0x400
//掩码匹配
iptables -t nat -A PREROUTING -m mark --mark 0x400/0x400 -j ACCEPT