Routing
通過另一個網路介面路由 VPN 流量
我在 Ubuntu 18.04 上設置了 OpenVPN 伺服器。客戶端連接到 VPN,所有流量都通過 VPN 路由。傳出 IP 與客戶端連接的 IP 相同。
現在我在私有子網上添加了另一個網路介面。我希望通過該介面路由客戶端的傳出流量,以便傳出 IP 將是私有子網上 NAT 網關的外部 ip。
我有點不知所措,因為我不知道如何配置路由。如果我只是增加 eth1 的指標以將其置於 eth0 之上,那麼我將無法再連接到 VPN 或 SSH 到伺服器。
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default ip-172-30-0-1.e 0.0.0.0 UG 100 0 0 eth0 default ip-172-30-10-1. 0.0.0.0 UG 200 0 0 eth1 10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 172.30.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 ip-172-30-0-1.e 0.0.0.0 255.255.255.255 UH 100 0 0 eth0 172.30.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 ip-172-30-10-1. 0.0.0.0 255.255.255.255 UH 200 0 0 eth1
綠色箭頭是我想要實現的,紅色是現在發生的。
這似乎是非對稱路由的問題,我以前在多宿主伺服器中遇到過這些問題。您不能再 ssh 到您的伺服器的一個原因是數據包來自介面,但響應通過另一個介面。如果我沒記錯的話,在向 IP A 發送簡單的 ping 時,我收到了來自 IP B 的回复,並且它與安全協議/應用程序不兼容。我使用“策略路由”解決了這個問題
那篇文章幫助我做到了: 4.1。簡單的源策略路由