美文网首页路由联盟
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