限制 OpenVPN 連線的特定過程?

限制 OpenVPN 連線的特定過程?

有沒有辦法強制特定進程使用 OpenVPN 連接,但允許系統上的所有其他進程使用 Ubuntu Linux 上的預設網路連接?

我有一個在 AWS 中運行的自訂 Python 應用程序,我正在嘗試將其與外部 PostgreSQL 服務整合。該服務提供了 OpenVPN 配置的 VPN,因此我可以存取他們的 PostgreSQL 伺服器。

據我了解,預設情況下,OpenVPN 強制伺服器上的所有網路流量都使用 VPN,這通常正是您想要的。但是,由於我的應用程式在AWS 中運行,AWS 管理其自身的安全性並優化了網路路由,如果我將伺服器配置為使用此VPN 進行所有操作,那麼我將強制所有流量進入此外部連接,這會減慢速度一切都崩潰了,可能會導致安全存取問題,因為伺服器對我的其他 AWS 資源的存取似乎來自我的帳戶外部。

建立 VPN 網路介面但阻止除特定進程之外的所有進程使用它的最簡單方法是什麼?

答案1

您可以route-nopull在客戶端設定中使用該命令來阻止建立任何路由條目。之後,您可以手動新增指向資料庫伺服器的那個。這樣,任何存取資料庫伺服器的內容都將使用 VPN,而其他所有內容都將使用它們之前使用的任何路由。

例如,假設資料庫伺服器位於 192.168.111.111(VPN 伺服器後面),您需要將其包含在用戶端設定中:

route-nopull
route 192.168.111.111 255.255.255.255

相關內容