在 Windows 上设置 ChangeMyIP WireGuard:全隧道和拆分隧道路由
Windows 上的 WireGuard 通过单个隧道将每个应用程序路由到 ChangeMyIP 出口。本指南导入配置,验证新的公共 IP、DNS 和 IPv6 路径,并说明何时基于目的地的拆分路由是更好的选择。
概述
ChangeMyIP 在其 HTTP、HTTPS、SOCKS5、Shadowsocks 和 Trojan 端点之外还提供 WireGuard。在 Windows 上,WireGuard 作为后台服务运行,因此一旦隧道激活,每个应用程序都会通过 ChangeMyIP 出口离开,而不是通过您的家庭连接。当您不想为每个程序配置代理时,这是在 Windows 上更改 IP 地址的最简单方法。
您将:
- 根据您的 ChangeMyIP 连接详细信息构建 WireGuard 隧道。
- 确认握手、新的公共 IP 和 DNS 解析。
- 在全隧道路由和基于目的地的拆分路由之间进行选择。
- 诊断导致大多数配置损坏的故障。
您需要什么
- 具有管理员权限的 Windows 10 或 Windows 11。
- 包含 WireGuard 访问权限的 ChangeMyIP 套餐,以及其连接详细信息:端点主机和 UDP 端口、服务器公钥、您的私钥、分配的隧道地址和 DNS 值。
- 来自 WireGuard 下载页面 的 Windows 官方 WireGuard 客户端。
- 用于验证的任何公共 IP 回显服务(下面的示例使用了一个;任何等效服务都可以)。
全隧道还是拆分隧道?
| 模式 | AllowedIPs | Windows 的作用 | 典型用途 |
|---|---|---|---|
| 全隧道 | 0.0.0.0/0, ::/0 |
通过 ChangeMyIP 发送每个 IPv4 和 IPv6 数据包 | 为所有应用更改 IP;从另一个国家/地区查看网站 |
| 按目的地拆分 | 特定范围,例如 203.0.113.0/24 |
仅隧道传输发往这些范围的流量 | 通过代理访问一个服务或子网,而其他所有内容保持本地 |
| 按应用程序 | WireGuard 中不可用 | 按目标 IP 路由,从不按进程 | 将 ChangeMyIP SOCKS5 或 HTTP 端点与 Proxifier 等每应用路由器一起使用 |
WireGuard 根据目标 IP 地址而不是程序来决定隧道传输的内容。如果您需要“只有这个浏览器通过代理”,那么代理配置才是正确的工具,而不是 WireGuard 接口。
基线:记录您当前的 IP 和 DNS
# 隧道前的公共 IP
curl.exe -s https://ifconfig.co/ip
# 当前使用的 DNS 服务器
Get-DnsClientServerAddress -AddressFamily IPv4 |
Where-Object { $_.ServerAddresses } |
Select-Object InterfaceAlias, ServerAddresses
保留这两个输出。您需要一个已知的之前值,以便在隧道启动后进行对比。
步骤
1. 收集 ChangeMyIP WireGuard 值
登录您的 ChangeMyIP 账户并找到 WireGuard 连接详细信息。WireGuard 配置与这些字段一一对应:
Interface > PrivateKey— 分配给您的设备的私钥Interface > Address— 您的设备的隧道地址,通常为/32Interface > DNS— 在隧道内使用的解析器Peer > PublicKey— ChangeMyIP 服务器公钥Peer > Endpoint— 主机名或 IP 地址加上 UDP 端口Peer > AllowedIPs— 对于全隧道,为0.0.0.0/0, ::/0
如果 ChangeMyIP 提供可下载的 .conf 文件,您可以在步骤 3 中直接导入。无论如何,打开它一次以确认 DNS 和 AllowedIPs 行。
2. 为 Windows 安装 WireGuard
- 从官方 WireGuard 网站下载安装程序。
- 以管理员身份运行并完成向导。
- 确认后台服务正在运行:
Get-Service -Name 'WireGuardManager' |
Select-Object Name, Status, StartType
如果您的版本中不存在该服务名称,请打开 services.msc 并查找名称以 WireGuard 开头的服务。
3. 创建隧道
如果您收到了配置文件,请选择 从文件导入隧道 并继续执行步骤 4。否则,将您的值粘贴到新隧道中:
[Interface]
PrivateKey = <client-private-key-from-changemyip>
Address = 10.7.0.2/32
DNS = <dns-server-from-your-changemyip-config>
[Peer]
PublicKey = <changemyip-server-public-key>
Endpoint = <endpoint-host-or-ip>:<udp-port>
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
- 打开 WireGuard 并选择 添加隧道 > 添加空隧道。
- 以出口位置命名,例如
changemyip-de-frankfurt,以便以后切换城市时一目了然。 - 将每个
<placeholder>替换为您自己的值。不要添加引号、逗号或尾随分号。 - 保存隧道。
Address 值是您在加密链接内部的地址,而不是网站将看到的 IP。公共 IP 是 ChangeMyIP 端点的 IP。
4. 激活并确认握手
- 选择隧道并点击 激活。
- 观察状态行:它应在几秒钟内从 等待握手 变为新的握手时间戳。
- 可选:从终端验证。
wg.exe工具随 Windows 客户端一起提供:
& 'C:\Program Files\WireGuard\wg.exe' show
查找 latest handshake 行。非零的 transfer 计数器确认流量双向流动。如果 wg.exe 不在您的安装目录中,请依赖 WireGuard 窗口中显示的状态。
5. 验证新的公共 IP
curl.exe -s https://ifconfig.co/ip
然后确认以下三项:
- 该值与您之前记录的基线不同。
- IP 查询服务报告的国家/地区与您导入的端点匹配。
- 在全新的隐私窗口中,浏览器报告相同的地址。普通窗口可能会重用缓存的地理位置和过时的 DNS 结果。
6. 检查 DNS 和 IPv6
- 比较激活前后的解析器:
Get-DnsClientServerAddress -AddressFamily IPv4 |
Where-Object { $_.ServerAddresses } |
Select-Object InterfaceAlias, ServerAddresses
- 如果您的配置中
DNS行为空,查找仍会转到您的 ISP 解析器。即使隧道已启动,这实际上也是 DNS 泄漏。添加 ChangeMyIP 提供的 DNS 值并重新激活。 - 在浏览器中运行 IPv6 连接测试。如果
AllowedIPs中只有0.0.0.0/0,则隧道会将 IPv6 流量留在隧道外。添加::/0或在活动适配器上禁用 IPv6。 - 运行 WebRTC 泄漏测试。如果它显示了您的 ISP 地址,请在该浏览器中禁用 WebRTC,或使用默认情况下不暴露本地候选地址的浏览器。
7. 可选:按目的地拆分隧道
- 停用隧道。
- 编辑对等端
AllowedIPs行,将其缩减为您想要隧道传输的范围,例如198.51.100.0/24, 203.0.113.10/32。 - 仅当您也希望这些查找通过隧道进行时,才保留
DNS行。否则将其删除,让系统解析器处理所有内容。 - 重新激活,然后重新检查公共 IP。普通浏览会保留您的原始地址,而对所列范围的请求则使用 ChangeMyIP 出口。
8. 切换出口位置
您导入的每个 ChangeMyIP 端点都会成为一个单独的隧道。为每个城市保存一个配置,然后停用当前隧道并激活另一个。公共 IP 随端点变化,这使其成为比较页面在不同国家/地区行为的最快方法。
故障排除
- 状态永远不会离开 等待握手。 UDP 通常被阻止,这在企业、校园和酒店网络中很常见。检查 Windows 防火墙中是否有 WireGuard 规则,向 ChangeMyIP 请求不同的端点或端口,如果 UDP 被完全阻止,请切换到 ChangeMyIP 的基于 TCP 的选项之一,例如其 HTTP、HTTPS 或 SOCKS5 端点。
- 握手成功但页面无法加载。 检查
AllowedIPs是否包含0.0.0.0/0, ::/0,是否存在DNS值,以及 MTU 是否合理。在具有异常封装网络中,将MTU = 1280添加到[Interface]部分并重新激活。 - 公共 IP 未更改。 隧道可能实际上未激活,测试页面可能已缓存,或者机器上的第二个 VPN 或代理客户端覆盖了路由。在新的终端中使用
curl.exe进行测试。 - IP 更改了,但网站仍显示您的本国。 网站使用的是缓存的地理位置、浏览器语言或账户设置,而不是您的地址。在清除缓存的隐私窗口中进行测试。
- 隧道断开时一切停止。 使用全隧道配置时,Windows 除了隧道之外没有其他出路,因此握手失败看起来完全像互联网中断。这是更安全的故障模式;停用隧道以恢复正常连接。
- 频繁出现 CAPTCHA 或封锁。 出口地址是共享的,可能已被标记。导入不同城市的配置,或在任务需要更干净 IP 时使用 ChangeMyIP 住宅端点。
- 吞吐量慢。 尝试另一个离您更近的端点,降低 MTU,并在归咎于提供商之前比较 Wi-Fi 和以太网。
总结
- Windows 上的 WireGuard 在系统范围内路由流量,因此它会同时更改每个应用程序的 IP。
- 将 ChangeMyIP 连接详细信息导入或粘贴到命名隧道中,然后在测试其他任何内容之前确认握手。
- 始终验证公共 IP、DNS 解析器和 IPv6 路径。已连接状态并不能证明没有泄漏。
- WireGuard 按目标 IP 而不是按应用程序进行拆分。当您需要进程级控制时,请将 ChangeMyIP 的 SOCKS5 或 HTTP 端点与每应用路由器一起使用。
- 为每个城市保留一个已保存的隧道,以便您无需重新配置任何内容即可切换出口位置。