1. 前言
平時對系統和主機的維護工作比較多一些, 對網絡設備的配置就相對少了很多。最近為了上一批設備,針對交換機的配置也學習了一番,本文記錄幾個在實操中用到的實例。
2. 概念
在系統運維中,經常會用冗余的方式來保證業務、服務、系統的高可用性,而在網絡中也存在冗余和高可用的方式。對於交換機來說,VRRP 和 堆疊。
2.1 MSTP
這里不准備對 STP 進行展開了說, 為了快速的學習交換機的配置,這部分原理知識后續在補充。
為了解決單點故障的問題, 網絡設備引入了冗余的機制,通過冗余鏈路來實現網絡的冗余,但是冗余又會引發新的環路問題,如圖:
我們都知道交換機是根據 MAC 地址表來轉發數據幀的,如果地址位置未知,則廣播,如果交換機接收到廣播幀也會像所有端口發送,實際上這種來回循環在網絡中已經形成了環路,成為了物理環路,在交換機內部已經形成了廣播風暴,這種風暴的形成最終的結果就是網絡資源的耗盡,交換機的死機,影響正常工作。
要控制這樣的廣播風暴,就需要引入 STP 生成樹協議。邏輯上是斷開環路,防止廣播風暴的產生,當線路故障,阻塞接口就被會激活,恢復通信,起到備份線路的作用。

上面是對 STP 的講述,現在很多交換機都默認采用 MSTP 這種方式。MSTP 主要是將二層設備上端口綁定到不同的鏈路,從而實現不同鏈路的生成樹計算相互獨立,互不影響。特點:mstp可以快速收斂,又提供了數據轉發多個冗余路徑,在數據轉發過程中實現 vlan 數據負載均衡。
在這個圖中,很明顯SW1 - SW2 - SW3 形成了一個環路,這個時候就需要使用到 stp 生成樹協議。
當 host-1 的網關為: SW1 而達到 SW1 有兩條鏈路:
Host1 --> SW3 --> SW1 Host1 --> SW3 --> SW2 --> SW1
同理, host-2 到達 SW2 也是有兩條鏈路的,通過日常生活也能夠知道,目的地越近越好,能否按照下圖這樣的方式來走呢?

這樣,即選擇了最優的鏈路,數據也能負載均衡到不同的鏈路上。要實現這種方式,就需要MSTP 的支持。
2.1.1 交換機MSTP簡單配置實踐
基於以上的知識,就可以對交換機做一些簡單的配置,這里記錄幾種使用到拓撲及配置。
模擬軟件:H3C Cloud Lab
H3C 網絡設備的配置。
網絡拓撲:

要求:
(1)host-1 能夠和 host-2 互通
(2)通過 mstp 為 host-1 、host-2 設定最優鏈路
這里首先配置 SW3 遵循 交換機連接交換機用 trunk ,交換機連接主機用 access
SW3: [SW3]vlan 10 [SW3-vlan10]port g1/0/11 [SW3-vlan10]vlan 20 [SW3-vlan20]port g1/0/12 [SW3-GigabitEthernet1/0/11]port link-type access [SW3-GigabitEthernet1/0/12]port link-type access [SW3-GigabitEthernet1/0/46]port link-type trunk [SW3-GigabitEthernet1/0/46]port trunk permit vlan 10 20 [SW3-GigabitEthernet1/0/47]port link-type trunk [SW3-GigabitEthernet1/0/47]port trunk permit vlan 10 20 SW1: [SW1]vlan 10 [SW1-vlan10]vlan 20 [SW1-vlan10]int vlan 10 [SW1-Vlan-interface10]ip add 10.0.10.254 24 [SW1]int g1/0/47 [SW1-GigabitEthernet1/0/47]port link-type trunk [SW1-GigabitEthernet1/0/47]port trunk permit vlan 10 20 [SW1-GigabitEthernet1/0/47]int g1/0/48 [SW1-GigabitEthernet1/0/48]port link-type trunk [SW1-GigabitEthernet1/0/48]port trunk permit vlan all SW2: [SW2]vlan 10 [SW2-vlan10]vlan 20 [SW2-vlan10]int vlan 20 [SW2-Vlan-interface20]ip add 10.0.20.254 24 [SW2]int g1/0/47 [SW2-GigabitEthernet1/0/47]port link-type trunk [SW2-GigabitEthernet1/0/47]port trunk permit vlan 10 20 [SW2]int g1/0/48 [SW2-GigabitEthernet1/0/48]port link-type trunk [SW2-GigabitEthernet1/0/48]port trunk permit vlan all 在SW1 和 SW2 上添加vlan 並啟用路由規則使其可以互通。 [SW1]vlan 100 [SW1-vlan100]int vlan 100 [SW1-Vlan-interface100]ip add 10.0.100.1 24 [SW2]vlan 100 [SW2-vlan100]int vlan 100 [SW2-Vlan-interface100]ip add 10.0.100.2 24 添加路由: [SW1]ip route-static 10.0.20.0 24 10.0.100.2 [SW2]ip route-static 10.0.10.0 24 10.0.100.1
做完上面的配置后,為host-1 和 host-2 分別添加IP及網關:

到此, 兩台主機網絡互通了。 接下來分別為 host-1 和 host-2 定制最優鏈路,配置如下:
在三台交換機分別執行如下配置:
[SW3]stp region-configuration [SW3-mst-region]region-name MSTP_TEST [SW3-mst-region]revision-level 1 [SW3-mst-region]instance 10 vlan 10 [SW3-mst-region]instance 20 vlan 20 [SW3-mst-region]active region-configuration [SW2]stp region-configuration [SW2-mst-region]region-name MSTP_TEST [SW2-mst-region]revision-level 1 [SW2-mst-region]instance 10 vlan 10 [SW2-mst-region]instance 20 vlan 20 [SW2-mst-region]active region-configuration [SW1]stp region-configuration [SW1-mst-region]region-name MSTP_TEST [SW1-mst-region]revision-level 1 [SW1-mst-region]instance 10 vlan 10 [SW1-mst-region]instance 20 vlan 20 [SW1-mst-region]active region-configuration SW1 作為vlan10的主,作為vlan20的備 [SW1]stp instance 10 root primary [SW1]stp instance 20 root secondary SW2 作為vlan20的主,作為vlan10的備 [SW2]stp instance 10 root secondary [SW2]stp instance 20 root primary
接下來通過查看 SW3 來驗證是否配置正確:

MST 為10 的生成樹 阻塞 g1/0/46 結合拓撲圖查看:

這樣 vlan10 選擇了最優的鏈路,同理 vlan20一樣。

3.1 VRRP和堆疊
VRRP(虛擬路由冗余協議):是否還記得當初使用的 keepalived 就是基於VRRP協議來實現心跳檢測的。通過把幾台路由(三層交換機)聯合組成一個虛擬的路由(三層交換機)設備,將虛擬路由設備的IP地址作為用戶的默認網關實現與外部網絡通信。如圖:

堆疊(或稱為集群):是將2台交換機通過專用的集群電纜連接起來,對外呈現為一台邏輯交換機,通過交換機集群,可以實現網絡高可靠性和網絡大量數據轉發,同時簡化網絡管理,具有如下特性:
- 高可靠性:集群系統兩台成員交換機之間冗余備份,同時利用鏈路聚合功能實現跨設備的鏈路冗余備份。
- 強大的網絡擴展能力:通過組建集群增加交換機,從而輕松的擴展端口數、帶寬和處理能力。
- 簡化配置和管理:建立集群后,兩台物理設備虛擬成為一台設備,用戶只需登錄一台成員交換機即可對集群系統所有成員交換機進行統一配置和管理。
如果使用堆疊的方式一定會用到鏈路聚合,如圖:

VRRP 和 堆疊經常會用到組網中,這兩種高可用方式如何選擇呢?
(1)在進行組網時,優先會選擇堆疊的方式,易於管理和維護,堆疊不存在環路問題;
(2)由於堆疊需要硬件和光模塊的支持,因此在一些老的環境中VRRP是經常使用到的。
這里引用知乎一篇文章中的總結:

從實際工作經驗來看,使用堆疊的優勢較大,但是一定要在接入層就做好堆疊規划,這樣才能充分發揮它的優勢。此外,對於一些經常有業務增減變化的小型網絡,建議直接通過路由方式對接,目前大部分交換機都可以工作在網絡層,路由方式可以避免二層中常出現的很多問題,降低故障發生的可能性。
3.1.1 VRRP 實踐
模擬軟件:H3C Cloud Lab
VRRP使用兩根雙絞線這樣可以做到冗余備份
將 SW1 47/48 SW2 47/48 分別做聚合 [SW1]int Bridge-Aggregation 1 [SW1-GigabitEthernet1/0/47]port link-aggregation group 1 [SW1-GigabitEthernet1/0/47]int g1/0/48 [SW1-GigabitEthernet1/0/48]port link-aggregation group 1 [SW1]int Bridge-Aggregation 1 [SW1-Bridge-Aggregation1]port link-type trunk [SW1-Bridge-Aggregation1]port trunk permit vlan all [SW2]int Bridge-Aggregation 1 [SW2-GigabitEthernet1/0/47]port link-aggregation group 1 [SW2-GigabitEthernet1/0/47]int g1/0/48 [SW2-GigabitEthernet1/0/48]port link-aggregation group 1 [SW2-GigabitEthernet1/0/48]qu [SW2]int Bridge-Aggregation 1 [SW2-Bridge-Aggregation1]port link-type trunk [SW2-Bridge-Aggregation1]port trunk permit vlan all #查看綁定狀態: [SW2]dis int Bridge-Aggregation bri Brief information on interfaces in bridge mode: Link: ADM - administratively down; Stby - standby Speed: (a) - auto Duplex: (a)/A - auto; H - half; F - full Type: A - access; T - trunk; H - hybrid Interface Link Speed Duplex Type PVID Description BAGG1 UP 2G(a) F(a) T 1 鏈路聚合完成,接下來開始配置vlan SW3 [SW3]vlan 10 [SW3-vlan10]port g1/0/11 [SW3-vlan10]vlan 20 [SW3-vlan20]port g1/0/12 [SW3]int range g1/0/45 to g1/0/46 [SW3-if-range]port link-type trunk [SW3-if-range]port trunk permit vlan 10 20 SW1 [SW1]vlan 10 [SW1-vlan10]vlan 20 [SW1-GigabitEthernet1/0/45]port link-type trunk [SW1-GigabitEthernet1/0/45]port trunk permit vlan 10 20 [SW1-GigabitEthernet1/0/45]int vlan 10 [SW1-Vlan-interface10]ip add 10.0.10.252 24 [SW1-Vlan-interface10]int v20 [SW1-Vlan-interface20]ip add 10.0.20.252 24 [SW1]dis ip int bri *down: administratively down (s): spoofing (l): loopback Interface Physical Protocol IP Address Description MGE0/0/0 down down -- -- Vlan10 up up 10.0.10.252 -- Vlan20 up up 10.0.20.252 -- SW2 [SW2]vlan 10 [SW2-vlan10]vlan 20 [SW2-GigabitEthernet1/0/46]port link-type trunk [SW2-GigabitEthernet1/0/46]port trunk permit vlan 10 20 [SW2-GigabitEthernet1/0/46]int v10 [SW2-Vlan-interface10]ip add 10.0.10.253 24 [SW2-Vlan-interface20]ip add 10.0.20.253 24 [SW2]dis ip int bri *down: administratively down (s): spoofing (l): loopback Interface Physical Protocol IP Address Description MGE0/0/0 down down -- -- Vlan10 up up 10.0.10.253 -- Vlan20 up up 10.0.20.253 -- 開始配置 VRRP SW1: #進入到vlan10接口 [SW1]int v10 # 配置vrrp虛擬地址 [SW1-Vlan-interface10]vrrp vrid 10 virtual-ip 10.0.10.254 # 配置vrrp權重,默認為100 如果要設置master則大於100即 [SW1-Vlan-interface10]vrrp vrid 10 priority 105 # 配置心跳線為聚合鏈路 [SW1]track 10 int Bridge-Aggregation 1 SW2: [SW2]int v10 [SW2-Vlan-interface10]vrrp vrid 10 virtual-ip 10.0.10.254 [SW2-Vlan-interface10]qu [SW2]track 10 int Bridge-Aggregation 1 通過上面規則,我們設置的master 為 SW1 ,查看: [SW1]dis vrrp IPv4 virtual router information: Running mode : Standard Total number of virtual routers : 1 Interface VRID State Running Adver Auth Virtual pri timer(cs) type IP --------------------------------------------------------------------- Vlan10 10 Master 105 100 None 10.0.10.254 [SW2]dis vrrp IPv4 virtual router information: Running mode : Standard Total number of virtual routers : 1 Interface VRID State Running Adver Auth Virtual pri timer(cs) type IP --------------------------------------------------------------------- Vlan10 10 Backup 100 100 None 10.0.10.254 符合我們預期,接下來配置vlan20 SW1: [SW1-Vlan-interface20]vrrp vrid 20 virtual-ip 10.0.20.254 [SW1]track 20 int Bridge-Aggregation 1 SW2: [SW2]int v20 [SW2-Vlan-interface20]vrrp vrid 20 virtual-ip 10.0.20.254 [SW2-Vlan-interface20]vrrp vrid 20 priority 105 [SW2-Vlan-interface20]qu [SW2]track 20 int Bridge-Aggregation 1 vlan10 和 vlan20 都配置完成,查看是否符合預期: [SW1]dis vrrp IPv4 virtual router information: Running mode : Standard Total number of virtual routers : 2 Interface VRID State Running Adver Auth Virtual pri timer(cs) type IP --------------------------------------------------------------------- Vlan10 10 Master 105 100 None 10.0.10.254 Vlan20 20 Backup 100 100 None 10.0.20.254 [SW2-track-20]dis vrrp IPv4 virtual router information: Running mode : Standard Total number of virtual routers : 2 Interface VRID State Running Adver Auth Virtual pri timer(cs) type IP --------------------------------------------------------------------- Vlan10 10 Backup 100 100 None 10.0.10.254 Vlan20 20 Master 105 100 None 10.0.20.254
然后可以將上面STMP中鏈路均衡的規則也加上。
3.1.2 堆疊實踐
模擬軟件:H3C Cloud Lab
交換機做堆疊是有前提的,必須硬件支持,購買交換機時一定要有光模塊和光釺線。因為做堆疊是需要萬兆及以上接口的支持。

SW1: [SW1]int range xge1/0/49 xge1/0/50 [SW1-if-range]shut [SW1-if-range]qu [SW1]irf member 1 renumber 1 [SW1]irf-port 1/1 [SW1-irf-port1/1]port group int xge1/0/49 [SW1-irf-port1/1]port group int xge1/0/50 [SW1-irf-port1/1]int range xge1/0/49 xge1/0/50 [SW1-if-range]undo shutdown [SW1-if-range]save SW2: [SW2]int range xge1/0/49 xge1/0/50 [SW2-if-range]shutdown [SW2-if-range]qu [SW2]irf member 1 renumber 2 [SW2-irf-port1/2]port group int xge1/0/49 [SW2-irf-port1/2]port group int xge1/0/50 [SW2-irf-port1/2]int range xge1/0/49 xge1/0/50 [SW2-if-range]undo shutdown [SW2-if-range]save 在兩台設備上激活配置並重啟 [SW1]irf-port-configuration active [SW1]qu <SW1>reboot [SW2]irf-port-configuration active [SW2]qu <SW2>reboot 查看irf 狀態: [SW1]dis irf MemberID Role Priority CPU-Mac Description *+1 Master 1 3424-2b22-0104 --- 2 Standby 1 3424-2c9a-0204 --- -------------------------------------------------- * indicates the device is the master. + indicates the device through which the user logs in. The bridge MAC of the IRF is: 3424-2b22-0100 Auto upgrade : yes Mac persistent : 6 min Domain ID : 0
在完成后的堆疊設備上添加MAD 檢測,首先需要用雙絞線連通端口,如圖:

配置如下:
[SW1]vlan 99 [SW1-vlan99]port g1/0/48 g2/0/48 [SW1-vlan99]qu [SW1]int vlan 99 [SW1-Vlan-interface99]mad bfd enable [SW1-Vlan-interface99]mad ip add 192.168.0.1 24 member 1 [SW1-Vlan-interface99]mad ip add 192.168.0.2 24 member 2 [SW1-Vlan-interface99]int range g1/0/48 g2/0/48 [SW1-if-range]undo stp enable [SW1]dis mad verbose Multi-active recovery state: No Excluded ports (user-configured): Excluded ports (system-configured): Ten-GigabitEthernet1/0/49 Ten-GigabitEthernet1/0/50 Ten-GigabitEthernet2/0/49 Ten-GigabitEthernet2/0/50 MAD ARP disabled. MAD ND disabled. MAD LACP disabled. MAD BFD enabled interface: Vlan-interface99 MAD status : Faulty Member ID MAD IP address Neighbor MAD status 1 192.168.0.1/24 2 Faulty 2 192.168.0.2/24 1 Faulty
配置完成。
