Routing

通過另一個網路介面路由 VPN 流量

  • February 13, 2021

我在 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。簡單的源策略路由

這是關於多宿主伺服器上的非對稱路由的好文章

引用自:https://unix.stackexchange.com/questions/632054