將所有流量從一個介面路由到具有不同 IP 的預設網關

將所有流量從一個介面路由到具有不同 IP 的預設網關

情況:

eth0 - 可存取網際網路的預設網路 IP:192.168.2.1 預設閘道:192.168.2.254

eth0:1 192.168.2.2 虛擬網路卡,與eth0相同但IP不同。相同的電纜此IP有不同的互聯網訪問

乙太網路1:192.168.0.1

以太坊2:192.168.1.1

來自 eth1 和 eth2 的所有流量均使用 192.168.2.1 路由到 192.168.2.254

我需要將來自 eth2 的所有流量路由到 192.168.2.254,但使用輔助 IP 192.168.2.2

我嘗試了很多不同的配置但沒有成功。

答案1

您想要的稱為來源策略路由。可以找到設定來源策略路由的說明在 Linux 進階路由與流量控制 HOWTO 中

關鍵在於您想要為系統新增一個名為 INET2 之類的新路由表(這些指令必須以 root 身分執行):

echo 200 INET2 >> /etc/iproute2/rt_tables

然後你想新增一個來源規則到主IP路由表(我猜這是一個/24網路):

從 192.168.1.0/24 表 INET2 新增 ip 規則

接下來,您需要為 INET2 表分配預設路由(您沒有提到第二個連接的預設網關,所以我在這裡猜測):

ip 路由透過 192.168.2.253 dev eth0:1 表 INET2 新增預設值

最後,您需要刷新系統上的路由快取:

ip 路由刷新快取

以這種方式建立的規則是短暫的,並且在系統重新啟動時會消失(儘管 INET2 表將持續存在),因此您需要將這些規則放入網路介面的啟動腳本中。具體如何執行此操作取決於您的特定 Linux 發行版,這實際上是另一個問題。

相關內容