我在谷歌云虚拟机上设置了一个 Wireguard VPN 服务器,但是当使用 iOS 客户端(运行最新的操作系统和应用程序)连接到它时,当 VPN 开启时(没有浏览、电子邮件、社交媒体等),没有任何东西通过互联网加载,因为如果我没有互联网连接。可能是什么原因造成的,或者我该如何排除故障?注意:我是初学者,如果我使用了不正确的术语,我深表歉意,请随时纠正我。
我完全遵循本指南,除了使用 iOS 作为客户端而不是 Android:https ://dhanangw.medium.com/setup-wireguard-vpn-in-google-cloud-platform-67ddb692b2d8
编辑:丹尼尔 B 是对的,你不需要
canIpForward
。您遵循的指南很好——但它确实有一个错误:它指示您在客户端配置中使用服务器的 WireGuard IP 地址10.0.0.1
作为客户端的 WireGuard IP 地址——而客户端的地址应该是10.0.0.2
。您可以通过在 iOS WireGuard 应用程序中编辑客户端配置来解决此问题。关闭 WireGuard 隧道,并将
Address
接口字段编辑为:重新打开隧道,它应该开始工作。
您可能遇到的特定于 Google Cloud 的问题是您需要通过 VM 的
canIpForward
属性在 VM 配置上打开 IP 转发。您可以在创建 VM 时从 Google Cloud 控制台执行此操作,或者使用gcloud compute instances update-from-file ...
CLI 命令为正在运行的 VM 执行此操作(请参阅更新 VM 属性文档)。此外,在 VM 本身中,确保您还打开了 Linux
net.ipv4.ip_forward
属性(即 runsudo sysctl -w net.ipv4.ip_forward=1
),无论云平台如何,您仍然需要该属性。