Linux

簡單的多宿主 Linux 伺服器問題

  • November 13, 2015

我有一個執行 CentOS 6.4 的 Linux 伺服器,用作 iSCSI 目標。伺服器是多宿主的,有兩個 NIC,都在同一個子網上。iSCSI 多路徑負責負載平衡/故障轉移,所以我只需要讓每個 NIC 獨立執行。如何配置此系統以避免在多宿主設置中始終出現的所有奇怪的路由和 ARP 問題,例如在與源不同的介面上返回流量,或者一個介面接受發送到 IP 的流量其他。綁定解決方案不是一個選項,因為它與 iSCSI 連接存在問題。

重要的東西:

  • eth0:IP 10.1.1.242 / SN 255.255.252.0 / GW 10.1.1.254
  • eth1:IP 10.1.1.243 / SN 255.255.252.0 / GW 10.1.1.254

我意識到我從來沒有跟進過這個問題。在這里這裡使用一些優秀的網際網路資源,我想出了以下配置。希望這可以幫助某人。

假設您有兩個介面eth0eth1,IP 地址分別為 10.1.1.242 和 10.1.1.243。這一切都在預設網關為 10.1.1.254 的 /22 網路上。

  • 首先創建兩個路由表,每個網卡一個:
echo "1 lan1" >> /etc/iproute2/rt_tables`
echo "2 lan2" >> /etc/iproute2/rt_tables`
  • 接下來,將每個介面的路由添加到相應的表中:
ip route add 10.1.0.0/22 dev eth0 src 10.1.1.242 table lan1
ip route add default via 10.1.1.254 dev eth0 table lan1
ip route add 10.1.0.0/22 dev eth1 src 10.1.1.243 table lan2
ip route add default via 10.1.1.254 dev eth1 table lan2
  • 最後,添加規則以確定使用哪個表:
ip rule add from 10.1.1.242/32 table lan1
ip rule add to 10.1.1.242/32 table lan1
ip rule add from 10.1.1.243/32 table lan2
ip rule add to 10.1.1.243/32 table lan2

這應該可以防止流量在內部通過 NIC,從而允許您保留冗餘或將每個 NIC 用於不同的功能。

引用自:https://serverfault.com/questions/524054