很多人以为“开了代理就一定能上网”,结果其实只是浏览器能打开,微信、Git、游戏或系统更新还是报超时,甚至出现“已连接但无法访问互联网”。还有一种常见情况是:切换到 TUN 模式后,原本正常的局域网打印机、NAS、公司内网突然访问不了,或者系统代理一开,部分应用直接不走代理、网页却能打开。

这通常不是“网络坏了”,而是你选错了代理接管方式:系统代理和 TUN 模式处理流量的范围不同,适用场景也不同。

先分清是哪种情况

速度保持率测试连接后保留的原始带宽占比67%机场 A79%机场 B65%公共 VPN83%免费节点92%Roxi

1. 只有浏览器能用,其他软件不走代理

这是最常见的系统代理问题。系统代理主要影响遵守系统代理设置的应用,例如部分浏览器、下载器、办公软件;但很多程序会忽略系统代理,直接连网络,所以会出现“网页能开,客户端不行”。

2. 需要所有流量都经过代理

如果你要让游戏、命令行工具、更新程序、部分 App 全部走同一出口,系统代理通常不够,需要 TUN 模式。TUN 会把设备上的网络流量按虚拟网卡方式接管,更接近“全局代理”。

3. 局域网、打印机、NAS 访问异常

开了 TUN 模式后,所有流量可能都被转发,若没有排除内网地址,就会把 192.168.x.x、10.x.x.x 这类本地流量也送进代理,导致访问内网设备变慢或失败。

4. DNS 异常导致“能连上但打不开”

有时不是代理没生效,而是 DNS 解析被干扰。系统代理只管部分应用的代理配置,TUN 模式如果 DNS 没配好,也可能出现域名解析失败、网站打不开但 IP 能通的情况。

分步解决

加密强度不记录日志DNS 防泄露断网保护协议混淆连接速度综合安全评分:93/100

1. 先判断你现在该用系统代理还是 TUN 模式

如果你的目标只是让浏览器、部分桌面应用按代理访问,优先用系统代理,配置简单、兼容性好。

如果你的目标是“所有应用尽量都走代理”,或者某些软件明显不读取系统代理,就改用 TUN 模式。

简单判断方法:打开一个终端或命令提示符,执行 curl -I https://www.google.com 或 curl -I https://example.com。如果浏览器能开、这里超时,往往说明命令行没走系统代理;如果开启 TUN 后命令也能通,说明 TUN 已接管成功。

2. Windows:开启系统代理

进入 设置 → 网络和 Internet → 代理。

在“手动设置代理”里打开“使用代理服务器”。

如果你的代理客户端给了本地端口,比如 127.0.0.1:7890,就把地址填 127.0.0.1,端口填 7890。

保存后,打开浏览器访问一个原本打不开的网站,或在命令行执行 netsh winhttp show proxy 看系统层面的 WinHTTP 代理状态;注意很多软件只认 WinINET 代理,也就是这里的系统代理设置。

3. macOS:开启系统代理

进入 系统设置 → 网络 → 选中当前网络(Wi‑Fi 或以太网)→ 详细信息 → 代理。

按需勾选 Web 代理(HTTP)和安全 Web 代理(HTTPS),或者使用客户端提供的自动代理配置。

如果你看到本地地址和端口,例如 127.0.0.1:7890,就填写对应值并保存。

可在终端执行 scutil --proxy 查看当前系统代理是否已生效。

4. Android:优先用 TUN 或 VPN 类接管

Android 的系统代理只对当前 Wi‑Fi 有效,且很多 App 不会完全遵守。进入 Wi‑Fi → 长按当前网络 → 修改网络 → 代理,通常只能设置“手动”代理地址和端口。

如果你需要全局生效,通常应使用支持 TUN/VPN 模式的方式,而不是只靠 Wi‑Fi 代理。

5. iOS:系统代理只管当前 Wi‑Fi

进入 设置 → Wi‑Fi → 点击当前网络右侧的 i 图标 → 配置代理。

选择“手动”,填入服务器、端口;如果有 PAC 地址则选“自动”并填写 URL。

注意:iOS 的这个设置只对当前 Wi‑Fi 生效,切到蜂窝数据后不生效;如果你需要更完整的接管,通常要依赖支持 TUN 的 VPN/代理方案。

6. 开启 TUN 模式,解决“只有部分应用走代理”

如果你的客户端支持 TUN 模式,先在设置里找到“核心模式”“TUN”“虚拟网卡”“接管流量”之类选项并开启。

然后重点检查三项:

第一,是否要求管理员权限或 VPN 权限;Windows 上可能需要以管理员身份运行,macOS 和 Android/iOS 需要系统弹窗授权。

第二,是否开启“绕过局域网”或“排除本地地址”。如果有这个选项,建议打开,避免内网设备失联。

第三,是否启用了 DNS 接管。若有“劫持 DNS”“使用代理 DNS”“远程 DNS”之类选项,先按客户端默认推荐开启,再测试域名解析。

7. 处理局域网访问异常

如果开启 TUN 后访问路由器、打印机、NAS 出问题,先检查是否把 192.168.0.0/16、10.0.0.0/8、172.16.0.0/12 这类地址排除了。

有的客户端会提供“绕过局域网和本地地址”“直连 LAN”开关;打开它。

如果没有这个选项,至少把内网设备地址手动加入直连规则,避免被全局代理接管。

8. 处理 DNS 问题

如果“能连代理但网页打不开”,先别急着换节点,先看 DNS。

在 Windows 上可以运行 nslookup example.com,观察是否返回正常 IP。

在 macOS 上可运行 dig example.com 或 nslookup example.com。

如果解析超时,说明 DNS 可能没走通。此时在客户端里优先选择“通过代理解析 DNS”或“远程 DNS”,并清理系统 DNS 缓存:Windows 执行 ipconfig /flushdns;macOS 执行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder。

验证是否修好

2017Shadowsocks 普及2019V2Ray / VMess2021Trojan 伪装2023VLESS+Reality2025Hysteria2 抗封锁

先做三类测试,不要只测一个网页。

第一,测试浏览器:打开之前访问失败的网站,看是否能正常加载。

第二,测试非浏览器应用:例如命令行执行 curl -I https://example.com,或者用原来失败的客户端登录一次。

第三,测试内网:如果你需要访问打印机或 NAS,确认 192.168.x.x 地址是否还能打开管理页或共享目录。

如果你开启的是系统代理,浏览器正常但命令行仍失败,说明它没有走系统代理,这是预期现象,不一定是故障。

如果你开启的是 TUN 模式,浏览器、命令行、部分客户端都正常,同时局域网也没有断,才算配置比较稳。

还是不行怎么办

先回到最小化排查:关闭所有额外规则,只保留一个代理模式,确认是系统代理问题还是 TUN 问题。

然后检查这几项:

1. 代理端口是否填错,是否和客户端显示的一致。

2. 本地防火墙或安全软件是否拦截了虚拟网卡或本地代理端口。

3. 是否同时开了多个代理软件,导致端口冲突或规则互相覆盖。

4. 是否使用了需要认证的网络,公共 Wi‑Fi 可能先要在浏览器完成门户登录。

5. 是否只是目标站点本身不可用,换一个完全正常的网站测试。

如果你的问题本质上是网络被封锁、被墙,或者某些地址必须经由代理才能访问,那么可以考虑换成稳定的接管方式继续测试;这类场景下,像 Roxi 这类免费、全平台、不限流量的工具也可以作为一种可选方案。

如果以上都不成立,建议把客户端日志打开,记录失败时间、目标地址、代理模式、DNS 设置和报错内容,再逐项对照排查。