Routing

綁定 VLAN 上的路由

  • December 3, 2014

我有一個 linux d/b 伺服器(OEL 6.4,但我相信實際上是 Redhat 6),綁定 nics 連接到瞻博網路交換機。

我已將綁定拆分為 IP 地址範圍為 192.168.XY/22 的多個 vlan (bond0.11, … bond0.18),以便 d/b 伺服器實例可以分別偵聽這些地址,從而確保 d /b 訪問由適當的 VLAN 成員身份完成,如果沒有瞻博網路防火牆上的明確規則,不同 VLAN 上的項目無法連接到彼此的數據庫。

當我啟動網路時,我有兩個問題:

  1. 每個債券網路上的 g/w 設置為 0.0.0.0
  2. 我必須為每個網路手動添加到正確 g/w 的路由

因此,例如,預設情況下我有以下路由:

Destination  GateWay  Genmask        ... Iface
192.168.4.0  0.0.0.0  255.255.252.0      bond0.11
192.168.8.0  0.0.0.0  255.255.252.0      bond0.12
... etc

而且我必須手動將路由添加到每個網路的網關

route add -net 192.168.4.0 netmask 255.255.252.0 gw 192.168.4.1
route add -net 192.168.8.0 netmask 255.255.252.0 gw 192.168.8.1

我想做的是在網路啟動時自動設置 X.1 網關地址,但我無法找到合適的魔法來啟用它。

我嘗試使用以下方法為 route-bond0.11 添加文件:

192.168.4.0/22 via 192.168.4.1

但是當我啟動網路時,我得到一個錯誤

Bringing up interface bond0:                           [ OK ]
Bringing up interface bond0.11: RTNETWORK answers: File exists

我查過,通常意味著不需要該路線,因為它已經存在。大概這是因為我得到了預設的 0.0.0.0 條目。

我在任何 ifcfg-bond0.XX 文件中都沒有 GATEWAY 條目(嘗試過,“最後一個”贏得了設置全域預設網關,這在這種情況下無論如何都不是我想要的)。

所以我的問題是:

  • 如何在沒有 0.0.0.0 條目的情況下啟動網路?
  • 然後這會使 route-bond.XX 文件正常工作嗎?
  • 還是有另一種方法可以在網路啟動時定義路由?

一旦我的手動路由到位,一切都很好,瞻博網路上的網關都在那裡,流量按預期通過我的 VLAN,我只是無法將初始設置與網路啟動或重啟時發生的情況相同.

編輯在重新啟動一切正常後,令人尷尬的是,它不需要添加路由來讓流量通過交換機工作到 VLAN 的其餘部分。在這種情況下,這似乎是新設置的暫時性問題和我對網關的理解的混合體。

您似乎讀錯了路由表中的資訊。

目的地網關 Genmask ... Iface
192.168.4.0 0.0.0.0 255.255.252.0 債券0.11
192.168.8.0 0.0.0.0 255.255.252.0 鍵0.12

上面的實際意思是網路 192.168.4.0/255.55.252.0 本地連接在bond0.11上,因此無需網關即可到達。

網關條目如下所示:

目的地網關 Genmask ... Iface
172.16.0.0 192.168.4.1 255.255.255.0 鍵0.11

但是,您不需要將流量發送到本地連接的網路。

因此,從我看來,您的介面設置並沒有真正的問題,通常在重新啟動後,您的 vlan x 客戶端應該能夠連接到 vlan x 上的伺服器 IP。

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