一、Clash 客户端与内核有什么区别?
客户端负责界面、订阅管理、系统代理开关与运行状态展示;内核负责读取配置、匹配规则、解析域名和建立连接。安装了客户端,不代表已经具备可用的代理节点。完成一次连接,仍需要有效配置、可达的节点以及正确的流量接入方式。
Clash Meta 后续以 mihomo 名称继续发展。不同内核对协议、DNS 字段和规则类型的支持并不完全一致。“支持 Clash 配置”也不表示任意配置都能原样运行。导入时报“未知代理类型”或“不支持的字段”,首先核对内核,而不是反复修改节点密码。
- 查看位置:客户端「设置」→「关于」或「内核」页面,记录客户端版本与内核版本,两者分开记录。
- 排错入口:打开「日志」,寻找启动时的内核名称、配置加载结果与错误字段。
- 选择原则:先确认服务提供方要求的协议与内核,再到客户端对比选择适用产品。
二、混合端口是什么,7890 要填在哪里?
mixed-port 是本地代理监听端口,同一个端口接受 HTTP 代理与 SOCKS 代理请求。7890 是常见示例值,不是固定标准,也不是远端节点端口。实际值应在客户端「设置」→「端口」中确认;有些客户端把该项放在「内核设置」。
| 项目 | 示例值 | 填写位置 |
|---|---|---|
| 本机代理地址 | 127.0.0.1 | 浏览器或应用的代理服务器地址 |
| 混合端口 | 7890 | 应用的 HTTP 或 SOCKS 代理端口 |
| 远端节点端口 | 由配置提供 | 节点定义,不用本地端口替换 |
| 控制接口端口 | 以当前配置为准 | 管理面板连接内核,不用于网页代理 |
下面是本地监听片段,不是包含节点的完整配置。仅供本机使用时,优先绑定回环地址,保持局域网访问关闭。
mixed-port: 7890
allow-lan: false
bind-address: '127.0.0.1'
mode: rule
若日志出现 address already in use,通常是端口被其他进程占用。先退出重复运行的客户端,再检查占用;确需改成 7891 时,应用的手动代理地址也要同步修改。只改界面数字却保留应用里的旧端口,会得到连接被拒绝的结果。
三、规则、全局、直连模式怎么选?
这三个模式决定流量进入内核之后如何选择出站。它们不负责让所有应用自动进入内核。切换为全局模式,也不会让一个忽略系统代理的终端自动使用代理。
- 规则模式(Rule):按配置中的规则选择直连、拒绝或某个代理组。日常使用优先从这个模式开始。
- 全局模式(Global):将进入内核的普通连接交给全局选择项处理。需要在「代理」→「GLOBAL」中确认具体选择,不能只看模式开关。
- 直连模式(Direct):进入内核的连接通常直接出站,不通过远端代理节点。
操作位置:打开「代理」或「概览」→「出站模式」,先选「规则」,再到目标代理组选择一个可用节点。不同内核仍可能存在独立的 DNS 或路由行为,因此全局模式不是“系统所有数据都走同一个节点”的保证。
排查某个网站时,可以短暂切到全局模式对比。若全局可用、规则不可用,应查看命中的规则与代理组;若两种模式都失败,则继续检查节点、DNS 和流量是否进入内核。
四、订阅链接、配置文件、节点是什么关系?
节点是一条远端出站的参数集合,包括服务器地址、端口、协议与认证信息。配置文件可以同时包含节点、代理组、规则和 DNS 设置。订阅链接则是获取这些内容的地址,返回结果可能是完整 YAML 配置,也可能只是节点集合。
按来源选择导入方式
- 获取适配当前客户端的订阅地址,打开「配置」→「新建」→「URL 导入」,粘贴并下载。
- 若拿到的是本地 YAML 文件,使用「配置」→「导入文件」,不要把文件正文粘进 URL 输入框。
- 下载完成后选中该配置,确认显示为当前使用项,再查看「代理」页面是否出现预期代理组。
部分客户端提供单节点链接导入,但这不等于该链接已经包含分流规则。只有节点时,可能仍需客户端配置模板补足代理组与规则。遇到“导入成功却没有代理组”,应先检查导入内容类型。
五、订阅多久更新一次,更新会覆盖手动修改吗?
订阅更新是重新获取配置,不是客户端升级,也不是节点测速。更新频率取决于服务提供方的变更节奏。可以先设为每 24 小时一次;如果提供方明确要求其他周期,按其说明调整。连续点击更新通常不能解决链接失效或格式不兼容。
操作位置:「配置」→ 当前订阅的菜单 →「更新」或「编辑」→「更新间隔」。注意单位:若字段要求秒,24 小时应填 86400;若字段要求分钟,则填 1440。某些客户端关闭后不会执行定时任务,不应据此认定服务端停止更新。
- 手动更新时机:提供方通知变更、节点普遍失效,或配置内容明显过期时。
- 可能被覆盖的内容:直接写入下载配置的规则、节点名称和 DNS 参数。
- 保留自定义设置:优先使用客户端支持的覆写、合并或扩展配置功能,修改前保存副本。
“更新成功”仅说明这次下载与加载流程通过,不代表每个节点均可连接。若下载失败,先看日志里的 HTTP 状态与解析信息:401、403 可能涉及权限或访问策略,404 可能是地址失效,解析错误则应检查返回内容是否真为配置。
六、规则如何匹配,为什么顺序会影响结果?
常规规则列表按从上到下的顺序匹配,命中后使用该条指定的出站。更具体的例外通常放在前面,兜底规则放在最后。下面用保留示例域名演示,不依赖任何真实订阅中的代理组名称。
rules:
- DOMAIN,login.example.com,DIRECT
- DOMAIN-SUFFIX,example.com,DIRECT
- GEOIP,CN,DIRECT
- MATCH,DIRECT
DOMAIN 匹配完整域名;DOMAIN-SUFFIX 匹配该域及其子域;GEOIP,CN 按目标 IP 所属地理数据库匹配;MATCH 是兜底项。上面的示例全部直连,只用于解释顺序。若要指定代理组,应把出站名称换成配置中真实存在的组名,并保持名称完全一致。
操作位置:先在「连接」里找到对应请求,查看规则、规则载荷与出站链;部分客户端需要展开详情。若界面不展示命中规则,可临时在「设置」→「日志级别」选择更详细的级别,复现一次后恢复,避免长期记录过多连接信息。
域名规则依赖内核能够获得域名信息。应用直接连接 IP、DNS 接管方式不同,或已有连接尚未关闭时,结果可能与仅看规则文本的预期不同。改完规则后,应建立新连接再验证。
七、系统代理与 TUN 模式有什么区别?
系统代理是把本机代理地址写入操作系统的代理设置,适合遵循该设置的浏览器和应用。TUN 模式通过虚拟网卡与路由接入流量,可覆盖部分不遵循系统代理的应用,但仍受路由、排除项、权限和平台实现影响。
桌面系统的起步顺序
- 先在客户端「设置」或托盘菜单开启「系统代理」,确认浏览器可以建立连接。
- 若目标应用仍未进入「连接」列表,检查它是否提供独立代理设置。
- 确需更广的流量接管时,再按客户端要求安装服务或授予权限,开启「TUN 模式」。
Windows 上常见的是管理员权限或服务模式要求;macOS 可能需要批准相关系统权限。Android 与 iOS 客户端通常通过系统 VPN 接口接入流量,不能照搬桌面的系统代理操作步骤。同时运行另一个 VPN、虚拟网卡工具或分流软件,可能造成路由冲突。
新手不宜在同一次排查中同时改动 TUN、DNS 和规则。每次只改一项,记录关闭与开启时的差异。TUN 开启后若出现网络异常,先关闭 TUN 恢复,再从权限、路由冲突和 DNS 接管逐项检查。
八、浏览器能用,为什么终端还是连接失败?
许多命令行程序不读取桌面系统代理。它们可能读取 http_proxy、https_proxy 等环境变量,也可能只识别自己的代理参数。浏览器成功,只能证明浏览器当前路径可用,不能证明终端使用了同一条路径。
操作位置:先在客户端「设置」→「端口」确认实际混合端口,再打开终端做一次显式代理请求。假设监听在 127.0.0.1:7890:
# macOS / Linux
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --head https://example.com
# Windows PowerShell
curl.exe --proxy http://127.0.0.1:7890 --connect-timeout 10 --head https://example.com
Windows 使用 curl.exe 可避免部分 PowerShell 环境把 curl 解释为其他命令。若收到目标站的 HTTP 响应,说明这次请求已获得响应;若提示连接本地端口失败,先检查客户端是否运行、端口是否一致。
需要为当前 macOS 或 Linux shell 设置变量时,可使用下面的临时设置。HTTPS 目标仍可通过 HTTP 代理的 CONNECT 隧道访问,因此这里的代理地址使用 http://。
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
# 排查结束后清除当前 shell 的设置
unset http_proxy https_proxy
这些变量只影响支持它们的程序与相应进程环境。若变量已设置却仍直连,检查程序自身配置与 no_proxy 例外项;不要直接把全局模式当作终端代理设置的替代品。
九、节点延迟低,为什么下载仍然慢?
客户端显示的延迟通常来自一次连接或 HTTP 探测,具体测量方式取决于客户端与配置。它不是下载带宽,也不一定是 ICMP ping。一个显示 40 ms 的节点,仍可能在持续传输时受限于线路拥塞、服务端带宽或目标网站策略。
操作位置:在「代理」→ 目标代理组执行「延迟测试」,记录测试 URL、时间和超时设置。切换节点后关闭旧下载,再建立新连接;已有 TCP 连接通常不会因为切换代理组而立即迁移。
- 延迟比较:使用相同测试 URL,连续测 3 次,避免用一次结果判断稳定性。
- 吞吐比较:使用相同下载源与文件,观察约 30 秒的持续速度,同时确认「连接」里选中的出站。
- 单位换算:8 Mbps 理论上约为 1 MB/s,尚未扣除协议开销。不要把两种单位直接比较。
例如,显示 50 ms 只能描述该次探测结果,不能推出能够达到 50 MB/s。若只有一个站点慢,优先检查该站点的连接与分流;若所有节点都慢,再对比本地网络、其他设备与不同时间段。这里的数值是解释方法的示例,不是节点实测承诺。
十、导入后仍无法联网,先检查哪几项?
按“配置加载 → 本地监听 → 流量进入 → 规则出站 → 远端连接”的顺序排查。先找到第一个失败环节,通常比同时更换订阅、端口和 DNS 更容易复现问题。
- 检查配置:在「配置」确认当前项已选中,日志没有 YAML 解析错误。YAML 用空格缩进,同级字段对齐,不使用 Tab。
- 检查监听:在「设置」核对端口,用显式代理命令访问一次,排除旧进程和端口冲突。
- 检查流量入口:打开「连接」后重新访问目标。若没有新连接,检查系统代理、应用独立代理或 TUN 接入。
- 检查规则:若出现连接,展开详情,确认是否命中预期规则、是否选到可用代理组。
- 检查错误类型:名称解析失败优先看 DNS;连接超时检查节点可达性;认证失败检查凭据或订阅状态。
- 检查恢复:暂时退出客户端前先关闭系统代理;仅在客户端内关闭系统代理,不要误删工作网络要求的企业配置。
求助时提供操作系统、客户端与内核版本、发生时间、失败应用和脱敏日志。写清“浏览器正常、终端失败”或“显式代理也连接本地端口失败”,比只写“无法联网”更便于定位。更多平台授权与安装顺序见安装教程,概念与常见设置可继续查阅FAQ。