如何使用 3 個 NIC 設定自訂路由

如何使用 3 個 NIC 設定自訂路由

這是我的網路拓撲:

在此輸入影像描述

我希望每個資料代理傳入請求都eth0透過 進行回复eth0,並且eth1也會回復進入的資料eth1...

活躍路線:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.110.1   0.0.0.0         UG    15     0        0 eth2
192.168.110.96  *               255.255.255.248 U     0      0        0 eth2
192.168.200.0   *               255.255.255.248 U     0      0        0 eth0
192.168.200.96  *               255.255.255.248 U     0      0        0 eth1

我嘗試使用這些命令,但它不起作用...:(

ip route flush table 2002
ip route flush table 2001

ip route add 10.10.8.0/22     dev eth0 src 192.168.200.2   table 2002
ip route add 192.168.100.0/24 dev eth0 src 192.168.200.2   table 2002
ip route add default via 192.168.200.1 table 2002

ip route add 10.10.8.0/22     dev eth1 src 192.168.200.101 table 2001
ip route add 192.168.100.0/24 dev eth1 src 192.168.200.101 table 2001
ip route add default via 192.168.200.100 table 2001

ip rule add from 192.168.200.2   table 2002
ip rule add from 192.168.200.101 table 2001

我應該如何進行?

答案1

現在我知道為什麼我不明白......路由是在網路層級完成的,而不是在連接埠層級完成的。您需要將網路細分為 3 個獨立的網絡,並將每個網路綁定到每個網卡,然後讓路由器將封包路由到正確的乙太網路連接埠。

由於每個網路卡都有自己的網路位址,因此任何帶有特定位址的封包也將在該網路上傳回。

例如:

  • eth0: 192.168.100.0/24 區域網路
  • eth1:192.168.101.0/24 接入點
  • Eth3:預設閘道/24:ADSL調變解調器

然後,所有非 192.168.0.0/16 的流量都會傳至 Internet,而所有本地流量將保留在本地。

要進行連接埠轉發,您有兩種選擇:

  1. 如果您添加額外的硬體就像一個大IP在路由器和伺服器之間,它將能夠檢查封包,並根據連接埠透過動態更改 IP 位址將內容傳送到 Eth0 和 Eth1,然後伺服器將再次在正確的介面上發送它,然後BigIP 會將其轉換回原來的樣子......

  2. 您也可以完全放棄路由器並將伺服器用作路由器完成同樣的事情,然後你只需用來iptables檢查資料包並路由它們。

但是您想要做的事情是不可能的(僅在伺服器中使用硬體路由器和軟體路由),因為沒有“HTTP/FTP”的概念,因為這是在連接埠層級... :-(

相關內容