1.基本概念

OpenClash 是一个开源的网络流量清洗和安全防护工具,主要用于企业网络环境下的威胁防御,规则设置是 OpenClash 的核心功能之一,用于定义如何处理不同类型的网络流量,以下是 OpenClash 规则设置的基本说明和常用配置示例: OpenClash 的规则由以下几个部分组成:

  • 规则名称(可选):用于标识规则的唯一名称,便于管理和查找。
  • 匹配条件:定义需要匹配的流量特征(如源地址、目标地址、端口、协议、URI 等)。
  • 操作:指定对匹配到的流量执行的操作(如过滤、允许、阻止、重定向等)。
  • 优先级:规则的执行优先级,高优先级规则会在低优先级规则之前执行。

常用规则类型

OpenClash 提供多种规则类型,以下是几种常用的规则类型:

(1) 过滤规则

  • 操作:过滤(Filter)
  • 用途:匹配特定流量并阻止其传输。
  • 示例:
    {
      "name": "阻止恶意网站",
      "match": {
        "uri": "/www.malicious-site.com"
      },
      "action": "block"
    }
    • 这条规则会阻止访问 www.malicious-site.com。

(2) 黑名单规则

  • 操作:阻止(Block)
  • 用途:匹配来自黑名单中的恶意 IP 地址并阻止其访问网络。
  • 示例:
    {
      "name": "阻止恶意 IP",
      "match": {
        "source": "192.168.1.1"
      },
      "action": "block"
    }
    • 这条规则会阻止来自 168.1.1 的所有流量。

(3) 白名单规则

  • 操作:允许(Allow)
  • 用途:允许特定地址或域名访问网络。
  • 示例:
    {
      "name": "允许内部网络",
      "match": {
        "source": "192.168../24"
      },
      "action": "allow"
    }
    • 这条规则会允许 168../24 内的所有 IP 访问网络。

(4) 防火墙规则

  • 操作:防火墙(Firewall)
  • 用途:匹配特定流量并根据规则进行处理(如阻止、重定向等)。
  • 示例:
    {
      "name": "防火墙规则",
      "match": {
        "source": "192.168.1.1",
        "destination": "172.16../24",
        "port": "80"
      },
      "action": "block"
    }
    • 这条规则会阻止来自 168.1.1 到 16../24 的 TCP 80 端口流量。

(5) 应用程序规则

  • 操作:应用程序(Application)
  • 用途:匹配特定应用程序或进程的流量并进行控制。
  • 示例:
    {
      "name": "阻止常用应用",
      "match": {
        "application": "http://example.com/app"
      },
      "action": "block"
    }

    这条规则会阻止访问特定应用程序的流量。

(6) 模糊规则

  • 操作:模糊(Fuzzing)
  • 用途:生成随机的流量包,用于检测网络设备的漏洞或异常流量。
  • 示例:
    {
      "name": "模糊检测",
      "match": {
        "source": "192.168.1.1",
        "destination": "192.168.1.2"
      },
      "action": "fuzz"
    }
    • 这条规则会生成随机的流量包,用于检测 168.1.1 到 168.1.2 的连接是否存在漏洞。

(7) 动态规则

  • 操作:动态(Dynamic)
  • 用途:根据实时数据或事件自动生成规则。
  • 示例:
    {
      "name": "动态 IP 黑名单",
      "match": {
        "source": "dynamic_ip_list"
      },
      "action": "block"
    }
    • 这条规则会根据动态的 dynamic_ip_list 列表自动阻止来自这些 IP 的流量。

规则组合与优先级

  • OpenClash 支持规则的组合使用,通过不同的匹配条件和操作实现复杂的流量控制。
  • 规则的优先级由配置文件中的顺序决定,高优先级规则会在低优先级规则之前执行。

高级规则配置

OpenClash 还支持高级规则,如 时间规则、地理位置规则、用户身份规则 等,用于更精细化的流量控制。

(1) 时间规则

  • 操作:时间(Time-based)
  • 用途:根据时间窗口匹配流量并进行控制。
  • 示例:
    {
      "name": "工作日访问限制",
      "match": {
        "time": "09:00-18:00"
      },
      "action": "block"
    }

    这条规则会在工作日 09:00-18:00 之间阻止访问某个网站。

(2) 地理位置规则

  • 操作:地理位置(Geolocation)
  • 用途:根据 IP 地址的地理位置匹配流量并进行控制。
  • 示例:
    {
      "name": "限制外地访问",
      "match": {
        "geolocation": "中国"
      },
      "action": "block"
    }

    这条规则会阻止来自中国的流量访问网络。

(3) 用户身份规则

  • 操作:用户身份(User Identity)
  • 用途:根据用户身份匹配流量并进行控制(如基于角色的访问控制)。
  • 示例:
    {
      "name": "限制管理员访问",
      "match": {
        "user": "admin"
      },
      "action": "block"
    }
    • 这条规则会阻止用户 admin 访问特定资源。

规则日志与监控

OpenClash 提供详细的规则日志,记录每条规则的执行情况,管理员可以通过日志分析规则的效果,并根据需要修改或添加新的规则。


示例配置

以下是一个完整的 OpenClash 规则配置示例,用于阻止恶意网站并允许内部网络访问:

{
  "rules": [
    {
      "name": "阻止恶意网站",
      "match": {
        "uri": "/www.malicious-site.com"
      },
      "action": "block"
    },
    {
      "name": "允许内部网络",
      "match": {
        "source": "192.168../24"
      },
      "action": "allow"
    }
  ]
}

高级配置

如果需要更复杂的控制,可以结合多种规则和高级功能:

{
  "rules": [
    {
      "name": "防火墙规则",
      "match": {
        "source": "192.168.1.1",
        "destination": "172.16../24",
        "port": "80"
      },
      "action": "block"
    },
    {
      "name": "模糊检测",
      "match": {
        "source": "192.168.1.1",
        "destination": "192.168.1.2"
      },
      "action": "fuzz"
    }
  ]
}

注意事项

  • 规则优先级:规则的执行顺序由定义的顺序决定,后

1.基本概念

@版权声明

转载原创文章请注明转载自原子VPN|多平台网络连接与线路优化工具,支持节点切换、网络测速及电脑手机端使用,满足不同网络环境下的连接需求,网站地址:https://yuanziapp.com.cn/