CentOS 多網卡與策略路由?

CentOS 多網卡與策略路由?

我不熟悉 CentOS,我需要幫助來完成此路由。我有一個 CentOS 機器,有 3 個網卡。

eth0      Link encap:Ethernet  
          inet addr:10.50.121.16  Bcast:10.50.121.255  Mask:255.255.255.0


eth1      Link encap:Ethernet  
          inet addr:10.50.128.134  Bcast:10.50.128.255  Mask:255.255.255.0

eth2      Link encap:Ethernet  
          inet addr:10.50.140.97  Bcast:10.50.140.255  Mask:255.255.255.0

eth0 是一個現有接口,它有預設路由,我添加了 eth1 和 eth2。 eth1 和 eth2 網段上都有網關(兩者上的 .1 位址)。我需要在 eth1 和 eth2 NIC 之間有一些網路流量(透過它們各自的網關)來進行一些測試。所以我想我需要為此設定策略路由?

編輯:抱歉要澄清,我並不是說我正在嘗試在兩個新介面之間路由資料包。我需要透過一些基礎設施將一些資料包從 eth1 的 IP 發送到 eth2 的 IP(從而模擬 eth1 的 vlan 和 eth2 的 vlan 之間的對話)。所以我想這樣做 eth1 -> eth1-vlan-router -> ??? -> eth2-vlan-router->eth2 然後能夠使用反向路由回覆。我很遺憾這裡沒有完全清楚。

答案1

修改/etc/sysctl.conf並啟用 ipv4 路由。

net.ipv4.ip_forward = 1

然後運行sysctl -p以應用設定。

若要顯示 的目前值net.ipv4.ip_forward,請使用:

sysctl net.ipv4.ip_forward

答案2

您將無法使用標準網路 API 來執行此操作。

Linux 網路堆疊使用所謂的弱宿主模型,這特別意味著分配給本地介面的任何位址都被視為本地位址。如果您嘗試將封包傳送到本機接口,它將在本地循環,並且永遠不會到達網路。

雖然您可能可以使用原始套接字來破解某些東西,但最好的解決方案很可能是使用第二台主機,也許是作為虛擬機器實現的。

相關內容