情況:
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 發行版,這實際上是另一個問題。