WSL 2 通过 Windows V2RayN 代理上网权威指南 (2025版)


WSL 2 通过 Windows V2RayN 代理上网权威指南 (2025版)

本指南为最终版本,包含了所有验证成功的步骤,旨在提供最清晰、最可靠的配置流程。

第一部分:配置 WSL 2

核心原理:WSL 2 拥有独立的虚拟网络,需要将 Windows 主机视为一个“局域网”设备。我们通过获取 Windows 在该网络中的 IP,并在 WSL 中设置带认证的代理来将网络流量导向它。

第一步:配置 V2RayN (确保设置无误)

  1. 开放局域网连接:在 V2RayN 的 设置 -> 参数设置 -> V2RayN 设置 中,必须勾选“允许来自局域网的连接”。这是整个方案的前提,还要打开为局域网开放端口。
  2. 确认代理参数
    • 监听端口10810 (根据您的设置)
    • 认证用户v2rayn填写的用户名
    • 认证密码v2rayn填写的密码 (不含特殊字符的最终版密码)
  3. Windows 防火墙:确保在首次开启“允许局域网连接”时,您已在弹出的 Windows Defender 防火墙窗口中,为 V2RayN (或其核心 v2ray.exe / xray.exe) 勾选“专用网络”和“公用网络”并点击了“允许访问”。

第二步:在 WSL 中获取 Windows 主机 IP

  1. 打开您的 WSL 终端。

  2. 运行以下命令来获取作为默认网关的 Windows 主机 IP 地址。这是最稳定、最推荐的方法。

    ip route show | grep default | awk '{print $3}'

    您会得到一个 172.x.x.x 格式的 IP,请记下它(虽然下面的脚本会自动获取)。

第三步:配置 WSL 终端代理

  1. 编辑您的 Shell 配置文件 (如果文件不存在,nano 会自动创建)。

    # 如果您使用 bash (默认)
    nano ~/.bashrc
  2. 将以下最终版配置代码块完整地复制并粘贴到文件末尾。

    # --- V2RayN Proxy Configuration for WSL (Final Version) ---
    
    # 1. 自动获取作为默认网关的主机 IP (推荐方法)
    export HOST_IP=$(ip route show | grep default | awk '{print $3}')
    
    # 2. 您的 V2RayN 代理参数
    PROXY_PORT="10810"
    PROXY_USER="v2rayn填写的用户名"
    PROXY_PASS="v2rayn填写的密码"
    
    # 3. 构建包含认证信息的代理 URL
    PROXY_URL="http://${PROXY_USER}:${PROXY_PASS}@${HOST_IP}:${PROXY_PORT}"
    
    # 4. 设置系统环境变量
    export http_proxy="${PROXY_URL}"
    export https_proxy="${PROXY_URL}"
    export all_proxy="socks5://${PROXY_USER}:${PROXY_PASS}@${HOST_IP}:${PROXY_PORT}"
    
    # 5. 设置不走代理的本地地址
    export no_proxy="localhost,127.0.0.1,*.local,${HOST_IP}"
    
    echo "✅ Proxy enabled for WSL via host ${HOST_IP}"
  3. 保存并退出 (Ctrl+O, Enter, Ctrl+X)。

第四步:配置 APT 包管理器

  1. apt 创建专门的代理配置文件:

    sudo nano /etc/apt/apt.conf.d/99proxy
  2. 将以下内容粘贴进去。请注意:您需要将 172.x.x.x 手动替换为第二步中获取到的具体 IP 地址。

    Acquire::http::Proxy "http://v2rayn填写的用户名:v2rayn填写的密码@172.x.x.x:10810/";
    Acquire::https::Proxy "http://v2rayn填写的用户名:v2rayn填写的密码@172.x.x.x:10810/";
  3. 保存并退出。

第五步:生效与验证

  1. 让终端配置立即生效:

    source ~/.bashrc
  2. curl 命令测试网络连接:

    curl -I https://www.google.com

    看到 HTTP/2 200 或类似成功响应,即代表 WSL 部分已完美配置。


附:手机连接 Windows V2RayN 代理教程

本教程将指导您如何将手机(安卓或iPhone)通过 Wi-Fi 连接到您电脑上正在运行的 V2RayN 代理。

核心原理:手机和电脑必须在同一个局域网(连接同一个Wi-Fi)。手机将电脑视为一个代理服务器,通过电脑的局域网IP地址和V2RayN端口进行连接。

第一步:查找您 Windows 电脑的局域网 IP 地址

这个 IP 不是 WSL 里的那个 172.x.x.x,而是您家或办公室路由器分配给电脑的 IP,通常是 192.168.x.x 的格式。

  1. 在 Windows 上,按下 Win + R 键,输入 cmd 并回车,打开命令提示符。

  2. 输入以下命令:

    ipconfig
  3. 在输出信息中找到 “无线局域网适配器 WLAN” 或 “Wireless LAN adapter Wi-Fi” 部分。记下其 “IPv4 地址”,例如 192.168.1.105

第二步:在手机上配置代理

对于 iPhone (iOS)

iOS 系统原生支持带认证的 HTTP 代理,配置非常简单。

  1. 确保您的 iPhone 已连接到和电脑相同的 Wi-Fi
  2. 进入 **设置 -> 无线局域网 (Wi-Fi)**。
  3. 点击您当前连接的 Wi-Fi 名称右边的 “i” 图标。
  4. 滑到页面最底部,找到并点击 “配置代理”
  5. 选择 “手动”
  6. “服务器” 栏,输入您电脑的局域网 IP (例如 192.168.1.105)。
  7. “端口” 栏,输入 V2RayN 的端口 10810
  8. 开启 “鉴定” (Authentication) 开关
  9. “用户名” 中输入 v2rayn填写的用户名
  10. “密码” 中输入 v2rayn填写的密码
  11. 点击右上角的 “存储”

对于安卓 (Android)

安卓系统的原生 Wi-Fi 代理设置不支持用户名和密码认证。您需要借助第三方 App。

  1. **原生方法 (如果您的代理无需认证)**:
    • 进入 设置 -> WLAN,长按您连接的 Wi-Fi,选择“修改网络”。
    • 在高级选项中找到“代理”,设为“手动”。
    • 输入电脑的IP和端口。
    • (此方法对您当前带认证的设置无效,仅供参考)
  2. **推荐方法 (使用第三方App,支持认证)**:
    • 在 Google Play 商店或其它应用市场搜索并安装一个支持 HTTP/SOCKS 认证代理的 App,例如 ProxyDroidV2rayNG (V2rayNG 本身就可以作为客户端,功能更强大)。
    • 以 V2rayNG 为例 (更推荐,因为它本身就是 V2Ray 客户端):
      1. 打开 V2rayNG,点击右上角的 “+” 号,选择 “手动输入[Socks]”或“[Http]”
      2. 别名:随便填,例如 公司电脑
      3. **地址(服务器)**:输入您电脑的局域网 IP (例如 192.168.1.105)。
      4. 端口:输入 10810
      5. 用户名:输入 v2rayn填写的用户名
      6. 密码:输入 v2rayn填写的密码
      7. 其他设置可保持默认,点击右上角的 “√” 保存。
      8. 回到主界面,点击您刚创建的配置将其选中,然后点击屏幕底部的 V 形图标启动连接。

第三步:验证手机连接

在手机上配置好代理后,打开手机浏览器,访问 ipinfo.iowhatismyip.com 这类网站。如果显示的 IP 地址是您 V2RayN 代理服务器的公网 IP,而不是您家宽带的 IP,那么恭喜您,手机也已成功通过电脑代理上网!


文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
评论
  目录