Google Compute Engine 上的 OpenVPN - 我缺少什麼路線?

Google Compute Engine 上的 OpenVPN - 我缺少什麼路線?

我已經在其他 VPS 供應商上安裝了 OpenVPN,並想嘗試 Google 的。我喜歡谷歌的性價比,特別是因為我可以透過手機啟動機器,而無需每次都登入。

我已經達到客戶端連線但無法存取網路的程度。

我已經打開了 OpenVPN 連接埠的防火牆。
我已經在虛擬機器上啟用了IP轉送。
客戶端在連接時獲得 IP、網關、DNS——所有正確的東西。

我懷疑我必須建立一個路由器和/或一條路由,以便資料包從 OpenVPN 實例到達世界。我已經很好地閱讀了文檔,但我陷入了困境 - 我還不是網絡專家,仍在不斷學習。透過閱讀,我似乎可以將網路轉變為他們所謂的「遺留」結構,但我希望能夠克服這一挑戰並了解正在發生的事情。我認為這是因為網路被分成許多不同的子網路;相較之下,防火牆後面只有 1 個網路(即傳統網路)。

看看我腦海中的地圖,我的 OpenVPN 正在將資料發送到其子網路的網關,但從那裡我認為資料包被丟棄。我必須需要從子網路閘道到網際網路的路由嗎?或甚至是子網路和網際網路之間的完整路由器?

就像我說的,我以前使用過 OpenVPN 虛擬機,沒問題。因此,我非常有信心問題出在配置 Google Cloud 網路。

感謝您的任何提示。

答案1

這修復了它:

iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

仍然不確定為什麼我必須這樣做,也許 Google 的 Debian 映像比標準 Diebian 實例更加鎖定。

無需對 Google Cloud 網路進行其他變更。

答案2

您需要檢查一些東西。

  1. 檢查 /etc/sysctl.conf 中是否有以下指令

    net.ipv4.ip_forward = 1

  2. 確保防火牆正在轉送 VPN 介面上從用戶端收到的流量

    #OpenVPN interface=tun0 iptables -A FORWARD -i tun0 -j ACCEPT

  3. 確保您正在偽裝傳出流量

#WAN Interface on OpenVPN server is eth1 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

相關內容