最近,我為 Debian 伺服器新增了第二塊網路卡。另一個 NIC 正在出貨,使 WAN 連線總數達到 3 個。
假設 NIC 名為ens2
、ens3
和ens4
。 「存取」是指與伺服器的任何網路連線(SSH、VNC、ping 等)
當我只有一個介面時,我可以使用IP位址ens2
存取伺服器。ens2
當我新增第二個介面時ens3
,我無法使用 上的 IP 存取伺服器ens2
,但使用 的ens3
IP 可以存取它。
當我停用後ens3
,我可以再次透過ens2
IP位址存取伺服器。
如何從所有 WAN 介面存取伺服器?我試圖弄亂路由表,但我缺乏路由知識,導致機器無法從網路存取。
答案1
無論連接來自哪個接口,路由表都會決定如何發送回應。例如,如果您的 ens2 為 10.1.2.3/24,ens3 為 10.1.9.3/24,且伺服器正在執行。資料包從 172.12.2.2 傳入 10.1.9.3。伺服器回覆且預設閘道設備是 ens2,因此回應從 10.1.2.3 返回 172.12.2.2,但沒有任何效果。
您想要的是封包從同一介面返回。這將為第二個介面設定第二個路由表:
echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <ens2-ip> dev ens2 table isp2
ip route add default via <gateway_IP> dev ens2 table isp2