WireGuard 国内直连+国外走隧道 配置踩坑与完美解决(实测可用)
作为一名经常需要访问海外网站(ChatGPT、YouTube、Google翻译等)的用户,一直想实现 WireGuard 的「国内网站直连、国外网站走隧道」功能——既保证国内网页的原生速度,又能稳定访问海外服务,同时避免全局代理带来的不必要流量消耗。过程中踩了一个很典型的路由配置坑,折腾一番后完美解决,整理成这篇博客,给有同样需求的朋友避坑。
一、需求背景
初始配置了 WireGuard 客户端,但遇到了奇怪的问题:
- Google翻译(https://translate.google.com/)能正常打开
- ChatGPT(https://chatgpt.com/)、 YouTube(https://www.youtube.com/)、 V2EX(https://v2ex.com/) 始终打不开,提示无法访问。如图1

- 怀疑是服务器带宽不足,但测试基础带宽完全够用,排除带宽问题
核心需求:保留国内直连、国外走隧道的分流逻辑,解决部分海外网站无法访问的问题,无需增加服务器配置。
二、初始配置(踩坑版本)
最初的 WireGuard 客户端配置如下,问题就出在 AllowedIPs 这一行:可参考:WireGuard VPN 配置优化:国内网站直连,国外流量走VPN(实测有效),之前并未彻底解决问题。如图2

[Interface]
PrivateKey = MNcoOjHNvao4gH1...
Address = 10.66.66.2/32, fd42:42:42::2/128
DNS = 223.5.5.5, 223.6.6.6
[Peer]
PublicKey = XZ2LNJxO7RqjGKHyubFw35eR7AkRa1iHqltQJYdsY3g=
PresharedKey = Fz04FNeapuPYQ+QAH+...
AllowedIPs = 0.0.0.0/1, 128.0.0.0/2, ::/1, 8000::/1
Endpoint = 139.180.154.26:2096
PersistentKeepalive = 25
三、问题排查:AllowedIPs 网段覆盖不全
一开始误以为是带宽不够,后来排查发现,根本原因是 AllowedIPs 的 IPv4 网段配置不完整,导致大量海外 IP 没有被纳入隧道路由,进而无法访问。
- 先搞懂:0.0.0.0/1, 128.0.0.0/2 覆盖范围
- 0.0.0.0/1:覆盖 IPv4 前一半地址,即 0.0.0.0 ~ 127.255.255.255
- 128.0.0.0/2:仅覆盖 IPv4 后一半中的前 1/4,即 128.0.0.0 ~ 191.255.255.255
关键漏洞:这两个网段合起来,漏掉了 192.0.0.0 ~ 255.255.255.255 这一大部分 IP 地址。而 ChatGPT、YouTube 等海外大厂的服务器,很多正好落在 192.x、203.x、204.x 等被遗漏的网段中,所以无法通过隧道访问,自然打不开。
- 补充说明:IPv6 配置是正确的
初始配置中的 IPv6 部分 ::/1, 8000::/1 是完全正确的:
- ::/1:覆盖 IPv6 前一半所有地址
- 8000::/1:覆盖 IPv6 后一半所有地址
两者结合,能完整覆盖所有 IPv6 地址,确保海外 IPv6 流量全部走隧道,这也是为什么没有出现 IPv6 相关的访问问题。
四、完美解决方案:完整分流配置(国内直连+国外走隧道)
解决问题的核心,就是替换 AllowedIPs 中的 IPv4 部分,用完整的海外 IPv4 汇总网段,覆盖所有海外 IP,同时保留国内 IP 直连的逻辑。
最终可用配置(直接复制使用)如图3

[Interface]
PrivateKey = MNcoOjHNvao4gH1...
Address = 10.66.66.2/32, fd42:42:42::2/128
DNS = 223.5.5.5, 223.6.6.6
[Peer]
PublicKey = XZ2LNJxO7RqjGKHyubFw35eR7AkRa1iHqltQJYdsY3g=
PresharedKey = Fz04FNeapuPYQ+QAH+...
# 核心:完整海外IPv4+全覆盖IPv6,实现国内直连、国外走隧道
AllowedIPs = 1.0.0.0/8, 2.0.0.0/7, 4.0.0.0/6, 8.0.0.0/5, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/1, ::/1, 8000::/1
Endpoint = 139.180.154.26:2096
PersistentKeepalive = 25
配置说明(放心用,无多余操作)
- IPv4 部分:1.0.0.0/8 ~ 128.0.0.0/1 这一串网段,完整覆盖了所有海外 IPv4 地址,同时避开国内 IPv4 网段,实现国内直连、国外走隧道。
- IPv6 部分:保留正确的 ::/1, 8000::/1,全覆盖所有 IPv6 地址,确保海外 IPv6 流量正常走隧道。
- 其他参数:无需修改 PrivateKey、Endpoint 等,仅替换 AllowedIPs 即可。
操作步骤(3步搞定) - 打开 WireGuard 客户端,编辑当前配置文件;
- 删除原来的 AllowedIPs 行,复制上面的完整 AllowedIPs 替换;
- 保存配置,断开 WireGuard 连接后重新激活,测试访问即可。
五、测试效果(实测验证)
配置修改后,重新连接 WireGuard,测试结果如下:
- 国内网站:百度、淘宝、B站、微信等,全部直连,速度和未开代理时一致;
- 海外网站:ChatGPT、YouTube、Google翻译、V2EX(注:本以为这是一个国内的网站,没有想到服务器竟然在国外)等,全部正常打开,流畅无卡顿;如图4

- 无需增加服务器带宽,基础 1C1G 服务器即可满足日常使用(刷 YouTube、用 ChatGPT 完全够用)。
六、避坑总结(重点记)
- 不要用 0.0.0.0/1, 128.0.0.0/2 作为 IPv4 分流规则,会漏掉大量海外 IP,导致部分海外网站无法访问;
- IPv6 分流用 ::/1, 8000::/1 即可全覆盖,无需修改;
- 海外网站打不开,优先排查 AllowedIPs 网段覆盖,而非服务器带宽(大部分情况和带宽无关);
- 想要国内直连+国外走隧道,直接用本文提供的完整 AllowedIPs,无需额外配置,一键搞定。
如果修改后仍有个别海外网站无法访问,大概率是该网站 IP 不在汇总网段内,可留言反馈,补充精准路由规则即可。希望这篇博客能帮到同样折腾 WireGuard 分流的朋友,少踩坑、少走弯路!
1 条回复
[…] 官方客户端的完整解决方案,新手也能直接复制使用。注:建议参考:WireGuard 国内直连+国外走隧道 配置踩坑与完美解决(实测可用) […]