Clash 文档中心中文使用手册

Clash 怎样固定设备与目标比较两种网络

Clash 怎样固定设备与目标比较两种网络。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4

比较两种网络时,必须先固定设备和访问目标,再只切换网络,否则成败和延迟会被网卡、模式和握手差异污染。官方全局配置提供了出站接口、运行模式、统一延迟、TCP 并发、日志级别和绑定地址等项,用来把比较条件写死。

适用条件

适用于同一台电脑、同一套全局配置,需要比较两种网络连通性或延迟的场合。设备固定是指:不更换主机,不在比较中途改 mode(rule、global 或 direct),不改 find-process-mode,不改 external-controller 监听范围。目标固定是指:比较过程中访问同一目的,且 unified-delay 保持同一取值。开启统一延迟时,内核会计算 RTT,以消除连接握手等带来的不同类型节点的延迟差异;若一边开一边关,延迟数字没有对照意义。global 模式下还要固定 GLOBAL 策略组的选择;store-selected 为 true 时,该选择会被储存并在下次启动时使用,比较前应确认未被 API 改写。

把变量锁住再切换网络的步骤

第一,明确 interface-name 策略:要么两种网络都留空由内核选择并在记录中写下实际网卡,要么分别为每个网络写入当时有效的接口名,但一次比较里不要混用未记录的接口。出站接口决定流量从哪块网卡离开,不锁这项就不是在比较网络,而是在比较网卡。

第二,固定 ipv6。默认 true 表示内核接受 IPv6 流量。若只想比较 IPv4 路径,两种网络都应写成同一布尔值,避免一种网络走 IPv6、另一种走 IPv4。

第三,固定 tcp-concurrent。为 true 时会对 DNS 解析出的所有 IP 发起连接并采用第一个成功的连接。解析结果随网络 DNS 变化,必须在记录中写死该开关,否则谁先连上不能当作线路对照。

第四,固定 log-level 为 info 或 debug,在两种网络用同一级别采集控制台或控制页面日志。silent 无法比较过程,error 会丢掉不影响运行的警告。

第五,若比较时有其他设备接入,固定 allow-lan、bind-address、lan-allowed-ips 和 lan-disallowed-ips。绑定星号与绑定单一地址、以及黑名单是否包含当前网段,会改变本机负载,必须一致或分别标注。比较域名目标时,还要记录 store-fake-ip,因为它决定域名再次连接时是否使用原有映射地址。

判断依据:仅网络链路变化、上述字段与设备、目标保持不变,两种网络的日志和连通结果才有权比较。若切换网络时改了 mode 或接口名,应作废该轮比较。

比较无法成立时的下一步

若无法指定稳定的 interface-name,先在每种网络记录实际出站接口,再开下一轮,不要把两次不同网卡的结果放进同一对照。Linux 上 routing-mark 必须两轮相同。keep-alive-interval、keep-alive-idle 与 disable-keep-alive 会影响空闲连接是否被维持,比较长时间会话时要写进条件;文档将其与移动设备耗电相关,电脑端同样会改变连接存活。外部控制的 CORS、secret 只影响控制面,不应与数据面延迟混为一谈。比较结论只陈述字段条件和日志差异。

参考资料:https://wiki.metacubex.one/config/general/

返回文章索引使用教程