我在Google Cloud VM 上設定了Wireguard VPN 伺服器,但當使用iOS 用戶端(運行最新的作業系統和應用程式)連接到它時,當VPN 開啟時,不會透過網路載入任何內容(無法瀏覽、電子郵件、社群媒體等),如下所示如果我沒有網路連線。可能是什麼原因造成的,或者我該如何排除故障?註:我是一個初學者,如果我使用了不正確的術語,請原諒我,請隨時糾正我。
我完全遵循了這個指南,除了使用 iOS 而不是 Android 作為客戶端:https://dhanangw.medium.com/setup-wireguard-vpn-in-google-cloud-platform-67ddb692b2d8
答案1
canIpForward
編輯:丹尼爾 B 是對的,你的情況不需要。您遵循的指南很好 - 但它確實有一個錯誤:它指示您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
屬性(即 run sudo sysctl -w net.ipv4.ip_forward=1
),無論雲端平台為何,您仍然需要該屬性。