我正在連接埠 8080 上執行 Web 應用程式。我在 Ubuntu 20 上使用 OpenVPN。
連接 VPN 後,我無法再存取 webaapp,例如https://伺服器名稱.com:8080
我認為這是因為路由。 Web 伺服器透過 VPN 回應我的瀏覽器,這使我的瀏覽器中止連接,因為回應與發送請求不同。
路由表中有什麼方法或可以解決這個問題嗎?如果請求直接發送到我的 Web 伺服器,它會以某種方式在 VPN 外部回應並透過常規 NIC 返回嗎?
答案1
這是可行的,但實施起來並不容易。
您需要實現的是「基於策略的路由」(基於來源的路由),這通常需要設定第二個路由表,然後使用 iptables 標記封包以傳送到對應的表。
這是使用 netplan 執行此操作的連結 -https://serverspace.io/support/help/multiple-network-interfaces-ubuntu-20-04/這似乎是實現這一點的新方法。
根據“為什麼使用 VPN 和 $$$”,獲得一個為您提供靜態 IP 並確保您的 Web 應用程式綁定到所有介面的 VPN 可能會更容易。當然,這確實意味著所有流量都將來自「您的」VPN IP,並可追溯到該 lP.. 這對您的用例來說可能是問題,也可能不是問題。