searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

iptables- MARK与CONNMARK目标

2024-06-25 09:47:21
82
0

一、概念

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

  1. MARK目标:

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

    • CONNMARK目标的作用是在连接跟踪表中设置或修改连接的标记,而不仅仅是单个数据包的标记。
    • 它通常用于在连接级别上对数据流进行标记,这样可以跟踪整个连接的状态,并且在连接的生命周期内保持一致性。
    • 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 来匹配已经标记的连接,并执行相应的动作。
0条评论
0 / 1000
李****佳
5文章数
0粉丝数
李****佳
5 文章 | 0 粉丝
李****佳
5文章数
0粉丝数
李****佳
5 文章 | 0 粉丝
原创

iptables- MARK与CONNMARK目标

2024-06-25 09:47:21
82
0

一、概念

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

  1. MARK目标:

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

    • CONNMARK目标的作用是在连接跟踪表中设置或修改连接的标记,而不仅仅是单个数据包的标记。
    • 它通常用于在连接级别上对数据流进行标记,这样可以跟踪整个连接的状态,并且在连接的生命周期内保持一致性。
    • 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 来匹配已经标记的连接,并执行相应的动作。
文章来自个人专栏
我的网络1
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0