v2rayN 系统代理设置教程:自动配置、PAC 与 TUN 一次讲清
简答:v2rayN 系统代理设置的最短流程是:先确认已有活动节点并启动核心,再选择“自动配置系统代理”,最后到 Windows“设置→网络和 Internet→代理”确认代理已写入。浏览器仍打不开时,优先检查活动节点、本地 HTTP 端口和系统代理模式;不要把“全局路由”误认为所有程序都会自动使用代理。本文按 Windows 新手的实际操作顺序说明,也提醒菜单名称可能因 v2rayN 版本不同而变化。
定义:v2rayN 系统代理是把支持系统代理的 Windows 应用流量转发到 v2rayN 本地 HTTP 入口,再由核心按照路由规则处理。
先试这一步:5分钟完成 v2rayN 系统代理设置
本文是面向 Windows 的使用指南,不代表任何客户端或服务品牌的官网。v2rayN 的系统代理功能主要影响浏览器等会读取 Windows 代理设置的程序;它与核心路由、TUN 虚拟网卡不是同一个开关。v2rayN 文档将系统代理分为清除、自动配置、不改变和 PAC 四类,路由则负责决定流量从哪个出站连接发出。v2rayN 项目文档对系统代理与路由的说明
- 确认节点和核心已启动:打开 v2rayN,选中一个可用节点或活动服务器,启动核心。先看日志中是否出现启动失败、端口占用或配置解析错误。
- 打开系统代理:在主界面、任务栏托盘菜单或设置中的系统代理相关选项里,选择“自动配置系统代理”。不同版本菜单位置可能变化,看到“自动配置系统代理”即可,不要误选“PAC”或“不改变系统代理”。
- 验证 Windows 设置:打开“设置→网络和 Internet→代理”,检查手动代理或自动配置脚本状态是否发生变化;随后用浏览器访问一个普通网页,再回到 v2rayN 查看日志是否出现请求记录。
如果三步完成后浏览器仍无法访问,先不要立刻开启 TUN。继续检查活动节点、本地监听端口和浏览器是否使用了独立代理设置。
四种系统代理模式怎么选?先看覆盖范围
| 模式 | 作用 | 适合什么时候用 | 常见误区 |
|---|---|---|---|
| 清除系统代理 | 关闭 Windows 当前系统代理,并清理相关代理配置。 | 准备恢复直连、退出 v2rayN 或排查代理残留。 | 只清除系统代理,不代表会停止核心或关闭 TUN。 |
| 自动配置系统代理 | 把 Windows 系统代理指向 v2rayN 的本地 HTTP 入口。 | 浏览器、办公软件等能够读取系统代理的程序。 | 不是所有命令行工具、游戏和容器都会读取它。 |
| 不改变系统代理 | 启动或重启服务时不修改现有 Windows 代理设置。 | 电脑已经由其他工具或组织策略管理代理。 | 选择后 v2rayN 不会替你修复原有的错误代理。 |
| PAC 模式 | 让 Windows 使用自动代理配置脚本,根据规则决定直连或进入代理。 | 需要按域名或地址进行更细分流。 | PAC 只影响读取该脚本的程序,不能覆盖所有应用。 |
以上四种模式来自 v2rayN 项目对系统代理的说明;项目源码显示,Windows 自动配置会设置代理服务器或 PAC 脚本,并通知系统刷新代理设置。查看模式定义 查看 Windows 系统代理处理代码
建议:普通浏览器验证先选“自动配置系统代理”;需要分流时再研究 PAC;只有在明确知道某个应用不读取系统代理、且需要覆盖更底层流量时,才考虑 TUN。
Windows 中如何确认代理地址和端口
v2rayN 的系统代理通常使用本机回环地址,也就是 127.0.0.1 或 localhost,端口则由当前配置和核心入站决定,不能直接套用别人的固定端口。项目源码显示,系统代理字符串会根据当前入站端口生成;如果启用了高级代理协议,也可能按配置分别写入 HTTP、HTTPS 或 SOCKS 等字段。v2rayN Windows 代理地址生成逻辑
- HTTP 代理:浏览器和多数支持系统代理的应用优先使用这一入口。
- SOCKS5:需要应用本身提供 SOCKS5 设置时单独填写;不要因为系统代理页面只有 HTTP 字段,就认为 v2rayN 没有工作。
- 混合端口:某些配置把 HTTP 和 SOCKS 请求统一接入一个本地入口,具体以 v2rayN 当前界面或配置为准。
- 地址:在本机运行 v2rayN 时,通常填写
127.0.0.1;不要把远端节点地址当成本地代理地址。
在 Windows 代理页面中,重点检查“代理服务器地址”和“端口”是否与 v2rayN 当前监听信息一致。如果 v2rayN 显示核心已启动,但 Windows 代理仍指向旧端口,先关闭自动配置,再重新开启一次。
怎么判断设置真的生效
- 打开 v2rayN 的日志窗口,访问一个网页,观察是否出现新的请求或连接记录。
- 在浏览器中暂时关闭浏览器自己的扩展代理、独立代理或安全软件代理,避免多个代理入口相互覆盖。
- 打开 Windows 代理页面,确认当前开关、地址、端口或 PAC 状态与 v2rayN 设置一致。
- 如果只想验证本地端口,可在命令提示符中运行
netstat -ano | findstr LISTENING,再对照 v2rayN 当前端口;该命令只能说明端口监听,不能证明远端节点可用。
系统代理已开启但不同程序不生效,按应用类型排查
系统代理和核心路由是两层设置:系统代理负责把部分应用的流量送入 v2rayN,路由负责进入核心后如何分流。v2rayN 文档明确指出,核心路由不能替代应用进入系统代理的过程,因此选择“全局”也不等于所有程序都会自动走代理。系统代理与核心路由的边界
- 浏览器不能用:先检查系统代理地址和端口,再看 v2rayN 日志是否有请求;没有请求记录时,优先排查浏览器独立代理、代理扩展和系统代理未写入。
- 浏览器能用,Git 不行:Git 可能使用自己的 HTTP、HTTPS 或 SOCKS 配置。检查 Git 当前配置,再决定是否在 Git 内单独填写本地 HTTP 代理;不要只改 Windows 系统代理就断言 Git 一定会跟随。
- 命令行工具不行:部分程序读取环境变量,例如
HTTP_PROXY、HTTPS_PROXY或ALL_PROXY,也有程序完全不读取系统代理。应查看该程序自己的代理文档。 - Docker、服务或 Windows 组件不行:这类程序可能使用 WinHTTP 或服务级配置。微软文档说明,
netsh winhttp用于查看、设置和重置 WinHTTP 代理;它与普通用户界面的系统代理不是同一配置层。Microsoft Learn:netsh winhttp - 游戏或不支持代理的程序不行:这类程序可能不读取 Windows 代理,需要应用自身支持,或在明确理解权限、DNS、路由和冲突风险后评估 TUN。
如果只是想查看 WinHTTP 当前状态,可在命令提示符中执行 netsh winhttp show proxy。如果确认有错误的 WinHTTP 代理残留,可执行 netsh winhttp reset proxy 恢复为直连;微软文档说明该命令会将 WinHTTP 代理重置为 DIRECT。执行前应确认电脑没有由单位或其他网络设备统一管理代理。Microsoft Learn:Netsh.exe WinHTTP 命令
什么时候需要 TUN?开启前先检查这四项
TUN 是虚拟网卡级别的接管方式,覆盖范围通常比普通系统代理更广,但也会增加权限、DNS、路由和网卡冲突的排查成本。它不是“系统代理无法开启”的必然修复方案,也不能替代活动节点和核心启动检查。
- 确认普通系统代理已经验证过:如果浏览器都没有请求记录,先修复系统代理或本地端口,再考虑 TUN。
- 确认权限和驱动条件:某些 TUN 实现需要管理员权限、虚拟网卡组件或系统允许安装网络驱动;当前版本的具体提示以 v2rayN 界面为准。
- 检查 DNS 与路由冲突:TUN 可能改变 DNS 解析和默认路由。开启后如果局域网、打印机或办公内网不可访问,应检查绕过网段、DNS 模式和现有 VPN/安全软件。
- 一次只改一个开关:不要同时切换系统代理、PAC、TUN、DNS 和路由模式,否则很难判断是哪项设置造成变化。
适合先使用系统代理的场景是:主要需求是浏览器或支持系统代理的办公软件。适合进一步评估 TUN 的场景是:目标程序明确不读取系统代理,但又确实需要通过客户端处理流量。无法确认某个应用是否支持时,先查该应用的代理设置或官方文档,不要直接修改多个网络层。
退出 v2rayN 前如何恢复 Windows 网络
正常退出前,先在 v2rayN 中选择“清除系统代理”,再退出客户端。这样可以减少浏览器或其他程序继续指向已关闭本地端口的情况。v2rayN 项目源码显示,清除操作会关闭代理开关并清理代理服务器、绕过列表和 PAC 地址。v2rayN Windows 代理清除逻辑
如果客户端意外崩溃或被强制结束,可以按以下顺序恢复:
- 重新打开 v2rayN,等待界面加载完成后选择“清除系统代理”。
- 进入 Windows“设置→网络和 Internet→代理”,关闭不需要的手动代理或自动配置脚本。
- 如果只有 Windows 服务或某些系统组件异常,运行
netsh winhttp show proxy查看 WinHTTP 状态。 - 确认确实存在错误的 WinHTTP 代理后,再运行
netsh winhttp reset proxy,然后重新测试网络。 - 最后关闭浏览器并重新打开,避免浏览器继续使用旧连接或旧 PAC 缓存。
不要直接删除注册表键值作为第一选择。v2rayN 和 Windows 可能还会在下一次启动时重新写入代理设置;优先使用客户端的清除功能和 Windows 设置页面,便于回滚和确认。
发布前核对清单:代理设置是否完成
- 核心状态:v2rayN 已启动核心,日志没有明显的配置解析、端口占用或启动失败提示。
- 活动节点:已经选定活动节点,而不是只导入节点但没有实际启用。
- 系统代理模式:普通浏览器验证时选择“自动配置系统代理”。
- Windows 页面:代理地址、端口或 PAC 状态与 v2rayN 当前信息一致。
- 请求记录:浏览器访问网页后,v2rayN 日志能看到对应请求或连接变化。
- 程序差异:浏览器、Git、Docker、命令行和游戏分别判断,不能用一个程序的结果代表全部应用。
- 退出回滚:退出前清除系统代理;异常退出后重新打开客户端或从 Windows 设置中恢复。
核验时间:2026年11月4日。由于 v2rayN 的菜单名称和入口可能随版本变化,本文不固定承诺某个版本的具体位置;遇到界面差异时,应优先寻找“系统代理设置”“自动配置系统代理”“清除系统代理”和“PAC”等同义选项。
常见问题
v2rayN 开启自动配置系统代理后,浏览器还是不能上网怎么办?
先确认核心已启动并选中了活动节点,再检查 Windows 代理页面中的地址和端口是否与 v2rayN 当前监听信息一致。随后查看 v2rayN 日志:没有请求记录时,优先排查浏览器独立代理、代理扩展、系统代理未写入或端口错误;有请求但连接失败时,再检查节点、DNS和路由。
v2rayN 系统代理应该填 HTTP 还是 SOCKS5?
普通 Windows 系统代理和多数浏览器优先使用 v2rayN 提供的本地 HTTP 入口;只有应用自身明确要求 SOCKS5 时,才在该应用的代理设置中填写 SOCKS5 地址和端口。具体端口以当前 v2rayN 界面为准,不要照抄其他教程的固定端口。
为什么 v2rayN 选择全局路由,Git 或 Docker 还是不能用?
全局路由只决定已经进入核心的流量如何出站,不负责让所有应用自动进入系统代理。Git、Docker、命令行和 Windows 服务可能使用自己的代理配置、环境变量或 WinHTTP。应按应用类型单独检查,必要时查看该程序的代理文档。
v2rayN 退出后浏览器无法联网,怎么恢复?
重新打开 v2rayN,选择“清除系统代理”,再退出客户端。也可以到 Windows“设置→网络和 Internet→代理”关闭残留的手动代理或 PAC;如果只有系统服务异常,再用 <code>netsh winhttp show proxy</code> 检查,并在确认错误后执行 <code>netsh winhttp reset proxy</code>。
什么时候应该开启 TUN,而不是继续使用系统代理?
当目标应用明确不读取 Windows 系统代理、但确实需要由客户端接管流量时,才评估 TUN。开启前先确认权限、虚拟网卡、DNS、默认路由以及现有 VPN或安全软件不会冲突;如果普通浏览器都没有请求记录,先修复系统代理,不要直接用 TUN 遮盖基础问题。