
我正在嘗試使用 DigitalOcean 的 VPC 服務為私人伺服器設定網關伺服器(為簡潔起見,我將這兩個伺服器稱為 GW(網關)和 BE(後端))。我跟著本教程幾乎完全正確,但是在BE配置指南的最後一步中從netplan檔案中刪除公共IP後,BE根本無法存取互聯網。無論出於何種原因,BE 似乎都沒有成功使用 GW 作為存取網路的代理。每當我嘗試從 BE ping 某個網站(即 google.com)時,都會出現錯誤:“名稱解析暫時失敗。”兩台伺服器都運行 Ubuntu 18.04。
我知道有些人在使此配置正常工作時遇到困難,因為 UFW 阻止了 GW 伺服器上的路由請求,但即使我在兩台伺服器上停用 UFW,結果對我來說也是相同的。我知道 GW 和 BE 在網路中已連接,因為我可以從 GW 透過其私有 IP 對 BE 執行 ping 操作,反之亦然。任何關於為什麼這不起作用的幫助將不勝感激——我什至不知道如何排除在重新路由過程中發生問題的位置,所以這方面的提示也很有用。
ETA:ip r
在 BE 伺服器上傳回(出於隱私考慮,我省略了特定的 IP):
default via [GW priv ip] dev eth1 proto static
10.xx.0.0/16 dev eth0 proto kernel scope link src 10.xx.0.xx
10.xxx.0.0/16 dev eth1 proto kernel scope link src [BE priv IP]
159.xxx.xxx.0/20 dev eth0 proto kernel scope link src [BE public IP]
169.254.169.254 via [BE gateway IP] dev eth0
ETA2:所以,如果有人好奇,事實證明,呃...問題是我在其中一個命令中輸入 IP 位址時犯了一個拼寫錯誤,並且沒有註意到我多次檢查已創建的規則。這個故事的寓意是不要像我一樣愚蠢。