組網圖形
MSTP+VRRP組合簡介
- 網路中部署VRRP負載分擔時,多臺裝置同時承擔業務,每個虛擬裝置都包括一個Master裝置和若干個Backup裝置。如果為了接入備份需要同時部署冗餘鏈路,則需要部署MSTP消除網路中的環路,保證流量的負載分擔。
組網需求
- 如圖1所示,主機通過SwitchC接入網路,SwitchC通過雙上行連線SwitchA和SwitchB來接入Internet。由於接入備份的需要,使用者部署了冗餘鏈路。冗餘備份鏈路的存在導致出現環網,可能會引起廣播風暴和MAC地址表項被破壞。
- 使用者希望在存在冗餘備份鏈路的同時消除網路中的環路,在一條上行鏈路斷開的時候,流量能切換到另外一條上行鏈路轉發,還能合理利用網路頻寬。
- 此時可以在網路中部署MSTP解決環路問題。MSTP可阻塞二層網路中的冗餘鏈路,將網路修剪成樹狀,達到消除環路的目的。同時在SwitchA和SwitchB上配置VRRP,HostA以SwitchA為預設閘道器接入Internet,SwitchB作為備份閘道器;HostB以SwitchB為預設閘道器接入Internet,SwitchA作為備份閘道器,以實現可靠性及流量的負載分擔。
配置思路
- 1.在處於環形網路中的交換裝置上配置MSTP基本功能,包括:
- a.配置MST域並建立多例項,配置VLAN2對映到MSTI1,VLAN3對映到MSTI2,實現流量的負載分擔。
- b.在MST域內,配置各例項的根橋與備份根橋。
- c.配置各例項中某埠的路徑開銷值,實現將該埠阻塞。
- d.使能MSTP,實現破除環路,包括:
- •裝置全域性使能MSTP。
- •除與終端裝置相連的埠外,其他埠使能MSTP。
- 2.配置保護功能,實現對裝置或鏈路的保護。例如:在各例項的根橋裝置指定埠配置根保護功能。
- 3.配置裝置的二層轉發功能。
- 4.配置各裝置埠IP地址及路由協議,使各裝置間網路層連通。
- 5.在SwitchA和SwitchB上建立VRRP備份組1和VRRP備份組2,在備份組1中,配置SwitchA為Master裝置,SwitchB為Backup裝置;在備份組2中,配置SwitchB為Master裝置,SwitchA為Backup裝置。
操作步驟
配置MSTP基本功能
a.配置SwitchA、SwitchB、SwitchC到域名為RG1的域內,建立例項MSTI1和例項MSTI2
# 配置SwitchA的MST域。
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] stp region-configuration //進入MST域檢視。 [SwitchA-mst-region] region-name RG1 //配置域名為RG1。 [SwitchA-mst-region] instance 1 vlan 2 //將VLAN 2對映到例項1上。 [SwitchA-mst-region] instance 2 vlan 3 //將VLAN 3對映到例項2上。 [SwitchA-mst-region] active region-configuration //啟用MST域的配置。 [SwitchA-mst-region] quit
# 配置SwitchB的MST域。
<HUAWEI> system-view [HUAWEI] sysname SwitchB [SwitchB] stp region-configuration //進入MST域檢視。 [SwitchB-mst-region] region-name RG1 //配置域名為RG1。 [SwitchB-mst-region] instance 1 vlan 2 //將VLAN 2對映到例項1上。 [SwitchB-mst-region] instance 2 vlan 3 //將VLAN 3對映到例項2上。 [SwitchB-mst-region] active region-configuration //啟用MST域的配置。 [SwitchB-mst-region] quit
# 配置SwitchC的MST域。
<HUAWEI> system-view [HUAWEI] sysname SwitchC [SwitchC] stp region-configuration //進入MST域檢視。 [SwitchC-mst-region] region-name RG1 //配置域名為RG1。 [SwitchC-mst-region] instance 1 vlan 2 //將VLAN 2對映到例項1上。 [SwitchC-mst-region] instance 2 vlan 3 //將VLAN 3對映到例項2上。 [SwitchC-mst-region] active region-configuration //啟用MST域的配置。 [SwitchC-mst-region] quit
b.在域RG1內,配置MSTI1與MSTI2的根橋與備份根橋
配置MSTI1的根橋與備份根橋
# 配置SwitchA為MSTI1的根橋。
[SwitchA] stp instance 1 root primary
# 配置SwitchB為MSTI1的備份根橋。
[SwitchB] stp instance 1 root secondary
配置MSTI2的根橋與備份根橋
# 配置SwitchB為MSTI2的根橋。
[SwitchB] stp instance 2 root primary
# 配置SwitchA為MSTI2的備份根橋。
[SwitchA] stp instance 2 root secondary
c.配置例項MSTI1和MSTI2中將要被阻塞埠的路徑開銷值大於預設值
# 配置SwitchA的埠路徑開銷。
[SwitchA] stp pathcost-standard legacy
# 配置SwitchB的埠路徑開銷。
[SwitchB] stp pathcost-standard legacy
# 配置SwitchC的埠路徑開銷計算方法為華為計算方法,將埠GE1/0/1在例項MSTI2中的路徑開銷值配置為20000,將埠GE1/0/4在例項MSTI1中的路徑開銷值配置為20000。
[SwitchC] stp pathcost-standard legacy [SwitchC] interface gigabitethernet 1/0/1 [SwitchC-GigabitEthernet1/0/1] stp instance 2 cost 20000 [SwitchC-GigabitEthernet1/0/1] quit [SwitchC] interface gigabitethernet 1/0/4 [SwitchC-GigabitEthernet1/0/4] stp instance 1 cost 20000 [SwitchC-GigabitEthernet1/0/4] quit
d.使能MSTP,實現破除環路
裝置全域性使能MSTP
# 在SwitchA/B/C上啟動MSTP。
[SwitchA] stp enable [SwitchB] stp enable [SwitchC] stp enable
將與Host相連的埠配置為邊緣埠並配置BPDU過濾
[SwitchC] interface gigabitethernet 1/0/2 [SwitchC-GigabitEthernet1/0/2] stp disable [SwitchC-GigabitEthernet1/0/2] stp edged-port enable [SwitchC-GigabitEthernet1/0/2] stp bpdu-filter enable [SwitchC-GigabitEthernet1/0/2] quit [SwitchC] interface gigabitethernet 1/0/3 [SwitchC-GigabitEthernet1/0/3] stp edged-port enable [SwitchC-GigabitEthernet1/0/3] stp bpdu-filter enable [SwitchC-GigabitEthernet1/0/3] quit
將與Router相連的埠配置為邊緣埠並配置BPDU過濾
# 配置SwitchA埠。
[SwitchA] interface gigabitethernet 1/0/3 [SwitchA-GigabitEthernet1/0/3] stp edged-port enable [SwitchA-GigabitEthernet1/0/3] stp bpdu-filter enable [SwitchA-GigabitEthernet1/0/3] quit
# 配置SwitchB埠。
[SwitchB] interface gigabitethernet 1/0/3 [SwitchB-GigabitEthernet1/0/3] stp edged-port enable [SwitchB-GigabitEthernet1/0/3] stp bpdu-filter enable [SwitchB-GigabitEthernet1/0/3] quit
- 配置保護功能,如在各例項的根橋裝置的指定埠配置根保護功能
# 在SwitchA埠GE1/0/1上啟動根保護。
[SwitchA] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] stp root-protection [SwitchA-GigabitEthernet1/0/1] quit
# 在SwitchB埠GE1/0/1上啟動根保護。
[SwitchB] interface gigabitethernet 1/0/1 [SwitchB-GigabitEthernet1/0/1] stp root-protection [SwitchB-GigabitEthernet1/0/1] quit
- 配置處於環網中的裝置的二層轉發功能
在交換裝置SwitchA、SwitchB、SwitchC上建立VLAN2~3
# 在SwitchA/B/C上建立VLAN2~3。
[SwitchA] vlan batch 2 to 3 [SwitchB] vlan batch 2 to 3 [SwitchC] vlan batch 2 to 3
將交換裝置上接入環路中的埠加入VLAN
# 將SwitchA埠GE1/0/1加入VLAN。
[SwitchA] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] port link-type trunk [SwitchA-GigabitEthernet1/0/1] port trunk allow-pass vlan 2 to 3 [SwitchA-GigabitEthernet1/0/1] quit
# 將SwitchA埠GE1/0/2加入VLAN。
[SwitchA] interface gigabitethernet 1/0/2 [SwitchA-GigabitEthernet1/0/2] port link-type trunk [SwitchA-GigabitEthernet1/0/2] port trunk allow-pass vlan 2 to 3 [SwitchA-GigabitEthernet1/0/2] quit
# 將SwitchB埠GE1/0/1加入VLAN。
[SwitchB] interface gigabitethernet 1/0/1 [SwitchB-GigabitEthernet1/0/1] port link-type trunk [SwitchB-GigabitEthernet1/0/1] port trunk allow-pass vlan 2 to 3 [SwitchB-GigabitEthernet1/0/1] quit
# 將SwitchB埠GE1/0/2加入VLAN。
[SwitchB] interface gigabitethernet 1/0/2 [SwitchB-GigabitEthernet1/0/2] port link-type trunk [SwitchB-GigabitEthernet1/0/2] port trunk allow-pass vlan 2 to 3 [SwitchB-GigabitEthernet1/0/2] quit
# 將SwitchC埠GE1/0/1加入VLAN。
[SwitchC] interface gigabitethernet 1/0/1 [SwitchC-GigabitEthernet1/0/1] port link-type trunk [SwitchC-GigabitEthernet1/0/1] port trunk allow-pass vlan 2 to 3 [SwitchC-GigabitEthernet1/0/1] quit
# 將SwitchC埠GE1/0/2加入VLAN。
[SwitchC] interface gigabitethernet 1/0/2 [SwitchC-GigabitEthernet1/0/2] port link-type access [SwitchC-GigabitEthernet1/0/2] port default vlan 2 [SwitchC-GigabitEthernet1/0/2] quit
# 將SwitchC埠GE1/0/3加入VLAN。
[SwitchC] interface gigabitethernet 1/0/3 [SwitchC-GigabitEthernet1/0/3] port link-type access [SwitchC-GigabitEthernet1/0/3] port default vlan 3 [SwitchC-GigabitEthernet1/0/3] quit
# 將SwitchC埠GE1/0/4加入VLAN。
[SwitchC] interface gigabitethernet 1/0/4 [SwitchC-GigabitEthernet1/0/4] port link-type trunk [SwitchC-GigabitEthernet1/0/4] port trunk allow-pass vlan 2 to 3 [SwitchC-GigabitEthernet1/0/4] quit
- 驗證配置結果
# 在SwitchA上執行display stp brief命令,檢視埠狀態和埠的保護型別,結果如下:
[SwitchA] display stp brief MSTID Port Role STP State Protection 0 GigabitEthernet1/0/1 DESI FORWARDING ROOT 0 GigabitEthernet1/0/2 DESI FORWARDING NONE 1 GigabitEthernet1/0/1 DESI FORWARDING ROOT 1 GigabitEthernet1/0/2 DESI FORWARDING NONE 2 GigabitEthernet1/0/1 DESI FORWARDING ROOT 2 GigabitEthernet1/0/2 ROOT FORWARDING NONE
在MSTI1中,由於SwitchA是根橋,SwitchA的埠GE1/0/2和GE1/0/1成為指定埠。在MSTI2中,SwitchA的埠GE1/0/1成為指定埠,埠GE1/0/2成為根埠。
# 在SwitchB上執行display stp brief命令,結果如下:
[SwitchB] display stp brief MSTID Port Role STP State Protection 0 GigabitEthernet1/0/1 DESI FORWARDING ROOT 0 GigabitEthernet1/0/2 ROOT FORWARDING NONE 1 GigabitEthernet1/0/1 DESI FORWARDING ROOT 1 GigabitEthernet1/0/2 ROOT FORWARDING NONE 2 GigabitEthernet1/0/1 DESI FORWARDING ROOT 2 GigabitEthernet1/0/2 DESI FORWARDING NONE
在MSTI2中,由於SwitchB是根橋,埠GE1/0/1和GE1/0/2在MSTI2中成為指定埠。在MSTI1中,SwitchB的埠GE1/0/1成為指定埠,埠GE1/0/2成為根埠。
# 在SwitchC上執行display stp interface brief命令,結果如下:
[SwitchC] display stp interface gigabitethernet 1/0/1 brief MSTID Port Role STP State Protection 0 GigabitEthernet1/0/1 ROOT FORWARDING NONE 1 GigabitEthernet1/0/1 ROOT FORWARDING NONE 2 GigabitEthernet1/0/1 ALTE DISCARDING NONE
[SwitchC] display stp interface gigabitethernet 1/0/4 brief MSTID Port Role STP State Protection 0 GigabitEthernet1/0/4 ALTE DISCARDING NONE 1 GigabitEthernet1/0/4 ALTE DISCARDING NONE 2 GigabitEthernet1/0/4 ROOT FORWARDING NONE
SwitchC的埠GE1/0/1在MSTI1中為根埠,在MSTI2中被阻塞。SwitchC的另一個埠GE1/0/4,在MSTI1中被阻塞,在MSTI2中為根埠。
- 配置裝置間的網路互連
# 配置裝置各埠的IP地址,以SwitchA為例。SwitchB的配置與SwitchA類似,不再贅述。
[SwitchA] vlan batch 4 [SwitchA] interface gigabitethernet 1/0/3 [SwitchA-GigabitEthernet1/0/3] port link-type trunk [SwitchA-GigabitEthernet1/0/3] port trunk allow-pass vlan 4 [SwitchA-GigabitEthernet1/0/3] quit [SwitchA] interface vlanif 2 [SwitchA-Vlanif2] ip address 10.1.2.102 24 [SwitchA-Vlanif2] quit [SwitchA] interface vlanif 3 [SwitchA-Vlanif3] ip address 10.1.3.102 24 [SwitchA-Vlanif3] quit [SwitchA] interface vlanif 4 [SwitchA-Vlanif4] ip address 10.1.4.102 24 [SwitchA-Vlanif4] quit
# 配置SwitchA、SwitchB和路由器間採用OSPF協議進行互連。以SwitchA為例,SwitchB的配置與SwitchA類似,不再贅述。
[SwitchA] ospf 1 [SwitchA-ospf-1] area 0 [SwitchA-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] network 10.1.4.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] quit [SwitchA-ospf-1] quit
- 配置VRRP備份組
# 在SwitchA和SwitchB上建立VRRP備份組1,配置SwitchA的優先順序為120,搶佔延時為20秒,作為Master裝置;SwitchB的優先順序為預設值,作為Backup裝置。
[SwitchA] interface vlanif 2 [SwitchA-Vlanif2] vrrp vrid 1 virtual-ip 10.1.2.100 //建立組號為1的VRRP備份組併為備份組指定虛擬IP地址10.1.2.100。 [SwitchA-Vlanif2] vrrp vrid 1 priority 120 //配置VRRP備份組1的優先順序為120。 [SwitchA-Vlanif2] vrrp vrid 1 preempt-mode timer delay 20 //配置VRRP備份組1搶佔延時為20秒。 [SwitchA-Vlanif2] quit
[SwitchB] interface vlanif 2 [SwitchB-Vlanif2] vrrp vrid 1 virtual-ip 10.1.2.100 //建立組號為1的VRRP備份組併為備份組指定虛擬IP地址10.1.2.100。 [SwitchB-Vlanif2] quit
# 在SwitchA和SwitchB上建立VRRP備份組2,配置SwitchB的優先順序為120,搶佔延時為20秒,作為Master裝置;SwitchA的優先順序為預設值,作為Backup裝置。
[SwitchB] interface vlanif 3 [SwitchB-Vlanif3] vrrp vrid 2 virtual-ip 10.1.3.100 //建立組號為2的VRRP備份組併為備份組指定虛擬IP地址10.1.3.100。 [SwitchB-Vlanif3] vrrp vrid 2 priority 120 //配置VRRP備份組1的優先順序為120。 [SwitchB-Vlanif3] vrrp vrid 2 preempt-mode timer delay 20 //配置VRRP備份組2搶佔延時為20秒。 [SwitchB-Vlanif3] quit
[SwitchA] interface vlanif 3 [SwitchA-Vlanif3] vrrp vrid 2 virtual-ip 10.1.3.100 //建立組號為2的VRRP備份組併為備份組指定虛擬IP地址10.1.3.100。 [SwitchA-Vlanif3] quit
# 配置主機HostA的預設閘道器為備份組1的虛擬IP地址10.1.2.100,配置主機HostB的預設閘道器為備份組2的虛擬IP地址10.1.3.100。
- 驗證配置結果
# 完成上述配置後,在SwitchA上執行display vrrp命令,可以看到SwitchA在備份組1中作為Master裝置,在備份組2中作為Backup裝置。
[SwitchA] display vrrp Vlanif2 | Virtual Router 1 State : Master Virtual IP : 10.1.2.100 Master IP : 10.1.2.102 PriorityRun : 120 PriorityConfig : 120 MasterPriority : 120 Preempt : YES Delay Time : 20 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2018-05-11 11:39:18 Last change time : 2018-05-26 11:38:58 Vlanif3 | Virtual Router 2 State : Backup Virtual IP : 10.1.3.100 Master IP : 10.1.3.103 PriorityRun : 100 PriorityConfig : 100 MasterPriority : 120 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0102 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2018-05-11 11:40:18 Last change time : 2018-05-26 11:48:58
# 在SwitchB上執行display vrrp命令,可以看到SwitchB在備份組1中作為Backup裝置,在備份組2中作為Master裝置。
[SwitchB] display vrrp Vlanif2 | Virtual Router 1 State : Backup Virtual IP : 10.1.2.100 Master IP : 10.1.2.102 PriorityRun : 100 PriorityConfig : 100 MasterPriority : 120 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2018-05-11 11:39:18 Last change time : 2018-05-26 11:38:58 Vlanif3 | Virtual Router 2 State : Master Virtual IP : 10.1.3.100 Master IP : 10.1.3.103 PriorityRun : 120 PriorityConfig : 120 MasterPriority : 120 Preempt : YES Delay Time : 20 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0102 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2018-05-11 11:40:18 Last change time : 2018-05-26 11:48:58