美文网首页路由联盟
4-iptables mark标记

4-iptables mark标记

作者: Creator_Ly | 来源:发表于2020-05-06 22:28 被阅读0次

iptable的mark功能可以用于标记网络数据包,用于标记数据包。在一些不同的table或者chain之间需要协同处理某一个数据包时尤其有用。

下面介绍iptables mark简单的用法:

  • -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
1

CONNMARK target的选项

选项 功能
--set-mark value[/mask] 给链接跟踪记录打标记。
--save-mark [--mask mask] 将数据包上的标记值记录到链接跟踪记录上。
--restore-mark [--mask mask] 重新设置数据包的nfmark值。
iptables -t mangle -A QOS_MARK_FORWARD_eth1 -j CONNMARK --restore-mark --nfmask 0xfffff --ctmask 0xfffff
iptables -t mangle -A QOS_MARK_FORWARD_eth1 -m mark --mark 0x0/0xfffff -j QOS_RULES_FORWARD_eth1
iptables -t mangle -A QOS_RULES_FORWARD_eth1 -j CONNMARK --save-mark --nfmask 0xfffff --ctmask 0xfffff

MARK target 的选项

选项 功能
--set-mark value 设置数据包的nfmark值。
--and-mark value 数据包的nfmark值和value进行按位与运算。
--or-mark value 数据包的nfmark值和value进行按或与运算。
iptables -t mangle -A POSTROUTING -m iprange --src-range 192.168.0.2-192.168.0.200 -j MARK --or-mark 0x1

–or-mark 用于以或的关系设置mark,因为mark可能提前被提前设置过,如之前的mark为0x0100,通过–or-mark设置0x1后mark为0x0101,不会影响之前设置的mark,注意匹配是用掩码按位匹配。

而如果是–set-mark,会清楚之前的mark 0x0100 --set-mark(0x1) = 0x0001

MARK match的选项

选项 功能
[!] --mark value[/mask] 数据包的nfmark值与value进行匹配,其中mask的值为可选的。

http://blog.chinaunix.net/uid-10167808-id-26000.html

相关文章

网友评论

    本文标题:4-iptables mark标记

    本文链接:https://www.haomeiwen.com/subject/qyxnghtx.html