在使用 Clash(如 Clash for Windows, Clash Verge 等)的过程中,最常见的疑问之一就是:“我明明在软件里打开了 System Proxy(系统代理),为什么浏览器还是无法访问外网?”这个问题不仅困扰着刚接触代理软件的新手,有时候也会让老用户摸不着头脑。
其实,系统代理的生效机制比想象中要稍微复杂一点。它不仅与 Clash 自身的设置有关,还与浏览器的代理策略、系统网络环境甚至浏览器扩展息息相关。本文将为你深入剖析 Clash 系统代理打开但浏览器无反应的根本原因,并提供涵盖 Windows 和 macOS 平台的全面排查指南。
1. 核心概念:System Proxy vs TUN 模式
在开始排查之前,我们必须先弄清楚 Clash 中两种常见的代理接管方式:System Proxy(系统代理) 和 TUN 模式(虚拟网卡)。
System Proxy(系统代理)
当你打开 Clash 的System Proxy 时,Clash 实际上是去修改了 Windows 或 macOS 操作系统的“系统代理设置”(通常是设置 HTTP/HTTPS 代理为 127.0.0.1:7890)。
特点:
- 依赖于应用程序的自觉性。只有那些主动读取并遵循系统代理设置的应用程序(如 Chrome、Edge 浏览器默认情况下)才会将流量发送给 Clash。
- 对于不走系统代理的软件(如某些游戏、终端命令行、甚至部分 UWP 应用),开启系统代理毫无作用。
TUN 模式(虚拟网卡)
TUN 模式则更加底层和霸道。开启 TUN 后,Clash 会在系统中创建一张虚拟网卡,并通过修改系统路由表,将所有的网络流量(无论应用程序是否支持代理)强制劫持到虚拟网卡中进行处理。 特点:- 强制全局接管,真正意义上的“全局代理”。
- 不需要应用程序配合,支持游戏加速、命令行工具等所有网络请求。
总结: 如果你只打开了 System Proxy,你的浏览器必须处于“使用系统代理”的状态才能翻墙。如果浏览器没反应,往往是因为浏览器绕过了系统代理。
2. Windows 平台排查指南
如果你的操作系统是 Windows,遇到 Clash 系统代理已开启但浏览器无法访问外网,请按照以下步骤排查。
2.1 检查系统代理是否真正被修改
有时候,由于权限不足或杀毒软件拦截,Clash 并未能成功修改 Windows 的系统设置。- 操作步骤: 打开 Windows 的
设置->网络和 Internet->代理。 - 观察
手动设置代理部分:使用代理服务器的开关是否为开启状态。- 地址是否为
127.0.0.1,端口是否与 Clash 设置的一致(通常是7890)。
- 如果没开启: 说明 Clash 没有权限修改,尝试以管理员身份运行 Clash,或者暂时关闭 360 等安全软件。
2.2 浏览器扩展冲突(重点排查对象)
这是导致 Chrome、Edge 浏览器无法使用系统代理的最常见原因! 如果你安装了如 SwitchyOmega、ZenMate、SetupVPN 等代理扩展,它们会直接接管浏览器的代理设置,导致浏览器无视 Windows 的系统代理。- 解决方案:
- 临时禁用所有与网络、代理相关的浏览器扩展,然后重启浏览器重试。
- 如果使用 SwitchyOmega,请确保将其设置为
[系统代理],或者手动配置一个指向127.0.0.1:7890的情景模式,并将其设为活动状态。
2.3 Firefox(火狐)浏览器的特殊性
Firefox 默认情况下不使用系统代理,而是拥有独立的代理设置。- 操作步骤: 打开 Firefox 的
选项(设置)-> 搜索代理-> 点击网络设置。 - 修改为: 选择
使用系统代理设置。保存后即可让 Firefox 遵循 Clash 的设置。
2.4 UWP 应用限制(Windows 独有)
如果你使用的是 Windows 应用商店下载的浏览器(极其少见)或其他 UWP 应用,微软出于安全考虑,默认禁止 UWP 应用访问本地回环地址(127.0.0.1)。
- 解决方案: 在 Clash for Windows 中,点击
General页面的UWP Loopback,全选所有应用并保存即可解除限制。
3. macOS 平台排查指南
Mac 用户的网络架构与 Windows 略有不同,但排查逻辑基本相似。
3.1 确认系统代理已生效
- 操作步骤: 打开
系统设置->网络-> 选择当前使用的网络(如 Wi-Fi) -> 点击详细信息-> 切换到代理标签。 - 确认
网页代理 (HTTP)和安全网页代理 (HTTPS)是否已被勾选,且服务器指向127.0.0.1,端口正确。 - 注意事项: 在 macOS 中,每次更换网络(比如从家里 Wi-Fi 切换到手机热点),系统代理设置可能会被重置,需要重新在 Clash 中开启
System Proxy。
3.2 浏览器代理插件干扰
与 Windows 一样,Chrome 和 Edge for Mac 也会被代理插件劫持。- 解决方案: 检查浏览器的扩展管理页面,关闭所有第三方 VPN 或代理插件(如 SwitchyOmega),确保浏览器回归默认的跟随系统状态。
3.3 Safari 浏览器的特殊情况
Safari 作为苹果亲儿子,严格遵守 macOS 的系统代理。但如果你开启了 iCloud 的“专用代理”(Private Relay),可能会与 Clash 发生冲突。- 解决方案: 前往
系统设置->Apple ID->iCloud,暂时关闭专用代理(Private Relay),看看是否能恢复正常。
4. 终极排查:跨平台的通用问题
如果你确认了系统代理没问题,浏览器也没有插件干扰,但依然无法上网,请检查以下几点:
4.1 PAC 脚本失效或未更新
有些用户习惯使用 PAC(代理自动配置)模式而非纯粹的系统代理。如果 PAC 脚本中的规则陈旧或下载失败,会导致部分网站无法被正确代理。- 建议: 现代的 Clash 客户端(如 Clash Verge)推荐使用基于内核规则的分流(Rule 模式),而不是依赖系统层面的 PAC。请确保 Clash 面板中的模式选为
Rule或Global。
4.2 节点本身的问题
一个最容易被忽略的事实:系统代理设置得再完美,如果你的 Clash 节点全部超时或不可用,浏览器也是打不开网页的。- 测试方法: 在 Clash 的
Proxies界面,对节点进行延迟测试(点击测速小闪电)。确保你选择的节点有真实的延迟数据,而不是Timeout。 - 尝试切换到
Global(全局模式),并手动选择一个确定可用的节点,看浏览器是否能打开网页。
4.3 与其他 VPN 软件冲突
如果你的电脑上同时运行着其他 VPN 软件(例如校园网 VPN、企业内网深信服 VPN、或者其他翻墙工具如 V2rayN),它们的虚拟网卡或路由表规则可能会与 Clash 发生冲突。- 解决方案: 彻底关闭其他所有 VPN 类软件,甚至在任务管理器中结束其后台进程,重启电脑后单独运行 Clash。
4.4 终极杀招:直接开启 TUN 模式
排查太累了?或者某个固执的软件死活不走系统代理? 直接在 Clash 客户端中开启 TUN 模式(虚拟网卡)!- TUN 模式会在更底层接管所有网络流量。开启 TUN 模式后,你可以直接关闭
System Proxy,浏览器无需任何设置即可直接翻墙。这也是目前最推荐、最省心的方案(注意:开启 TUN 模式可能需要管理员/Root 权限)。
结语
Clash 开启系统代理后浏览器没反应,九成以上的原因出在浏览器被扩展劫持或节点自身故障。只要理清了 System Proxy 与浏览器的关系,按照本文的步骤一步步排查,问题通常都能迎刃而解。如果不想折腾,直接拥抱 TUN 模式,也是一个明智的选择!




