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]vlan10[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 20SW1:
[SW1]vlan10[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]vlan10[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]vlan100[SW1-vlan100]int vlan 100[SW1-Vlan-interface100]ip add 10.0.100.1 24[SW2]vlan100[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 instance10root primary
[SW1]stp instance20root secondary
SW2 作为vlan20的主,作为vlan10的备
[SW2]stp instance10root secondary
[SW2]stp instance20 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]disint Bridge-Aggregation bri
Brief information on interfacesinbridge 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) T1链路聚合完成,接下来开始配置vlan
SW3
[SW3]vlan10[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 20SW1
[SW1]vlan10[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]intv20
[SW1-Vlan-interface20]ip add 10.0.20.252 24[SW1]dis ipintbri*down: administratively down
(s): spoofing (l): loopback
Interface Physical Protocol IP Address Description
MGE0/0/0 down down -- --Vlan10 up up10.0.10.252 --Vlan20 up up10.0.20.252 --SW2
[SW2]vlan10[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]intv10
[SW2-Vlan-interface10]ip add 10.0.10.253 24[SW2-Vlan-interface20]ip add 10.0.20.253 24[SW2]dis ipintbri*down: administratively down
(s): spoofing (l): loopback
Interface Physical Protocol IP Address Description
MGE0/0/0 down down -- --Vlan10 up up10.0.10.253 --Vlan20 up up10.0.20.253 --开始配置 VRRP
SW1:
#进入到vlan10接口
[SW1]intv10
# 配置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]track10 int Bridge-Aggregation 1SW2:
[SW2]intv10
[SW2-Vlan-interface10]vrrp vrid 10 virtual-ip 10.0.10.254[SW2-Vlan-interface10]qu
[SW2]track10 int Bridge-Aggregation 1通过上面规则,我们设置的master 为 SW1 ,查看:
[SW1]dis vrrp
IPv4 virtual router information:
Running mode : Standard
Total number of virtual routers :1Interface VRID State Running Adver Auth Virtual
pri timer(cs) type IP---------------------------------------------------------------------Vlan1010 Master 105 100 None 10.0.10.254[SW2]dis vrrp
IPv4 virtual router information:
Running mode : Standard
Total number of virtual routers :1Interface VRID State Running Adver Auth Virtual
pri timer(cs) type IP---------------------------------------------------------------------Vlan1010 Backup 100 100 None 10.0.10.254符合我们预期,接下来配置vlan20
SW1:
[SW1-Vlan-interface20]vrrp vrid 20 virtual-ip 10.0.20.254[SW1]track20 int Bridge-Aggregation 1SW2:
[SW2]intv20
[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]track20 int Bridge-Aggregation 1vlan10 和 vlan20 都配置完成,查看是否符合预期:
[SW1]dis vrrp
IPv4 virtual router information:
Running mode : Standard
Total number of virtual routers :2Interface VRID State Running Adver Auth Virtual
pri timer(cs) type IP---------------------------------------------------------------------Vlan1010 Master 105 100 None 10.0.10.254Vlan2020 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 :2Interface VRID State Running Adver Auth Virtual
pri timer(cs) type IP---------------------------------------------------------------------Vlan1010 Backup 100 100 None 10.0.10.254Vlan2020 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 member1 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 member1 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]qureboot
[SW2]irf-port-configuration active
[SW2]qureboot
查看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-0100Auto upgrade : yes
Mac persistent :6min
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/49Ten-GigabitEthernet1/0/50Ten-GigabitEthernet2/0/49Ten-GigabitEthernet2/0/50MAD ARP disabled.
MAD ND disabled.
MAD LACP disabled.
MAD BFD enabled interface: Vlan-interface99
MAD status : Faulty
Member ID MAD IP address Neighbor MAD status1 192.168.0.1/24 2Faulty2 192.168.0.2/24 1 Faulty
配置完成。