云虚拟机上自托管的 Wireguard VPN 没有互联网

云虚拟机上自托管的 Wireguard VPN 没有互联网

我在 Google Cloud VM 上设置了一个 Wireguard VPN 服务器,但当使用 iOS 客户端(运行最新的操作系统和应用程序)连接到它时,如果 VPN 处于开启状态,则无法通过互联网加载任何内容(无法浏览、发送电子邮件、使用社交媒体等),就好像我没有互联网连接一样。这可能是什么原因造成的,或者我该如何排除故障?注意:我是初学者,如果我使用了错误的术语,请随时纠正我。

我完全遵循了本指南,只是使用 iOS 而不是 Android 作为客户端:https://dhanangw.medium.com/setup-wireguard-vpn-in-google-cloud-platform-67ddb692b2d8

答案1

编辑:Daniel B 是对的,你不需要canIpForward。你遵循的指南很好——但它确实有一个错误:它指示你10.0.0.1在客户端配置中使用服务器的 WireGuard IP 地址作为客户端的 WireGuard IP 地址——而客户端的地址应该是10.0.0.2

您可以通过在 iOS WireGuard 应用中编辑客户端的配置来解决这个问题。关闭 WireGuard 隧道,并将Address接口的字段编辑为:

10.0.0.2/24

重新打开隧道,它应该开始工作。


您可能遇到的 Google Cloud 特定问题是,您需要通过以下方式在虚拟机配置上打开 IP 转发canIpForward虚拟机的属性。您可以在创建虚拟机时从 Google Cloud 控制台执行此操作,也可以使用gcloud compute instances update-from-file ...正在运行的虚拟机的 CLI 命令执行此操作(请参阅更新虚拟机属性请参阅文档。

此外,在虚拟机本身内,确保您还打开了 Linuxnet.ipv4.ip_forward属性(即运行sudo sysctl -w net.ipv4.ip_forward=1),无论云平台如何,您仍然需要它。

相关内容