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"
}
]
}
注意事项
- 规则优先级:规则的执行顺序由定义的顺序决定,后

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