綁定 VLAN 上的路由
我有一個 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 上的項目無法連接到彼此的數據庫。
當我啟動網路時,我有兩個問題:
- 每個債券網路上的 g/w 設置為 0.0.0.0
- 我必須為每個網路手動添加到正確 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。