Skip to content
Beginner / 1 min read

为什么使用 WireGuard VPN 后你的 IP 地址不会改变(以及如何验证)

了解如何检查当你通过 WireGuard VPN 或 SOCKS5 代理连接时,你的 IP 地址是否真的发生变化,为什么它有时保持不变,以及如何修复拆分隧道、DNS 泄漏和浏览器缓存等常见原因。

Windows macOS WireGuard 隐私/匿名性

概述

如果你曾经问过 我的 IP 地址会随 VPN 改变吗? 或者尝试过 更改我的 IP 地址 却看到相同的公共 IP,那么你并不孤单。WireGuard VPN 或 SOCKS5 代理本应掩盖你的原始 IP,但错误配置可能使其暴露。

本教程将向你展示如何在连接前后准确验证你的 IP,以及如何排查其不发生变化的最常见原因。你可以使用任何 WireGuard 提供商,包括像 NordLayer 这样的企业级选项,它们提供专用网关和固定月费。

先决条件

  • 一个 WireGuard VPN 账户(例如 NordLayer)或一个 SOCKS5 代理。
  • Windows 或 macOS 上已安装 WireGuard 客户端。
  • 能够访问终端(命令提示符、PowerShell 或终端)。
  • 基本熟悉复制和粘贴命令。

如何检查你的 IP 地址

在连接任何 VPN 或代理之前,记录你的基准 IP。连接后你将用它进行比较。

方法 1:在终端中使用 curl

在 Windows(命令提示符或 PowerShell)和 macOS 上,运行:

curl -s https://api.ipify.org

你也可以使用:

curl -s https://ifconfig.me

方法 2:使用网页浏览器

访问类似 whatismyip.com 或 ipinfo.io 的网站,并记下显示的 IP 地址。保持此标签页打开,或写下该 IP。

步骤

  1. 记录你的原始 IP 地址。
    在终端中运行 curl -s https://api.ipify.org。写下结果。这是你的真实 IP。

  2. 连接到你的 WireGuard VPN。

    • 在 Windows 上:打开 WireGuard 客户端,选择你的隧道(例如,一个 NordLayer 网关),然后点击 激活。
    • 在 macOS 上:打开 WireGuard 应用,打开隧道开关,并确认连接。
  3. 连接后验证 IP。
    在新的终端窗口中,再次运行相同命令:

    curl -s https://api.ipify.org
    

    如果 IP 与步骤 1 不同,则你的 VPN 正在更改你的 IP。如果相同,请继续阅读故障排除部分。

  4. 也从你的浏览器进行测试。
    刷新步骤 1 中的 IP 检查网站。浏览器应显示与终端相同的新 IP。如果浏览器显示不同的 IP,则很可能有代理或浏览器扩展程序干扰。

  5. 检查 DNS 泄漏(可选但推荐)。
    DNS 泄漏可能会在你的 IP 发生变化时仍然泄露你的真实位置。访问像 dnsleaktest.com 这样的 DNS 泄漏测试网站并运行标准测试。如果出现你的 ISP 的 DNS 服务器,则说明存在泄漏。

  6. 如果 IP 没有变化,请检查你的 WireGuard 配置是否存在拆分隧道。
    打开你的 WireGuard 配置文件(通常是一个 .conf 文件)。查找 [Peer] 下的 AllowedIPs 行:

    [Peer]
    PublicKey = <server-public-key>
    Endpoint = <server-ip>:51820
    AllowedIPs = 0.0.0.0/0, ::/0
    

    0.0.0.0/0 表示所有 IPv4 流量都通过 VPN。如果你看到更窄的范围(例如 10.0.0.0/8),则只有部分流量被路由,因此你的公共 IP 在正常浏览时可能不会改变。将其改为 0.0.0.0/0, ::/0 以强制启用全隧道模式。

  7. 检查覆盖 VPN 的浏览器代理设置。
    如果你之前在浏览器中配置了 SOCKS5 代理,它可能会通过代理而不是 VPN 发送流量。

    • 在 Chrome 中:转到 设置 > 系统 > 打开你计算机的代理设置。
    • 在 Firefox 中:转到 设置 > 网络设置 > 设置。
      将其设置为 无代理 或 使用系统代理设置,以便 VPN 可以生效。
  8. 清除浏览器缓存并重启浏览器。
    有些网站会缓存你的 IP 或使用 WebRTC,这可能会在 VPN 后面泄露你的真实 IP。清除缓存并重启浏览器,然后再次测试。

  9. 如果你使用 SOCKS5 代理而不是 VPN,请验证它是否处于活动状态。
    通过代理运行 curl 命令:

    curl --proxy socks5://127.0.0.1:1080 -s https://api.ipify.org
    

    将 127.0.0.1:1080 替换为你的代理地址和端口。如果输出是你的真实 IP,则说明代理未被使用。

故障排除

  • VPN 已连接但 IP 未变: 通常由拆分隧道导致(AllowedIPs 未设置为 0.0.0.0/0)。将隧道重新配置为全隧道模式。
  • 浏览器显示真实 IP,而终端显示 VPN IP: 浏览器代理、扩展程序或 WebRTC 泄漏。禁用代理扩展并检查 WebRTC 设置。
  • IPv6 泄漏: 如果你的 ISP 支持 IPv6,你的真实 IPv6 地址可能仍然暴露。要么在网络适配器上禁用 IPv6,要么确保你的 WireGuard 配置在 AllowedIPs 中包含 ::/0。
  • DNS 泄漏: 即使 IP 已更改,DNS 请求也可能发往你的 ISP。使用通过隧道路由 DNS 的 VPN 提供商,或者在 WireGuard 配置中手动将 DNS 服务器设置为公共解析器,如 1.1.1.1。
  • 代理冲突: 如果你同时拥有系统级 VPN 和按应用设置的 SOCKS5 代理,它们可能会冲突。在测试其中一个时禁用另一个。

何时使用 NordLayer WireGuard 与 SOCKS5 代理

NordLayer 提供基于 WireGuard 的 VPN 隧道,具有专用网关和固定月费,面向需要安全网络访问的团队。当你需要为所有应用程序进行系统级 IP 更改,并希望集中管理时,它非常合适。

SOCKS5 代理更适合按应用程序路由(例如,仅你的爬虫或浏览器),并且默认不加密流量。当你需要精细控制时使用代理;当你需要为整个设备更改 IP 时使用 WireGuard VPN。

总结

验证你的 IP 地址确实发生变化,是保持隐私或避免地理封锁的第一步。使用 curl 或网页工具比较连接前后的 IP。如果它没有变化,请检查拆分隧道、浏览器代理设置、DNS 泄漏和 IPv6 泄漏。像 NordLayer 这样的全隧道 WireGuard VPN 可以可靠地为所有应用程序更改你的公共 IP,而 SOCKS5 代理更适合特定于应用程序的使用场景。