一、适用场景
1、MSTP消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路,网络中若存在环路不切割则会导致广播风暴,网络瘫痪。
2、MSTP链路冗余备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。
3、MSTP实现不同实例负载均衡+主备备份:多生成树MSTP可把冗余链路利用起来,不同的生成树跑不同的vlan业务数据。
4、VRRP虚拟路由冗余协议实现设备的主备+vlan的负载均衡:当主设备故障时,备用设备激活成为主设备,主设备恢复后,经过一定时间可再次抢占为主设备,实现网络设备的负载均衡+设备故障冗余。
5、DHCP服务简化手工配置ip:给用户终端分配ip地址,同时将虚拟的ip作为用户终端的网关,当物理链路故障或物理设备故障后,用户终端设备不需要修改任何配置的情况下,仍然保持了业务的连续性,实现了网络可靠性的需求。
6、Eth-trunk链路聚合增加带宽+负载均衡+链路冗余:主干链路上,既能增加捆绑通道的带宽实现负载均衡,当捆绑的其中一条链路故障,还有其它链路正常,又能确保业务不中断。
7、BFD检测三层网络链路状态提高网络可靠性:链路状态,根据链路状态自动调整优先级,使网络流量从故障链路切换到正常的三层链路,确保数据业务包不丢弃,即使三层链路故障用户也无感知,提高网络的可靠性。
二、原理与拓扑图
(一)MSTP为负载均衡而生
MSTP在RSTP基础上发展而来,RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。
MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。每棵生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance),每个域叫做一个MST域(MST Region:Multiple Spanning Tree Region)
(二)MSTP多生成树协议的端口角色
(三)本例的拓扑图
三、配置过程
(一)配置基础网络指令,打通网络
1、配置Eth-trunk链路聚合,将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。
LSW1:#
System-view #进入系统视图
interface Eth-Trunk1 #创建链路聚合接口Eth-trunk 1
description to LSW2-ETH-trunk-1 #描述对端连接到LSW2的链路聚合接口
port link-type trunk #配置链路聚合端口为干道trunk模式
port trunk allow-pass vlan 10 20 30 40 200 #配置链路聚合端口允许通过的vlan
interface GigabitEthernet0/0/5 #配置G0/0/5接口
description to LSW2_eth-trunk1-g0/0/5 #描述G0/0/5接口属于LSW2的链路聚合
eth-trunk 1 #将G0/0/5接口加入到链路聚合组
interface GigabitEthernet0/0/6 #配置G0/0/6接口
description to LSW2_eth-trunk1-g0/0/6 #描述G0/0/6接口属于LSW2的链路聚合
eth-trunk 1 #将G0/0/6接口加入到链路聚合组
LSW2:#
System-view #进入系统视图
interface Eth-Trunk1 #创建链路聚合接口Eth-trunk 1
description to LSW1-ETH-trunk-1 #描述对端连接到LSW2的链路聚合接口
port link-type trunk #配置链路聚合端口为干道trunk模式
port trunk allow-pass vlan 10 20 30 40 200 #配置链路聚合端口允许通过的vlan
interface GigabitEthernet0/0/5 #配置G0/0/5接口
description to LSW1_eth-trunk1-g0/0/5 #描述G0/0/5接口属于LSW2的链路聚合
eth-trunk 1 #将G0/0/5接口加入到链路聚合组
interface GigabitEthernet0/0/6 #配置G0/0/6接口
description to LSW1_eth-trunk1-g0/0/6 #描述G0/0/6接口属于LSW2的链路聚合
eth-trunk 1 #将G0/0/6接口加入到链路聚合组
2、查看配置好的Eth-trunk链路聚合
(1)LSW1上查看Eth-trunk链路聚合:
(2)LSW2上查看Eth-trunk链路聚合
3、打通网络配置:
(1)LSW1:
System-view #进入系统视图
sysname LSW1 #配置交换机的名称为LSW1,以区分其他交换机
dhcp enable #开启交换机的DHCP功能
vlan batch 10 20 30 40 200 #创建vlan 10 20 30 40 200
interface GigabitEthernet0/0/1 #配置G0/0/1接口
description to LSW3_G0/0/1 #描述G0/0/1接口的对端连接到LSW3的G0/0/1
port link-type trunk #配置G0/0/1接口为干道trunk模式
port trunk allow-pass vlan 10 200 #配置G0/0/1接口允许通过的vlan 10 200
interface GigabitEthernet0/0/2 #配置G0/0/2接口
description to LSW4_G0/0/1 #描述G0/0/2接口的对端连接到LSW4的G0/0/1
port link-type trunk #配置G0/0/2接口为干道trunk模式
port trunk allow-pass vlan 20 200 #配置G0/0/2接口允许通过的vlan 20 200
interface GigabitEthernet0/0/3 #配置G0/0/3接口
description to LSW5-G0/0/1 #描述G0/0/3接口的对端连接到LSW5的G0/0/1
port link-type trunk #配置G0/0/3接口为干道trunk模式
port trunk allow-pass vlan 30 200 #配置G0/0/3接口允许通过的vlan 30 200
interface GigabitEthernet0/0/4 #配置G0/0/4接口
description to LSW6-G0/0/1 #描述G0/0/4接口的对端连接到LSW6的G0/0/1
port link-type trunk #配置G0/0/4接口为干道trunk模式
port trunk allow-pass vlan 40 200 #配置G0/0/4接口允许通过的vlan 40 200
interface Vlanif200 #创建valn 200
ip address 172.16.1.2 255.255.255.0 #给vlan 200配置ip地址与子网掩码
dhcp select relay #开启vlan 200的dhcp中继
dhcp relay server-ip 172.16.1.1 #指定DHCP中继的服务器ip地址
interface GigabitEthernet0/0/7 #配置G0/0/7接口
port link-type access #配置G0/0/7接口为access模式
port default vlan 200 #配置G0/0/7接口允许通过的vlan 200
ospf 1 #配置OSPF路由协议
area 0.0.0.0 #进入区域0.0.0.0
network 172.16.1.0 0.0.0.255 #配置ospf的区域0网络ip与反向掩码
area 0.0.0.1 #进入区域0.0.0.1
network 192.168.0.0 0.0.255.255 #配置ospf的区域1网络ip与反向掩码
(2)LSW2:
System-view #进入系统视图
sysname LSW2 #配置交换机的名称为LSW2,以区分其他交换机
dhcp enable #开启交换机的DHCP功能
vlan batch 10 20 30 40 200 #创建vlan 10 20 30 40 200
interface GigabitEthernet0/0/1 #配置G0/0/1接口
description to LSW4-G0/0/2 #描述G0/0/1接口的对端连接到LSW4的G0/0/2
port link-type trunk #配置G0/0/1接口为干道trunk模式
port trunk allow-pass vlan 20 200 #配置G0/0/1接口允许通过的vlan 20 200
interface GigabitEthernet0/0/2 #配置G0/0/2接口
description to LSW3-G 0/0/2 #描述G0/0/2接口的对端连接到LSW3的G0/0/2
port link-type trunk #配置G0/0/2接口为干道trunk模式
port trunk allow-pass vlan 10 200 #配置G0/0/2接口允许通过的vlan 10 200
interface GigabitEthernet0/0/3 #配置G0/0/3接口
description to LSW5-G0/0/2 #描述G0/0/3接口的对端连接到LSW5的G0/0/2
port link-type trunk #配置G0/0/3接口为干道trunk模式
port trunk allow-pass vlan 30 200 #配置G0/0/3接口允许通过的vlan 30 200
interface GigabitEthernet0/0/4 #配置G0/0/4接口
description to LSW6-G0/0/2 #描述G0/0/4接口的对端连接到LSW6的G0/0/2
port link-type trunk #配置G0/0/4接口为干道trunk模式
port trunk allow-pass vlan 40 200 #配置G0/0/4接口允许通过的vlan 40 200
interface Vlanif200 #创建valn 200
ip address 172.16.2.2 255.255.255.0 #给vlan 200配置ip地址与子网掩码
dhcp select relay #开启vlan 200的dhcp中继
dhcp relay server-ip 172.16.2.1 ##指定DHCP中继的服务器ip地址
interface GigabitEthernet0/0/7 #配置G0/0/7接口
port link-type access #配置G0/0/7接口为access模式
port default vlan 200 #配置G0/0/7允许通过的vlan 200
ospf 1 #配置OSPF路由协议
area 0.0.0.0 #进入区域0.0.0.0
network 172.16.2.0 0.0.0.255 #配置ospf的区域0网络ip与反向掩码
area 0.0.0.2 #进入区域0.0.0.2
network 192.168.0.0 0.0.255.255 #配置ospf的区域2网络ip与反向掩码
(3)LSW3:#
System-view #进入系统视图
sysname LSW3 #配置交换机的名称为LSW3
vlan batch 10 200 #创建vlan 10 200
interface GigabitEthernet0/0/1 #配置G0/0/1接口
description to LSW1_G0/0/1 #描述G0/0/1接口的对端连接到LSW1的G0/0/1
port link-type trunk #配置G0/0/1接口为干道trunk模式
port trunk allow-pass vlan 10 200 #配置G0/0/1接口允许通过的vlan 10 200
interface GigabitEthernet0/0/2 #配置G0/0/2接口
description to LSW2_G0/0/2 #描述G0/0/2接口的对端连接到LSW2的G0/0/2
port link-type trunk #配置G0/0/2接口为干道trunk模式
port trunk allow-pass vlan 10 200 #配置G0/0/2接口允许通过的vlan 10 200
interface Ethernet0/0/1 #配置e0/0/1接口
port link-type access #配置e0/0/1接口为access模式
port default vlan 10 #配置e0/0/1允许通过的vlan 10
(4)LSW4:#
System-view #进入系统视图
sysname LSW4 #配置交换机的名称为LSW4
vlan batch 20 200 #创建vlan 20 200
interface GigabitEthernet0/0/1 #配置G0/0/1接口
description to LSW1_G0/0/2 #描述G0/0/1接口的对端连接到LSW1的G0/0/2
port link-type trunk #配置G0/0/1接口为干道trunk模式
port trunk allow-pass vlan 20 200 #配置G0/0/1接口允许通过的vlan 20 200
interface GigabitEthernet0/0/2 #配置G0/0/2接口
description to LSW2_G0/0/1 #描述G0/0/2接口的对端连接到LSW2的G0/0/1
port link-type trunk #配置G0/0/2接口为干道trunk模式
port trunk allow-pass vlan 20 200 #配置G0/0/2接口允许通过的vlan 20 200
interface Ethernet0/0/1 #配置e0/0/1接口
port link-type access #配置e0/0/1接口为access模式
port default vlan 20 #配置e0/0/1允许通过的vlan 20
(5)LSW5:#
System-view #进入系统视图
sysname LSW5 #配置交换机的名称为LSW5
vlan batch 30 200 #创建vlan 30 200
interface GigabitEthernet0/0/1 #配置G0/0/1接口
description to LSW1_G0/0/3 #描述G0/0/1接口的对端连接到LSW1的G0/0/3
port link-type trunk #配置G0/0/1接口为干道trunk模式
port trunk allow-pass vlan 30 200 #配置G0/0/1接口允许通过的vlan 30 200
interface GigabitEthernet0/0/2 #配置G0/0/2接口
description to LSW2_G0/0/3 #描述G0/0/2接口的对端连接到LSW2的G0/0/3
port link-type trunk #配置G0/0/2接口为干道trunk模式
port trunk allow-pass vlan 30 200 #配置G0/0/2接口允许通过的vlan 30 200
interface Ethernet0/0/1 #配置e0/0/1接口
port link-type access #配置e0/0/1接口为access模式
port default vlan 30 #配置e0/0/1接口允许通过的vlan 30
(6)LSW6:
System-view #进入系统视图
sysname LSW6 #配置交换机的名称为LSW6
vlan batch 40 200 #创建vlan 40 200
interface GigabitEthernet0/0/1 #配置G0/0/1接口
description to LSW1_G 0/0/4 #描述G0/0/1接口的对端连接到LSW1的G0/0/4
port link-type trunk #配置G0/0/1接口为干道trunk模式
port trunk allow-pass vlan 40 200 #配置G0/0/1接口允许通过的vlan 40 200
interface GigabitEthernet0/0/2 #配置G0/0/2接口
description to LSW2_G0/0/4 #描述G0/0/2接口的对端连接到LSW2的G0/0/4
port link-type trunk #配置G0/0/2接口为干道trunk模式
port trunk allow-pass vlan 40 200 #配置G0/0/2接口允许通过的vlan 40 200
interface Ethernet0/0/1 #配置e0/0/1接口
port link-type access #配置e0/0/1接口为access模式
port default vlan 40 #配置e0/0/1接口允许通过的vlan 40
(二)配置VRRP
虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台具有路由功能的设备联合组成一台虚拟的路由设备(本例使用2台三层交换机),将虚拟路由设备的IP地址(本例以每个C类网段的254为虚拟ip)作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
1、规划vlan ip与vrrp virtual ip、抢占规则:每个网段的253为第一台VRRP设备的vlan地址,每个网段的252作为第二台VRRP设备的vlan地址,每个网段的254为虚拟路由设备的ip地址,即每台PC对应网段的网关ip地址。
(1)LSW1上的vlan 10:192.168.10.253/24 vrid 1 virtual ip: 192.168.10.254
LSW1上的vlan 20:192.168.20.253/24 vrid 2 virtual ip: 192.168.20.254
LSW1上的vlan30:192.168.30.253/24 vrid 3 virtual ip: 192.168.30.254
LSW1上的vlan 40:192.168.40.253/24 vrid 4 virtual ip: 192.168.40.254
(2)LSW2上的vlan 10:192.168.10.252/24 vrid 1 virtual ip: 192.168.10.254
LSW2上的vlan 20:192.168.20.252/24 vrid 2 virtual ip: 192.168.20.254
LSW2上的vlan30:192.168.30.252/24 vrid 3 virtual ip: 192.168.30.254
LSW2上的vlan 40:192.168.40.252/24 vrid 4 virtual ip: 192.168.40.254
确保每个vlan仅有一个虚拟VRRP的ip地址,用作该网段的网关,无论哪条链路故障或LSW1、LSW2其中一个设备故障,用户端网络都能正常运行。
(3)VRRP优先级的规划
LSW1上的vlan 10、vlan 20 优先级120,确保为master主VRRP;LSW1上的vlan 30、vlan 40优先级80,确保为backup备VRRP。
LSW2上的vlan 10、vlan 20 优先级80,确保为backup备VRRP;LSW2上的vlan 30、vlan 40优先级120,确保为master主VRRP。
(4)为避免某链路接触不良的故障时,备VRRP迅速抢占为主VRRP,实际主VRRP还能偶尔工作导致的VRRP抢占循环,会引起网络的震荡,配置抢占延时为20秒后,即当20秒后确认链路故障时,备用VRRP才抢占为主VRRP,避免因循环抢占而导致的网络震荡。
2、配置VRRP
LSW1:
System-view #进入系统视图
interface Vlanif10 #配置valn 10
ip address 192.168.10.253 255.255.255.0 #给vlan 10配置ip地址与子网掩码
vrrp vrid 1 virtual-ip 192.168.10.254 #配置vrrp组1的虚拟ip地址
vrrp vrid 1 priority 120 #配置vrrp组1的优先级为120
vrrp vrid 1 preempt-mode timer delay 20 #配置vrrp 组1在故障后20秒再抢占
interface Vlanif20 #配置valn 10
ip address 192.168.20.253 255.255.255.0 #给vlan 20配置ip地址与子网掩码
vrrp vrid 2 virtual-ip 192.168.20.254 #配置vrrp组2的虚拟ip地址
vrrp vrid 2 priority 120 #配置vrrp组2的优先级为120
vrrp vrid 2 preempt-mode timer delay 20 #配置vrrp 组2在故障后20秒再抢占
interface Vlanif30 #配置valn 30
ip address 192.168.30.253 255.255.255.0 #给vlan 30配置ip地址与子网掩码
vrrp vrid 3 virtual-ip 192.168.30.254 #配置vrrp组3的虚拟ip地址
vrrp vrid 3 priority 80 #配置vrrp组3的优先级为80
vrrp vrid 3 preempt-mode timer delay 20 #配置vrrp 组3在故障后20秒再抢占
interface Vlanif40 #配置valn 40
ip address 192.168.40.253 255.255.255.0 #给vlan 40配置ip地址与子网掩码
vrrp vrid 4 virtual-ip 192.168.40.254 #配置vrrp组4的虚拟ip地址
vrrp vrid 4 priority 80 #配置vrrp组4的优先级为120
vrrp vrid 4 preempt-mode timer delay 20 #配置vrrp 组4在故障后20秒再抢占
LSW2:#
System-view #进入系统视图
interface Vlanif10 #配置valn 10
ip address 192.168.10.252 255.255.255.0 #给vlan 10配置ip地址与子网掩码
vrrp vrid 1 virtual-ip 192.168.10.254 #配置vrrp组1的虚拟ip地址
vrrp vrid 1 priority 80 #配置vrrp组1的优先级为80
vrrp vrid 1 preempt-mode timer delay 20 #配置vrrp 组1在故障后20秒再抢占
interface Vlanif20 #配置valn 20
ip address 192.168.20.252 255.255.255.0 #给vlan 20配置ip地址与子网掩码
vrrp vrid 2 virtual-ip 192.168.20.254 #配置vrrp组2的虚拟ip地址
vrrp vrid 2 priority 80 #配置vrrp组2的优先级为80
vrrp vrid 2 preempt-mode timer delay 20 #配置vrrp 组2在故障后20秒再抢占
interface Vlanif30 #配置valn 30
ip address 192.168.30.252 255.255.255.0 #给vlan 30配置ip地址与子网掩码
vrrp vrid 3 virtual-ip 192.168.30.254 #配置vrrp组3的虚拟ip地址
vrrp vrid 3 priority 120 #配置vrrp组3的优先级为120
vrrp vrid 3 preempt-mode timer delay 20 #配置vrrp 组3在故障后20秒再抢占
interface Vlanif40 #配置valn 40
ip address 192.168.40.252 255.255.255.0 #给vlan 40配置ip地址与子网掩码
vrrp vrid 4 virtual-ip 192.168.40.254 #配置vrrp组4的虚拟ip地址
vrrp vrid 4 priority 120 #配置vrrp组4的优先级为120
vrrp vrid 4 preempt-mode timer delay 20 #配置vrrp 组4在故障后20秒再抢占
3、查看配置好的VRRP结果
(三)配置MSTP
1、配置vlan 10与vlan 20主转发,vlan 30与vlan 40备转发
LSW1:
System-view #进入系统视图
stp instance 1 root primary #生成树协议实例1采用主primary
stp instance 2 root secondary #生成树协议实例2采用备secondary
stp pathcost-standard legacy #生成树协议采用华为算法
stp region-configuration #配置多生成树协议MSTP
region-name MSTP1 #配置多生成树协议名称为MSTP1
revision-level 1 #配置生成树协议的等级
instance 1 vlan 10 20 #将vlan 10与vlan 20与生成树协议的实例1关联
instance 2 vlan 30 40 #将vlan 30与vlan 40与生成树协议的实例2关联
active region-configuration #激活多生成树协议
interface GigabitEthernet0/0/3 #配置G0/0/3接口
description to LSW5-G0/0/1 #描述接口的对端接到LSW5的G0/0/1端口
port link-type trunk #将G0/0/1接口配置为干道trunk模式
port trunk allow-pass vlan 30 200 #配置G0/0/1允许通过的vlan 30、200
stp instance 2 port priority 160 #配置实例2在G0/0/1端口的优先级为160
stp instance 2 cost 200000 #配置G0/0/1端口经过的STP开销值为200000
interface GigabitEthernet0/0/4 #配置G0/0/4接口
description to LSW6-G0/0/1 #描述接口的对端接到LSW6的G0/0/1端口
port link-type trunk #将G0/0/4接口配置为干道trunk模式
port trunk allow-pass vlan 40 200 #配置G0/0/4允许通过的vlan 40、200
stp instance 2 port priority 160 #配置实例2在G0/0/4端口的优先级为160
stp instance 2 cost 200000 #配置G0/0/4端口经过的STP开销值为200000
2、配置vlan 10与vlan 20备转发,vlan 30与vlan 40主转发
LSW2:
System-view #进入系统视图
stp instance 1 root secondary #生成树协议实例1采用主primary
stp instance 2 root primary #生成树协议实例2采用备secondary
stp pathcost-standard legacy #生成树协议采用华为算法
stp region-configuration #配置多生成树协议MSTP
region-name MSTP1 #配置多生成树协议名称为MSTP1
revision-level 1 #配置生成树协议的等级
instance 1 vlan 10 20 #将vlan 10与vlan 20与生成树协议的实例1关联
instance 2 vlan 30 40 #将vlan 30与vlan 40与生成树协议的实例2关联
active region-configuration #激活多生成树协议
3、配置vlan 10的MSTP多生成树协议
LSW3:
System-view
stp pathcost-standard legacy #生成树协议采用华为算法
stp region-configuration #配置多生成树协议MSTP
region-name MSTP1 #配置多生成树协议名称为MSTP1
revision-level 1 #配置生成树协议的等级
instance 1 vlan 10 20 #将vlan 10与vlan 20与生成树协议的实例1关联
instance 2 vlan 30 40 #将vlan 30与vlan 40与生成树协议的实例2关联
active region-configuration #激活多生成树协议
4、配置vlan 20的MSTP多生成树协议
LSW4:
System-view #进入系统视图
stp pathcost-standard legacy #生成树协议采用华为算法
stp region-configuration #配置多生成树协议MSTP
region-name MSTP1 #配置多生成树协议名称为MSTP1
revision-level 1 #配置生成树协议的等级
instance 1 vlan 10 20 #将vlan 10与vlan 20与生成树协议的实例1关联
instance 2 vlan 30 40 #将vlan 30与vlan 40与生成树协议的实例2关联
active region-configuration #激活多生成树协议
5、配置vlan 30的MSTP多生成树协议
LSW5:
System-view #进入系统视图
stp pathcost-standard legacy #生成树协议采用华为算法
stp region-configuration #配置多生成树协议MSTP
region-name MSTP1 #配置多生成树协议名称为MSTP1
revision-level 1 #配置生成树协议的等级
instance 1 vlan 10 20 #将vlan 10与vlan 20与生成树协议的实例1关联
instance 2 vlan 30 40 #将vlan 30与vlan 40与生成树协议的实例2关联
active region-configuration #激活多生成树协议
6、配置vlan 40的MSTP多生成树协议
LSW6:
System-view #进入系统视图
stp pathcost-standard legacy #生成树协议采用华为算法
stp region-configuration #配置多生成树协议MSTP
region-name MSTP1 #配置多生成树协议名称为MSTP1
revision-level 1 #配置生成树协议的等级
instance 1 vlan 10 20 #将vlan 10与vlan 20与生成树协议的实例1关联
instance 2 vlan 30 40 #将vlan 30与vlan 40与生成树协议的实例2关联
active region-configuration #激活多生成树协议
(四)配置DHCP
1、在路由器上配置DHCP地址池
AR1:
System-view #进入系统视图
Sysname AR1 #将路由器命名为AR1
router id 1.1.1.1 #配置ospf协议的router id
dhcp enable #开启DHCP服务
ip pool vlan10 #配置地址池vlan10
gateway-list 192.168.10.254 #指定地址池vlan10的网关ip地址
network 192.168.10.0 mask 255.255.255.0 #指定地址池的网络范围
excluded-ip-address 192.168.10.252 192.168.10.253 #地址池排除LSW1与LSW2上配置的vlan 10的ip地址,以免DHCP服务动态分配给用户终端的ip地址与LSW1或LSW2上手配置的ip冲突
ip pool vlan20 #配置地址池vlan20
gateway-list 192.168.20.254 #指定地址池vlan20的网关ip地址
network 192.168.20.0 mask 255.255.255.0 #指定地址池的网络范围
excluded-ip-address 192.168.20.252 192.168.20.253 #地址池排除LSW1与LSW2上配置的vlan 20的ip地址,以免DHCP服务动态分配给用户终端的ip地址与LSW1或LSW2上手配置的ip冲突
ip pool vlan30 #配置地址池vlan20
gateway-list 192.168.30.254 #指定地址池vlan20的网关ip地址
network 192.168.30.0 mask 255.255.255.0 #指定地址池的网络范围
excluded-ip-address 192.168.30.252 192.168.30.253 #地址池排除LSW1与LSW2上配置的vlan 20的ip地址,以免DHCP服务动态分配给用户终端的ip地址与LSW1或LSW2上手配置的ip冲突
ip pool vlan40 #配置地址池vlan40
gateway-list 192.168.40.254 #指定地址池vlan40的网关ip地址
network 192.168.40.0 mask 255.255.255.0 #指定地址池的网络范围
excluded-ip-address 192.168.40.252 192.168.40.253 #地址池排除LSW1与LSW2上配置的vlan 40的ip地址,以免DHCP服务动态分配给用户终端的ip地址与LSW1或LSW2上手配置的ip冲突
interface GigabitEthernet0/0/1 #配置G0/0/1接口
ip address 172.16.1.1 255.255.255.0 #配置G0/0/1接口的ip地址
dhcp select global #配置G0/0/1接口启用DHCP的全局模式
interface GigabitEthernet0/0/2 #配置G0/0/2接口
ip address 172.16.2.1 255.255.255.0 #配置G0/0/2接口的ip地址
dhcp select global #配置G0/0/2接口启用DHCP的全局模式
ospf 1 # #配置OSPF路由协议
area 0.0.0.0 #进入区域0.0.0.0
network 172.16.1.0 0.0.0.255 #配置ospf的区域0网络ip与反向掩码
network 172.16.2.0 0.0.0.255 #配置ospf的区域0网络ip与反向掩码
2、在LSW1上配置DHCP中继
System-view #进入系统视图
dhcp enable #开启DHCP服务功能
interface Vlanif10 #配置vlan 10
ip address 192.168.10.253 255.255.255.0 #给vlan 10配置ip地址与子网掩码
dhcp select relay #在vlan 10上启用dhcp中继
dhcp relay server-ip 172.16.1.1 #指定vlan 10的DHCP中继服务器ip地址
interface Vlanif20 #配置vlan 20
ip address 192.168.20.253 255.255.255.0 #给vlan 20配置ip地址与子网掩码
dhcp select relay #在vlan 20上启用dhcp中继
dhcp relay server-ip 172.16.1.1 #指定vlan 20的DHCP中继服务器ip地址
interface Vlanif30 #配置vlan 30
ip address 192.168.30.253 255.255.255.0 #给vlan 30配置ip地址与子网掩码
dhcp select relay #在vlan 30上启用dhcp中继
dhcp relay server-ip 172.16.1.1 #指定vlan 30的DHCP中继服务器ip地址
interface Vlanif40 #配置vlan 40
ip address 192.168.40.253 255.255.255.0 #给vlan 40配置ip地址与子网掩码
dhcp select relay #在vlan 40上启用dhcp中继
dhcp relay server-ip 172.16.1.1 #指定vlan 40的DHCP中继服务器ip地址
interface Vlanif200 #配置vlan 200
ip address 172.16.1.2 255.255.255.0 #给vlan 200配置ip地址与子网掩码
dhcp select relay #在vlan 200上启用dhcp中继
dhcp relay server-ip 172.16.1.1 #指定vlan 200的DHCP中继服务器ip地址
3、在LSW2上配置DHCP中继
System-view #进入系统视图
dhcp enable #开启DHCP服务功能
interface Vlanif10 # 配置vlan 10
ip address 192.168.10.252 255.255.255.0 #给vlan 10配置ip地址与子网掩码
dhcp select relay #在vlan 10上启用dhcp中继
dhcp relay server-ip 172.16.2.1 #指定vlan 10的DHCP中继服务器ip地址
interface Vlanif20 #配置vlan 20
ip address 192.168.20.252 255.255.255.0 #给vlan 20配置ip地址与子网掩码
dhcp select relay #在vlan 20上启用dhcp中继
dhcp relay server-ip 172.16.2.1 #指定vlan 20的DHCP中继服务器ip地址
interface Vlanif30 #配置vlan30
ip address 192.168.30.252 255.255.255.0 #给vlan 30配置ip地址与子网掩码
dhcp select relay #在vlan 30上启用dhcp中继
dhcp relay server-ip 172.16.2.1 #指定vlan 30的DHCP中继服务器ip地址
interface Vlanif40 #配置vlan 40
ip address 192.168.40.252 255.255.255.0 #给vlan 40配置ip地址与子网掩码
dhcp select relay #在vlan 40上启用dhcp中继
dhcp relay server-ip 172.16.2.1 #指定vlan 40的DHCP中继服务器ip地址
(五)配置BFD链路检测:
1、AR1路由器上的配置:
System-view #进入系统视图
Bfd #开启bfd链路状态检测功能
bfd 1 bind peer-ip 172.16.1.2 interface GigabitEthernet0/0/1 source-ip 172.16.1.1 #配置bfd会话1绑定对端的ip地址,与本端的出接口与本端的源ip地址
discriminator local 10 #配置本端的标识为10
discriminator remote 20 #配置对端的标识为20
commit #立即执行
bfd 2 bind peer-ip 172.16.2.2 interface GigabitEthernet0/0/2 source-ip 172.16.2.1 #配置bfd会话2绑定对端的ip地址,与本端的出接口与本端的源ip地址
discriminator local 30 #配置本端的标识为30
discriminator remote 40 #配置对端的标识为40
commit #立即执行
2、LSW1交换机的配置
System-view #进入系统视图
Bfd #开启bfd链路状态检测功能
bfd 1 bind peer-ip 172.16.1.1 interface Vlanif200 source-ip 172.16.1.2 #配置bfd会话1绑定对端的ip地址,与本端的出接口与本端的源ip地址
discriminator local 20 #配置本端的标识为20
discriminator remote 10 #配置对端的标识为10
commit #立即执行
interface Vlanif10 #配置vlan 10
vrrp vrid 1 track bfd-session 20 reduced 50 #配置在vlan 10中运行的vrrp调用bfd会话20,当BFD会话检测到三层网络的链路故障后,降低vrrp的优先级50,即配置的120-50=70,低于对端vrrp的优先级80,使对端能从backup状态切换到master状态。
interface Vlanif20 #配置vlan 20
vrrp vrid 2 track bfd-session 20 reduced 50 #配置在vlan 20中运行的vrrp调用bfd会话20,当BFD会话检测到三层网络的链路故障后,降低vrrp的优先级50,即配置的120-50=70,低于对端vrrp的优先级80,使对端能从backup状态切换到master状态。
3、LSW2交换机的配置
System-view #进入系统视图
Bfd #开启bfd链路状态检测功能
bfd 2 bind peer-ip 172.16.2.1 interface Vlanif200 source-ip 172.16.2.2 #配置bfd会话2绑定对端的ip地址,与本端的出接口与本端的源ip地址
discriminator local 40 #配置本端的标识为30
discriminator remote 30 #配置对端的标识为40
commit #立即执行
interface Vlanif30 #配置vlan 30
vrrp vrid 3 priority 120 #配置vlan 30中的vrrp组3优先级为120
vrrp vrid 3 track bfd-session 40 reduced 50 #配置在vlan 30中运行的vrrp调用bfd会话40,当BFD会话检测到三层网络的链路故障后,降低vrrp的优先级50,即配置的120-50=70,低于对端vrrp的优先级80,使对端能从backup状态切换到master状态。
interface Vlanif40 #配置vlan 40
vrrp vrid 4 priority 120 #配置vlan 40中的vrrp组4优先级为120
vrrp vrid 4 track bfd-session 40 reduced 50 #配置在vlan 40中运行的vrrp调用bfd会话40,当BFD会话检测到三层网络的链路故障后,降低vrrp的优先级50,即配置的120-50=70,低于对端vrrp的优先级80,使对端能从backup状态切换到master状态。
四、验证结果
1、vlan 10的pc1 192.168.10.251/24访问路由器接口172.16.2.1/24
(1)vlan 10的pc1访问时从预定的主链路访问,如下图:
(2)查看PC获取的ip地址,验证DHCP服务
(3)vlan 10的pc1访问时从预定的主链路访问时,在LSW1的G0/0/1与G0/0/7接口的抓包,如下图:
上图的VRRP包,作用就是为PC1访问上层主链路时,若上层主链路故障后,会自动切换到备用链路的配置所生成。
上图中的OSPF包,用于建立交换机LSW1与与路由器AR1的邻居邻接关系,建立三层的路由访问链路,使不同的网段之间能相互访问。
上图中的BFD包,是在LSW1与AR1之间建立的BFD会话,当这条链路故障后,在VRRP调用BFD会话时,降低时VRRP的等级50,使VRRP的备用链路成为主链路。指令如下:
interface Vlanif10
vrrp vrid 1 track bfd-session 20 reduced 50
注意:若不做BFD会话的配置,PC1在访问上层网络时,并不能感知到LSW1与AR1之间的链路故障,从而导致PC1不能访问路由器之外的网络。
2、在vlan 10的PC1(192.168.10.251)访问路由器172.162.1这条主链路中的二层网络出现故障后,PC1会先找网关192.168.10.254,192.168.10.254是vrrp vrid 1中的虚拟ip,即使二层物理链路断开后,虚拟ip的网关也能从LSW2找到,所以此时PC1访问上层网络会走LSW2
(1)在LSW3上断开G0/0/1接口的物理连接,在LSW2的G0/0/2接口抓包如下图:
(2)此时LSW1设备并没有坏,在vrrp组中仍然是vlan 10的PC1主设备,所以数据包从PC1到LSW2后,并没有直接到达路由器的172.16.2.1,而是经由LSW1向上走172.16.1.1,再到达172.16.2.1。
此时我们在AR1的G 0/0/1接口抓包时,可以得到验证,如下图:
3、主链路的设备故障,vlan 10的PC1(192.168.10.251)访问路由器172.162.1这条主链路中的主VRRP设备LSW1出现故障后,LSW2等待20秒后,备用VRRP抢占成为主VRRP,使备用链路生效,可在LSW1上看到VRRP在VLAN 10的变化,从Master变为backup。
(1)主VRRP设备LSW1正常时,LSW2的vlan 10 vrrp状态是backup,如下图:
在所有设备与链路都正常时,LSW2上的vlan 30与vlan 40的vrrp状态都是master,与之前规划的负载均衡一致,如下图:
(2)主vrrp设备LSW1故障后,再看vlan 10对应的vrrp从backup抢占为master主vrrp,如下图:
(3)再看vlan10的pc1到路由器的接口172.16.2.1流量走向,在LSW2的G0/0/7接口抓包,并通过tracert 172.16.2.1命令获取所走的网关路径,如下图:
4、先看正常状态下的的vlan 30,PC3这台电脑的设置
(1)PC端设置了DHCP模式,从DHCP服务器获取ip地址,通过前面在LSW2上配置的VRRP为vlan 30的master 主vrrp,所以网络流量从LSW5走到LSW2,如下图:
(2)网段中的ip地址规划:
192.168.30.254 /24 已经划给该网段,作为虚拟路由的ip,即本网段的网关ip。
192.168.30.253 /24 已经划给LSW1的vlan 30使用,用于维护VRRP的运行。
192.168.30.252 /24 已经划给LSW2的vlan 30使用,用于维护VRRP的运行。
所以该网段能分配给用户终端使用的地址池,192.168.30.0 /24,实际上最大的就是251了,如下图:
在AR1上配置地址池时,就需要把192.168.30.252、192.168.30.253、192.168.30.254这3个ip地址排除在地址池外,否则会出现ip冲突。
说明:其余各网段以此类推。
(3)当所有设备和链路都正常运行时,vlan 30中的pc3网络流量方向,如下图:
从上图中的AR1路由器的G0/0/2接口抓包后有icmp的ping命令回包,所以,该流量经过LSW2发送到AR1,再由AR1回数据包给LSW2,经LSW5回给PC3。
5、测试vlan 30的二层链路故障后,网络正常运行。
(1)分析MSTP生成树协议的实例2,注意根端口的变化,如下图:
(2)测试vlan 30的PC3到路由器AR1的172.16.1.1的网络流量路径。
通过在LSW1与LSW2的G0/0/7接口抓包分析,可以看出,ping包的请求request从LSW2的G0/0/7口发出,到路由器AR1。同时在LSW1的G0/0/7口收到了ping包的replay响应,所以此时,网络的流量并不是源进源出的原则,请求request是根据MSTP+VRRP的优先级转发了网络流量。回应replay是根据OSPF协议最短路径优先的原则进行回复。
(3)现在我们查看OSPF协议的工作状态如下:
(4)在PC3上通过执行tracert 172.16.1.1指令,跟踪从vlan 30到达路由器接口172.16.1.1的路由,再一次验证了请求包的流量走向,如下图:
6、当AR1到LSW2的三层网络链路故障时,测试vlan 30的网络是正常运行的,如下图:
从上图可以看出,网络流量的请求包与回应包都是走的同一链路,即源进源出。
7、测试LSW2设备故障后,vlan30到达路由器的网络正常运行
(1)在PC3上通过使用ping 172.16.1.1,tracert 172.16.1.1 ,ipconfig /renew 均能得到目标的响应,如下图:
(2)此时查看LSW1上的vrrp状态,vlan 10、vlan 20、vlan 30、vlan 40均为master状态,如下图。(在LSW2正常工作时,LSW1上只有vlan 10、vlan 20是master状态,以实现网络流量的负载均衡。)
本文结合了MSTP多生成树协议,采用了实例1(负责vlan 10与vlan 20的流量)与实例2(负责vlan 30与vlan 40的流量)实现了网络流量的负载均衡;
VRRP虚拟路由冗余协议实现了设备故障后的冗余;
DHCP服务给用户终端分配ip地址,同时将虚拟的ip作为用户终端的网关,当物理链路故障或物理设备故障后,用户终端设备不需要修改任何配置的情况下,仍然保持了业务的连续性,实现了网络可靠性的需求;
采用了Eth-trunk链路聚合技术,将2条物理链路捆绑成为1条逻辑链路,既能增加带宽,又可增强可靠性,其中1条物理链路断开后,仍有1条能继续工作,确保网络业务不中断。
还采用了BFD的三层链路检测,当用户终端感知不到三层网络链路故障时,照常转发的数据包,不会因缓存记录保存过之前的三层网络路径因故障而断开,会自动切换到好的链路上,进一步确保了三层网络的可靠性。
本文结束,不足之处敬请批评指正!
版权归原作者 weixin_43075093 所有, 如有侵权,请联系我们删除。