系统代理决定应用是否把请求交给 v2rayN,路由模式决定交进来的请求走直连还是代理节点。日常浏览通常从「自动配置系统代理」配合绕过大陆规则开始;开发工具可以单独指定本地代理。本文按这两层设置说明三档系统代理的差别,并给出 macOS 检查路径、终端验证命令和退出后的恢复步骤。
系统代理与全局路由:先分清两层设置
v2rayN 是管理订阅、节点和内核配置的桌面客户端。导入订阅并选中节点,只是准备好了代理出口,不代表每个应用都会使用这个出口。浏览器要先把请求交给本地监听端口,内核才有机会应用路由规则。
macOS 系统代理属于入口设置:它把代理主机和端口写入网络服务的代理配置。遵循系统设置的应用据此连接本地代理;使用独立网络栈、独立代理设置或明确直连的程序,未必采用这些配置。「全局」属于另一层:通常指已经进入代理内核的请求,按全局路由交给选定节点,而不是自动接管整台 Mac。
| 设置层 | 解决的问题 | 不能据此推断的结果 |
|---|---|---|
| 系统代理 | 遵循系统设置的应用向哪里发送请求 | 不能保证所有进程、UDP 流量都被接管 |
| 全局路由 | 进入内核的常规请求统一走代理出口 | 不能让未接入代理的应用自动改道 |
| 绕过大陆路由 | 按域名、IP 等规则选择直连或代理 | 不能保证所有境内服务都被准确识别 |
| TUN 模式 | 通过虚拟网络接口接入更多 IP 流量 | 不能替代 DNS、路由排除和权限配置 |
v2rayN 系统代理三档:自动配置、清除与不改变
在 v2rayN 主界面底部状态栏或托盘菜单的系统代理选项中查看当前档位。不同桌面构建的入口位置和措辞可能略有差异,常见选项为「自动配置系统代理」「清除系统代理」「不改变系统代理」。三者操作的是系统配置,而不是订阅内容。
自动配置系统代理
推荐让客户端把本地代理地址写入系统设置。前提是内核已启动,监听地址和端口有效。开启后仍需选择合适的路由预设,才能区分直连与代理请求。
适合:日常浏览、遵循系统代理的桌面应用
清除系统代理
撤销客户端管理的系统代理设置。它不等于停止本地内核,也不保证手动填写代理地址的工具停止使用代理;开启中的 TUN 也需要另行处理。
适合:恢复普通网络、排查退出后的连接异常
不改变系统代理
保持系统代理现状,不主动执行开启或清除。若此前已经留下代理地址,切到这一档不会自动擦除。它也不是「直连模式」。
适合:已有受管理的网络配置、只给开发工具单独设代理
判断方法:要关闭系统代理,选清除,不选不改变
从自动配置切换到不改变后,如果系统仍指向本地端口,应用就可能继续使用代理。需要恢复直连时,先执行清除,再到 macOS 网络设置核对实际状态。
公司网络可能已经配置自动代理脚本或固定代理。改动前先记录原来的地址、端口与启用状态;清除客户端配置不等于恢复公司要求的配置。受管理设备应按组织的网络要求处理,避免直接覆盖。
全局与绕过大陆:看规则,不看开关名称
绕过大陆预设通常把本地网络、部分境内域名和境内 IP 交给直连出站,其他请求交给代理出站。具体行为以预设中的规则、顺序和数据库为准。Xray 的路由规则通常按顺序寻找匹配项,靠前的明确规则可能覆盖后面的通用规则。
- 全局路由:适合临时判断问题是否出在分流规则。若全局能访问而绕过大陆失败,应继续看域名匹配、DNS 解析和直连出站,不必先重装客户端。
- 绕过大陆:适合兼顾境内办公服务与需要代理的站点。它依赖规则数据,境内域名使用境外内容分发地址时,域名规则与 IP 规则可能得出不同判断。
- 局域网访问:打印机、路由器和本地开发服务通常需要明确直连。切换全局后也要核对是否保留局域网排除规则,不能只凭模式名称判断。
- DNS 行为:域名是否在匹配前解析、采用哪个解析器,都会影响 IP 规则结果。绕过大陆不是 DNS 故障或域名泄漏问题的自动修复按钮。
对于 geosite:cn 和 geoip:cn,前者表达域名集合,后者表达 IP 地址集合;geoip:private 常用于私有地址范围。它们不是可以随意填入任何界面的通用文字:图形路由编辑器与内核原生 JSON 的字段写法不同,应按当前编辑器要求填写。
两种工作场景的设置组合
日常办公与网页浏览
- 开启自动配置系统代理。
- 选绕过大陆路由,检查本地网络是否直连。
- 用工作站点和需要代理的站点分别验证。
- 内网站点异常时优先检查域名规则与公司 DNS。
开发调试与单个命令
- 先清除已有系统代理,再选择不改变。
- 在命令参数或工具设置中指定本地代理。
- 对同一 URL 比较直连和代理结果。
- 不把包含订阅凭据的终端输出贴到公开渠道。
先确定哪些应用需要接入,再确定这些请求的出口;这比同时切换系统代理、路由和 TUN 更容易定位问题。
Mac 上实际怎么设:监听端口与系统设置核对
先从下载页按芯片选择 v2rayN 安装包,再按使用文档导入订阅并更新分组。以下端口只用于说明核对方法,不代表所有版本的默认值;请以当前客户端显示的监听配置为准。
- 确认节点与内核。选中有效节点,检查日志中是否出现配置错误或端口占用。节点的远端端口与本地入站端口是两回事,不能把节点的 443 直接填进系统代理。
- 确认本地监听。在「设置」→「参数设置」中查看本地监听端口及协议类型;界面分组以当前构建为准。下文假设
127.0.0.1:10808接受 HTTP 代理请求,若实际为其他端口或仅支持 SOCKS,应相应调整。 - 打开系统代理。选择自动配置系统代理,再选择绕过大陆路由。首次验证期间先不叠加 TUN,减少干扰项。
- 核对 macOS。打开「系统设置」→「网络」→当前连接的网络服务→「详细信息」→「代理」。查看网页代理、安全网页代理或 SOCKS 代理的启用状态、服务器和端口,不要仅观察客户端图标。
- 分别验证。打开一个境内工作站点、一个需要代理的站点和一个局域网地址,同时查看内核日志中的出站选择。切换 Wi-Fi 与有线网络后重新核对,因为代理设置与网络服务有关。
终端验证:区分系统设置、代理连通与目标访问
终端程序不一定自动读取 macOS 系统代理。浏览器能打开网页而 curl 失败,并不能直接说明节点有问题。下面三组命令分别查看系统状态、绕过代理访问、明确指定代理访问,不会修改系统网络配置。
# 查看当前系统代理配置
scutil --proxy
# 忽略代理环境变量,对同一地址发起直连请求
curl --noproxy '*' --connect-timeout 10 -I https://example.com
# 假设 10808 是支持 HTTP 的本地代理端口
curl --noproxy "" --proxy http://127.0.0.1:10808 --connect-timeout 10 -I https://example.com
# 如果该监听端口支持 SOCKS,可单独测试 SOCKS 路径
curl --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 -I https://example.com
example.com 是用于演示语法的示例域名。实际排查时,两条访问命令应换成同一个待检查地址。这里的 10 是连接超时秒数,不是测速成绩;出现 HTTP 错误状态仍可能说明连接已经建立,需继续判断响应来自目标服务还是代理。
- 本地端口拒绝连接:先确认内核是否运行、端口是否写错,不要先改 DNS。
- 明确指定代理成功,浏览器失败:检查系统代理地址、浏览器自己的代理选项,以及是否仍有旧连接。
- HTTP 方式失败而 SOCKS 成功:核对入站支持的协议,不要把 SOCKS 专用端口当作 HTTP 端口。
- 全局成功,绕过大陆失败:检查请求在路由日志中命中的出站,重点看直连规则及域名解析。
socks5h 表示把目标域名交给 SOCKS 代理端处理;它与在终端本地先解析域名的路径不同。这可以帮助缩小 DNS 排查范围,但不能单靠一次成功就断言所有应用采用相同解析方式。
常见问题:退出残留、开发工具与 TUN
退出 v2rayN 后,为什么网页全部打不开?
先检查系统代理是否仍指向已经关闭的本地端口。能重新打开客户端时,执行清除系统代理再退出;打不开时,到「系统设置」→「网络」→当前服务→「详细信息」→「代理」中核对并关闭客户端留下的项目。原有公司代理应按记录恢复。
选了不改变系统代理,怎么还在走节点?
这个选项只是不改现状。先清除系统代理,再检查应用自己的代理地址、终端代理环境变量和 TUN 状态。已建立的连接也可能继续使用原路径,必要时重启被测试的应用后再观察。
浏览器能用,但开发工具不走代理怎么办?
在工具的网络设置中填写实际本地代理地址,或先用上文的显式 curl 参数测试。不要默认所有命令行工具都会读取系统设置,也不要默认每个工具都支持相同的代理环境变量。
是不是开启 TUN 就不用管系统代理了?
TUN 能覆盖更多不遵循系统代理的流量,但仍受接口路由、权限、DNS 与排除规则影响。首次排查先只保留一种接入方式;需要接管额外应用时再开启 TUN,并检查局域网访问与节点服务器的路由是否正常。
绕过大陆后,某个境内服务反而变慢怎么查?
记录完整域名和发生时间,在日志中确认它走直连还是代理,再临时对比全局结果。若服务属于公司内网,优先核对公司 DNS 与明确的内网直连规则;应根据 DNS 解析结果与实际连接 IP 核验其地址归属。
稳定使用后,保留一个可复现的检查顺序:本地监听正常、系统配置正确、应用确实接入、路由出口符合预期。订阅更新解决的是节点资料变化,系统代理解决的是应用入口,路由分流解决的是出口选择;三者各有职责,按层检查比反复重装更有效。