v2rayN 允许局域网连接:让手机、平板与电视共用电脑代理

开启「允许来自局域网的连接」后,查看本机内网地址与端口,在其他设备填写 HTTP 或 SOCKS 代理,并放行防火墙入站规则。

本文速览

本文以 Windows 电脑运行 v2rayN、安卓手机和平板或电视接入同一家庭网络为例,说明局域网代理的监听地址、端口、防火墙与设备端填写方法。先让电脑自身连接正常,再开放指定网段访问,最后通过显式代理请求与日志确认流量路径;无需在路由器上配置公网端口映射。

一、局域网共享代理的工作范围

v2rayN 的「允许来自局域网的连接」用于让其他设备访问电脑上的代理入站。手机发起的请求先送到电脑,随后由正在运行的内核按路由规则选择直连或代理出口。订阅负责提供节点配置;开启共享本身不会创建节点,也不会替其他设备安装客户端。

设备发起请求 电脑代理入站 路由规则匹配 直连或代理 返回设备

这种方式只覆盖遵循设备代理设置的应用。安卓 Wi-Fi 的手动代理通常是 HTTP 代理,并不保证所有应用都使用它;游戏、部分电视应用以及自行建立连接的程序可能绕过该设置。电脑开启 TUN,也不会自动把同网段设备的全部流量接管进来。

二、先记录电脑内网地址与真实监听端口

先在电脑上选中可用节点,确认通过 v2rayN 可以正常访问目标网站。随后打开「设置」→「参数设置」,查找本地监听端口和「允许来自局域网的连接」。不同界面版本的分组名称可能略有差异,以当前安装版本显示的字段为准,不要照着旧教程猜端口。

  1. 在参数设置中记录 HTTP、SOCKS 或混合入站的端口。若界面仅提供混合端口,确认它同时接受 HTTP 与 SOCKS 请求。
  2. 启用「允许来自局域网的连接」,保存设置;若提示重启内核,按提示操作,并确认日志没有绑定失败或端口占用错误。
  3. 在 Windows 终端执行 ipconfig,找到当前联网的以太网或无线局域网适配器,记录其 IPv4 地址。
  4. 忽略断开的网卡、虚拟机网卡和 TUN 虚拟网卡。本文用 192.168.1.20 作为电脑地址示例,用 10808 作为已确认支持 HTTP 与 SOCKS 的混合端口示例。

电脑端记录

内网 IPv4
192.168.1.20
混合入站
10808/TCP
局域网连接
启用
网络范围
192.168.1.0/24

以上为贯穿全文的示例,应按实际地址、子网掩码和端口替换。

其他设备填写

服务器
192.168.1.20
端口
10808
协议
HTTP,或应用支持的 SOCKS5
认证
按电脑入站配置填写

服务器栏只填地址,不填订阅链接、节点域名或协议前缀。

127.0.0.1 是每台设备自己的回环地址。把它填在手机上,手机会连接自身而不是电脑。0.0.0.0 表示监听所有 IPv4 接口,也不是给手机填写的目标地址。家用路由器分配的地址可能变化,长期使用可在路由器 DHCP 设置中为电脑保留固定租约。

三、检查监听状态,再按网段放行防火墙

在 Windows PowerShell 执行下面的命令,检查示例端口。若实际端口不同,先替换 10808。只有启用开关还不够,内核必须真正监听在局域网可访问的地址上。

Get-NetTCPConnection -State Listen -LocalPort 10808 |
  Select-Object LocalAddress, LocalPort, OwningProcess

在可信家庭网络中,可打开「设置」→「网络和 Internet」→ 当前连接的属性,将网络配置文件设为「专用」。不要为了共享代理把公共网络改成专用。接着进入「Windows 安全中心」→「防火墙和网络保护」→「高级设置」→「入站规则」,新建 TCP 端口规则,限制为专用配置文件,并在作用域中填写允许访问的远程网段。

下面是等价的管理员 PowerShell 示例,仅适用于电脑与设备确实位于 192.168.1.0/24 的情况。/24 对应子网掩码 255.255.255.0;网络范围不同就应修改,不能直接套用。

New-NetFirewallRule `
  -DisplayName "v2rayN LAN TCP 10808" `
  -Direction Inbound `
  -Action Allow `
  -Protocol TCP `
  -LocalPort 10808 `
  -RemoteAddress 192.168.1.0/24 `
  -Profile Private

四、在安卓手机、平板与电视填写代理

让设备接入与电脑可互通的网络。电脑使用网线、手机使用 Wi-Fi 也可以,关键是路由器没有隔离两侧设备。相同无线网络名称不一定意味着可以互访,访客网络与 AP 隔离都可能阻断连接。

  1. 安卓手机或平板:进入「设置」→「WLAN」或「Wi-Fi」→ 当前网络详情 →「修改网络」→「高级选项」,将代理切换为「手动」。各设备系统的入口名称可能不同。
  2. 填写 HTTP 代理:代理主机名填 192.168.1.20,端口填 10808,前提是该端口已确认接受 HTTP 请求。初次测试不额外添加代理绕过项,保存后重新打开浏览器。
  3. 电视系统:在当前网络的高级设置中查找代理入口。若系统没有代理选项,仅能在支持代理的具体应用内配置;不要假设更改电脑设置就能覆盖电视。
  4. 应用支持 SOCKS5 时:选择 SOCKS5,填写同一电脑地址,并填写实际的 SOCKS 或混合端口。若应用提供远程 DNS 选项,可按需要开启后复测。

安卓系统的手动 HTTP 代理入口通常没有用户名与密码字段。如果电脑入站要求认证,而设备无法提交凭据,就不能只填地址和端口完成连接;应使用具备相应认证能力的应用。不要在不可信网络上通过取消认证来绕过这个限制。

判断:先测浏览器,再测目标应用

浏览器已经可用而电视应用仍失败时,先确认该应用是否遵循系统 HTTP 代理;不要立即改动节点、订阅和防火墙,以免把应用兼容性问题变成多项配置故障。

五、用显式代理请求确认共享链路

电脑自己能上网,只能说明本机路径可用。验证共享应从另一台设备发起。若局域网内还有一台 Windows 电脑,可先执行端口测试,再用 curl.exe 指定代理访问示例网页。测试时保持共享电脑和 v2rayN 运行。

Test-NetConnection 192.168.1.20 -Port 10808

curl.exe --proxy http://192.168.1.20:10808 --connect-timeout 5 --max-time 20 -I https://example.com/

curl.exe --proxy socks5h://192.168.1.20:10808 --connect-timeout 5 --max-time 20 -I https://example.com/

这两条 curl 命令分别验证 HTTP 与 SOCKS5 路径,仅在入站支持相应协议时使用。socks5h 表示由代理侧解析目标域名;普通 socks5 通常由测试设备先解析域名。这里的 5 秒连接超时和 20 秒总超时只是测试上限,不是实测延迟或速度指标。

测试现象可得结论下一步
TcpTestSucceeded: False设备尚未建立 TCP 连接检查 IP、监听、防火墙和设备隔离
端口成功,HTTP 代理失败只能确认 TCP 可达核对端口协议、认证与内核日志
返回 407代理要求身份认证检查设备是否支持并正确提交凭据
返回目标网站响应头该请求已通过代理入口完成再用实际应用和目标网站复测
命令成功,某应用失败共享入口基本可用检查应用自身代理支持和 DNS 行为

同时查看 v2rayN 的内核日志,观察测试时刻的目标域名、入站记录和出口选择;日志详细程度取决于当前设置。经过电脑代理入口,不代表请求一定走远端节点,路由规则仍可能选择直连。若需要核对出口,应结合日志与可信的出口地址查询结果,不要只凭网页是否打开判断。

六、局域网共享常见问题

手机和电脑连着同一个路由器,为什么仍然超时?

先核对手机填写的地址是否来自电脑正在使用的实体网卡,再检查路由器的访客网络、无线客户端隔离和不同网段访问策略。最后检查 Windows 当前网络配置文件是否与防火墙规则一致;规则只对专用网络生效时,公共配置文件下不会按该规则放行。

手机能打开网页,为什么游戏或视频应用不走代理?

Wi-Fi HTTP 代理不保证接管所有应用,也不等于支持任意 UDP 流量。先查应用是否有独立代理设置。安卓设备需要独立运行客户端时,可按需要查看 v2rayNG 或 v2flyNG 的配置教程;这属于设备自身接入方案,不是继续扩大电脑端口放行范围。

关闭电脑系统代理后,共享还能继续吗?

通常可以。系统代理开关决定电脑上遵循该设置的应用如何连接,局域网共享依赖的是内核和入站监听。只要内核仍在运行、监听与防火墙规则保持有效,其他设备就可继续使用;退出 v2rayN 或停止内核则会中断共享。

昨天能用,今天手机突然断网怎么办?

先看电脑是否休眠、v2rayN 是否运行,再重新执行 ipconfig 检查地址是否变化。如果暂时不共享,在手机当前 Wi-Fi 设置中把代理改回「无」。否则设备仍会尝试连接已经离线或换地址的电脑。

七、停止共享时恢复设备设置

临时共享结束后,先把手机、平板与电视中的代理恢复为关闭状态,再关闭 v2rayN 的局域网连接选项并按提示重启内核。最后删除专门创建的防火墙规则,避免遗留不再需要的访问入口。

Remove-NetFirewallRule -DisplayName "v2rayN LAN TCP 10808"
下载v2rayN