当前位置:首页干货分享iptables- MARK与CONNMARK目标

iptables- MARK与CONNMARK目标

本文分享自天翼云开发者社区《iptables- MARK与CONNMARK目标》,作者:李****佳

一、概念

MARK和CONNMARK是Linux中iptables防火墙规则中的两个重要目标,用于标记数据包以及连接。

1.1 MARK目标:

  1. MARK目标允许你为匹配的数据包设置一个32位的标记,这个标记可以在后续的规则中被使用。
  2. 通过MARK目标,你可以在数据包上打上一个标记,然后在后续的规则中通过条件匹配这个标记来进行进一步的处理。
  3. 例如,你可以使用MARK目标来标记特定类型的流量(如VoIP流量、视频流量等),然后在后续的规则中基于这些标记来进行不同的处理,比如限速、优先级调整等。

2.1 CONNMARK目标:

  1. CONNMARK目标的作用是在连接跟踪表中设置或修改连接的标记,而不仅仅是单个数据包的标记。
  2. 它通常用于在连接级别上对数据流进行标记,这样可以跟踪整个连接的状态,并且在连接的生命周期内保持一致性。
  3. CONNMARK目标允许你基于连接的属性(如源IP、目标端口等)来标记连接,然后在后续的规则中根据这些标记来进行相应的处理。

二、使用方法

2.1 MARK 的使用方法

MARK 目标用于给匹配的数据包添加一个特定的标记值。以下是一个基本的使用方法:

iptables -t mangle -A PREROUTING -s 源IP地址 -j MARK –set-mark 标记值

  • -t mangle:指定操作的表为 mangle 表,mangle 表用于数据包修改。
  • -A PREROUTING:表示将规则添加到 PREROUTING 链中,即数据包进入路由之前的处理阶段。
  • -s 源IP地址:用于匹配数据包的源 IP 地址。
  • -j MARK –set-mark 标记值:当数据包匹配规则时,使用 MARK 目标并设置标记值。

2.2 CONNMARK 的使用方法

CONNMARK 目标用于对连接进行标记,而不是对单个数据包。以下是一个基本的使用方法:

# 给特定连接的首次数据包标记

iptables -t mangle -A PREROUTING -s 源IP地址 -j CONNMARK –set-mark 连接标记值

 

# 在后续规则中使用连接标记

iptables -t mangle -A PREROUTING -m connmark –mark 连接标记值 -j ACCEPT

  • 第一条规则将来自特定源 IP 地址的连接标记为指定的连接标记值。
  • 第二条规则使用 -m connmark 来匹配已经标记的连接,并执行相应的动作。
温馨提示:

文章标题:iptables- MARK与CONNMARK目标

文章链接:https://www.cutrui.cn/3969.html

更新时间:2025年06月16日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
干货分享

Linux下如何使用perf/gdb/pstack分析性能与问题排查

2025-6-16 9:53:39

干货分享

NetTrace 工具介绍

2025-6-16 9:53:58

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~