iptables中的mark

在vtun配置的mangle链中有一条规则

-A AS0_MANGLE_TUN -j MARK --set-xmark 0x2000000/0xffffffff

下面分析mark何意。

mark值有何意义

mark字段的值是一个无符号的整数,在32位系统上最大可以是4294967296(就是2的32次方),这足够用的了。比如,我们对一个流或从某台机子发出的所有的包设置了mark值,就可以利用高级路由功能来对它们进行流量控制等操作了。

mark值不是包本身的一部分,而是在包穿越计算机的过程中由内核分配的和它相关联的一个字段。它可能被用来改变包的传输路径或过滤。mark值只在本机有意义!

在本机给包设置关联的mark值后,可通过该值对包后续的传输进行控制(排队,流量控制等)。

如何设置mark

http://hi.baidu.com/zmhabc/item/04112b2f68f90c99b6326369这篇文章中对mark的介绍比较详细。

例子:

iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 2 

如何匹配mark

iptables -t mangle -A INPUT -m mark --mark 1

-m 即match匹配的意思。

mark的格式是--mark value[/mask],如上面的例子是没有掩码的,带掩码的例子如--mark 1/1。如果指定了掩码,就先把mark值和掩码取逻辑与,然后再和包的mark值比较。

posted @   helloweworld  阅读(6245)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示