高可用性
一 路由器链路
1 浮动静态路由
浮动静态路由是一种特殊的静态路由,通过配置一个比主路由的管理距离更大的静态路由,保证网络中主路由失效的情况下,提供备份路由。但在主路由存在的情况下它不会出现在路由表中。浮动静态路由主要用于拔号备份.
###############################
R1
int e0
ip address 192.168.2.254 24
int s0
ip add 192.168.3.1 24
int s1
ip add 192.168.5.1 24
quit
ospf enable
int e0
ospf enable area 0
int s0
ospf enable area 0
quit
ip route 192.168.4.0 24 192.168.5.2
###############################
R2
int s0
ip add 192.168.3.2 24
shut
undoshut
int s1
ip add 192.168.5.2 24
shut
undoshut
int e0
ip add 192.168.4.254 24
quit
ospf enable
int e0
ospf enable area 0
int s0
ospf enable area 0
quit
ip route 192.168.2.0 24 192.168.5.1
******************************************************
2 standby interface
在正常链路的接口上去指明备份接口就行了
(需要配置启用备份接口定时器,默认是立刻切换)
standby timer enable-delay
seconds
设置从主接口切换到备用接口的延时
standby timer disable-delay
seconds
设置从备用接口切换到主接口的延时
standby threshold
enable-threshold disable-threshold
负载分担配置
缺省情况下,没有使能接口的备份负载分担功能
#####################
R1
# int e0
# ip address 192.168.2.254 24
# int s0
# ip add 192.168.3.1 24
# int s1
# ip add 192.168.5.1 24
# quit
# ip route 192.168.4.0 24 192.168.3.2
# ip route 192.168.4.0 24 192.168.5.2
# int s0
# standby interface s 1
指明备份接口
# standby timer enable-delay 10
设置切换延迟,等待
10
秒之后切换到备份接口
# standby timer disable-delay 10
设置切换延迟,等待
10
秒后切回到主接口
###############################
R2
# int s0
# ip add 192.168.3.2 24
# shut
# undoshut
# int s1
# ip add 192.168.5.2 24
# shut
# undoshut
# int e0
# ip add 192.168.4.254 24
# quit
# ip route 192.168.2.0 24 192.168.5.1
# ip route 192.168.2.0 24 192.168.3.1
# int s0
# standby interface s 1
指明备份接口
# standby timer enable-delay 10
设置切换延迟,等待
10
秒之后切换到备份接口
# standby timer disable-delay 10
设置切换延迟,等待
10
秒后切回到主接口
# dis ip routing
*******************************************************
3 ppp多路捆绑
MP
协议(
the PPP Multilink protocol
)能够将多条
PPP
链路捆绑起来,从而达到增加带宽的目的。
MP
协议能够对大的报文进行分片,分片将在多个
PPP
链路上送到同一个目的地,从而减少大报文的传送时间。
将多个
PPP
链路捆绑成
MP
,之后
需要创建一个虚拟接口与对端交换数据。此时也可选择一个接口模板以便动态地创建一个虚拟接口。
虚拟接口模板(
Virtual-Template
),是用于配置一个虚拟接口的模板,主要应用于
×××
及
MP
等应用环境。
创建虚拟接口模板并进入虚拟接口模板视图
interface virtual-template number
R1
# int e0
# ip address 192.168.2.254 24
# int virtual-tem 1
创建虚拟模板接口
# ip add 192.168.6.1 24
# int s0
# ppp mp int vir 1
把接口聚合到虚拟模板
1
# int s1
# ppp mp int vir 1
# int s0
# ppp mp
启动
ppp
的多路捆绑的协商协议
# int s1
# ppp mp
# ip route 192.168.4.0 24 192.168.6.2
R2
# int e0
# ip add 192.168.4.254 24
# quit
# int virtual-tem 1
创建虚拟模板接口
# ip add 192.168.6.2 24
# int s0
进入物理口
# ppp mp int vir 1
把接口聚合到虚拟模板
1
#
# ppp mp int vir 1
把接口聚合到虚拟模板
1
# int s0
ppp mp
启动
ppp
的多路捆绑的协商协议
# int s1
# ppp mp
# ip route 192.168.2.0 24 192.168.6.1
###################
二 端口汇聚
端口汇聚
端口汇聚是将多个端口汇聚在一起形成一个汇聚组,在汇聚组中的各个成员端口之间,实现出
/
入负荷的分担,同时也提供了更高的连接可靠性。
同一个汇聚组中端口的基本配置必须保持一致
.
进入系统视图
system-view
创建汇聚组
link-aggregation group
agg-id mode manual
进入以太网端口视图
interface
interface-type interface-number
将以太网端口加入汇聚组
port link-aggregation group agg-id
显示所有汇聚组的摘要信息
display link-aggregation summary
显示端口的端口汇聚详细信息
display link-aggregation interface
interface-type interface-number [ to interface-type interface-number ]
案例
组网需求
以太网交换机
Switch A
使用
2
个端口(
Ethernet1/0/1
~
Ethernet1/0/2
)汇聚接入以太网交换机
Switch B
,实现出
/
入负荷在各成员端口中的负载分担。
Switch A
# system-view
# link-aggregation group 1 mode manual
模式
手工聚合
# int e1/0/1
进入接口模式
# port link-aggregation group 1
把端口
1
加入到聚合组
1
# int e1/0/2
# port link-aggregation group 1
# display link-aggregation summary
查看所配置的聚合组信息
Switch B
# system-view
# link-aggregation group 1 mode manual
# int e1/0/1
# port link-aggregation group 1
# int e1/0/2
# port link-aggregation group 1
三 网卡绑定
网卡绑定,也称作网卡捆绑。就是将两个或者更多的物理网卡绑定成一个虚拟网卡,以提供负载均衡或者冗余,增加带宽的作用。当一个网卡坏掉时,不会影响业务。
Linux双网卡绑定:两块网卡聚合为一个逻辑网卡,实现冗余
步骤:物理网卡 eth0 eth1
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static (两个网卡必须一样)
MASTER=bond0
# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
MASTER=bond0
逻辑网卡 bond0
# vim /etc/sysconfig/network-scripts/ifcfg-band0
DEVICE=bind0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.145.101(地址)
NETMASK=255.255.255.0(子网掩码)
编辑所需要的模块:
# vim /etc/modprobe.conf
( modprobe bonding)
alias bond0 bonging
options bond0 miimon=100(监控间隔) mode=1(工作模式)
(bond模式 0 1 2 3 ,0表示负载均衡 1表示冗余 )
开机脚本:
# vim /etc/rc.d/rc.local
ifenslave bond0 eth0 eth1 绑定端口
# init 6 重新启动一下
# cat /proc/net/bonding/bond0 查看状态
四 路由器:hsrp vrrp
HSRP:热备份路由器协议(HSRP:Hot Standby Router Protocol),是cisco平台一种特有的技术,是cisco的私有协议。
HSRP的工作原理
HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的主动路由器(Active Router)。如果一个路由器的优先级设置的比所有其他路由器的优先级高,则该路由器成为主动路由器。路由器的缺省优先级是100,所以如果只设置一个路由器的优先级高于100,则该路由器将成为主动路由器。
HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的主动路由器(Active Router)。如果一个路由器的优先级设置的比所有其他路由器的优先级高,则该路由器成为主动路由器。路由器的缺省优先级是100,所以如果只设置一个路由器的优先级高于100,则该路由器将成为主动路由器。
通过在设置了HSRP协议的路由器之间广播HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段时间内主动路由器不能发送hello消息时,优先级最高的备用路由器(Standby Routers)变为主动路由器。路由器之间的包传输对网络上的所有主机来说都是透明的。
案例:
配置:
SW1
# config terminal
# line console 0
# logging synchronous 设置在输入命令时不会被系统日志消息打断
# no exec-timeout 设置不输入命令多长时间系统弹出
# exit
划分vlan:
# vlan datebase
# vlan 10
# vlan 20
# exit
配置trunk链路:
# int f0/0
# switchport mode trunk
# int f0/1
# switchport mode trunk
# int f0/2
# switchport mode trunk
配置端口聚合:
# int f0/1
# channel-group 1 mode on
# int f0/2
# channel-group 1 mode on
# int f0/3
# switchport access vlan 10
SW2
# conf t
# line console 0
# logging synchronous
# no exec-timeout
# exit
划分vlan:
# vlan datebase
# vlan 10
# vlan 20
# exit
配置trunk链路:
# int f0/0
# switchport mode trunk
# int f0/1
# switchport mode trunk
# int f0/2
# switchport mode trunk
配置端口聚合:
# int f0/1
# channel-group 1 mode on
# int f0/2
# channel-group 1 mode on
将f0/3加入vlan20:
# int f0/3
# switchport access vlan 20
# exit
R1
# conf t
# line console 0
# logging synchronous
# no exec-timeout
# int f0/0
# no shutdowm
# exit
# int f0/0.10
# encapsulation dot1Q 10
# ip add 192.168.10.1 255.255.255.0
# int f0/0.20
# encapsulation dot1Q 20
# ip add 192.168.20.1 255.255.255.0
# int f0/0.10
# standby 10 ip 192.168.10.254 配置备份组10
# standby 10 priority 130 优先级 数字越大越优先,默认100
# standby 10 preempt 配置抢占
# int f0/0.20
# standby 20 ip 192.168.20.254 配置备份组20,虚拟ip
# exit
# show standby
R2
# conf t
# line console 0
# logging synchronous
# no exec-timeout
# int f0/0
# no shutdowm
# exit
# int f0/0.10
# encapsulation dot1Q 10
# ip add 192.168.10.2 255.255.255.0
# int f0/0.20
# encapsulation dot1Q 20
# ip add 192.168.20.2 255.255.255.0
# exit
# show ip rout
# int f0/0.10
# standby 10 ip 192.168.10.254
# int f0/0.20
# standby 20 ip 192.168.20.254
# standby 20 priority 130 配置优先级
# standby 20 preempt 配置抢占
# exit
# show standby
VRRP:(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种容错协议,通过物理设备和逻辑设备的分离,很好的实现了路由线路的备份功能! VRRP将局域网的一组路由器构成了一个备份组,相当于一台虚拟路由器, 局域网内的主机将自己的缺省路由下一跳设置为该虚拟路由器的IP地址. 网络中的主机通过这个虚拟路由器与其他网络进行通信.
VRRP工作原理:
虚拟路由器冗余协议(VRRP)是一种标准化协议,主要用于非cisco设备厂商。它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。 VRRP 包封装在 IP 包中发送。
在一个VRRP组内的多个路由器共用一个虚拟的物理地址和I P地址,该地址被作为局域网内所有主机的缺省网关地址。VRRP协议决定哪个路由器被激活,该被激活的路由器接收发过来的数据包并进行路由。组内的各路由器之间交换呼叫信号,如果当前路由器变得无法使用,备用路由器将进入激活状态,接管路由任务。
案例:
设备:华为路由器三台,交换机两台
实验要求:网络中vlan10子网用户通过R1路由器访问外网,vlan20子网用户通过R2访问外网。在R1和R2两台路由器上配置vrrp实现设备冗余,保证在其中一个路由器链路故障时,用户可以通过另一台路由器访问外网。
配置:
SW1
# dis cu
# system-view
配置vlan 并把端口加入vlan
# vlan 10
# vlan 20
# vlan 10
# port e1/0/10
# vlan 20
# port e1/0/20
配置trunk链路
# int e1/0/1
# port link-type trunk
# port trunk permit vlan all
# int e1/0/2
# port link-type trunk
# port trunk permit vlan all
# int e1/0/24
# port link-type trunk
# port trunk permit vlan all
配置端口聚合:
# int f0/1
# channel-group 1 mode on
# int f0/2
# channel-group 1 mode on
# dis link-aggregation summary
# dis int e1/0/1 查看端口情况
# dis vlan 10 查看vlan
SW2
# dis cu
# system-view
# vlan 10
# vlan 20
# vlan 10
# port e1/0/10
# vlan 20
# port e1/0/20
# int e1/0/1
# port link-type trunk
# port trunk permit vlan all
# int e1/0/2
# port link-type trunk
# port trunk permit vlan all
# int e1/0/24
# port link-type trunk
# # port trunk permit vlan all
配置端口聚合:
# int f0/1
# channel-group 1 mode on
# int f0/2
# channel-group 1 mode on
R1
# dis cu
# system-view
# vrrp ping-enable 设定虚拟IP地址可以使用ping命令ping通,必须先敲这条命令
# int e1.10
# vlan-type dot1q vid 10 相当于思科里的封装协议
# ip add 192.168.10.1 24
# vrrp vrid 10 virtual-ip 192.168.10.254
# vrrp vrid 10 priority 120 配置优先级
# vrrp vrid 10 track serial 0 reduce 30 跟踪,一旦广域网链路失效,优先级降低30
# int e1.20
# vlan-type dot1q vid 20
# ip add 192.168.20.1 24
# vrrp vrid 20 virtual-ip 192.168.20.254
# int s0
# ip add 10.1.1.1 30
# quit
# ip route 0.0.0.0 0 10.1.1.2
配置nat:
# acl 2000
# rule permit source any
# int s0
# nat outbound 2000 interface
R2
# dis cu
# system-view
# int e1.10
# vlan-type dot1q vid 10
# ip add 192.168.10.2 24
# int e1.20
# vlan-type dot1q vid 20
# ip add 192.168.20.2 24
# quit
# vrrp ping-enable
# int e1.10
# vrrp vrid 10 virtual-ip 192.168.10.254
# int e1.20
# vrrp vrid 20 virtual-ip 192.168.20.254
# vrrp vrid 20 priority 120 配置优先级(华为里默认抢占模式)
# vrrp vrid 20 track serial 1 reduce 30
# int s1
# ip add 10.2.1.1 30
# quit
# ip route 0.0.0.0 0 10.2.1.2
配置nat:
# acl 2000
# rule permit source any
# int s1
# nat outbound 2000 interface
# dis vrrp 查看vrrp状态
R3
# dis cu
# system-view
# int e0
# ip add 202.102.224.25 24
# loopback
# int s0
# ip add 10.1.1.2 30
# shutdowm
# undo shutdown
# int s1
# ip address 10.2.1.2 30
# shutdown
# undo shutdown
五 交换机 生成树协议
STP(生成树协议)是IEEE为了避免二层链路环路而提出来的技术,在解决二层环路的同时能提供链路冗余,STP适用于任何拓扑。STP的收敛时间较慢,通常是30秒,特殊情况下要到50秒,难以适应当前数据网络中业务的需要。 为了提高STP的收敛速度,IEEE提出了RSTP标准,即快速STP。
RSTP相对于STP,大大加快了收敛时间。 但是没有解决冗余链路利用率低的问题,在STP/RSTP中如果一个端口被阻断,那么该端口的链路事实上是被闲置了。
MSTP(多实例STP)的出现解决冗余链路利用率低的问题。MSTP中,一组VLAN使用一个STP实例,每个STP实例使用和RSTP相同的处理规则。在MSTP中,端口的阻塞是逻辑上的,只对某些STP实例进行阻塞,一个端口可能对一个STP实例阻塞,但对另一个STP实例是可以转发的。合理的使用MSTP,可以做到链路的负载分担。而且,因为映射到一个MSTP实例的VLAN可以灵活控制,并且引入了域的概念,使得MSTP在部署时有很好的扩展性。
案例
需求:
网络中所有设备都属于同一个MST域。SW1和SW2为汇聚层设备,SW3和SW4为接入层设备。
通过配置使不同VLAN 的报文按照不同的生成树转发:VLAN 10 20的报文沿实例1 转发,VLAN 30 40沿实例2 转发。配置实例1的根桥分为SW1 ,实例2 的根桥为SW2。
拓扑图:
配置步骤
配置SW1
# system-view
开启全局MSTP 特性
# stp enable 启动生成树协议
(华为设备默认开启mstp模式)
配置端口聚合:
# link-aggregation group 1 mode manual
# int e1/0/1 进入接口模式
# port link-aggregation group 1
# int e1/0/2
# port link-aggregation group 1
划分vlan:
# vlan 10
# vlan 20
# vlan 30
# vlan 40
配置trunk链路端口 并允许相应的VLAN通过:
# int e1/0/1
# port link-type trunk
# port trunk permit vlan all
# int e1/0/2
# port link-type trunk
# port trunk permit vlan all
# int e1/0/10
# port link-type trunk
# port trunk permit vlan all
# int e1/0/20
# port link-type trunk
# port trunk permit vlan all
进入 MST 域视图:
# stp region-configuration
配置MST 域的域名、VLAN 映射关系和修订级别:
# region-name zzdx 区域名称
# instance 1 vlan 10 to 20 映射
# instance 2 vlan 30 to 40
# check region-configuration 检测一下区域配置
# revision-level 1 改修订号
手工激活MST 域的配置:
# active region-configuration
# quit
定义SW1为实例1 的根桥:
# stp instance 1 root primary
配置SW2
# system-view
开启全局MSTP 特性
# stp enable 启动生成树协议
配置端口聚合:
# link-aggregation group 1 mode manual
# int e1/0/1 进入接口模式
# port link-aggregation group 1
# int e1/0/2
# port link-aggregation group 1
划分vlan:
# vlan 10
# vlan 20
# vlan 30
# vlan 40
配置trunk链路端口 并允许相应的VLAN通过:
# int e1/0/1
# port link-type trunk
# port trunk permit vlan all
# int e1/0/2
# port link-type trunk
# port trunk permit vlan all
# int e1/0/10
# port link-type trunk
# port trunk permit vlan all
# int e1/0/20
# port link-type trunk
# port trunk permit vlan all
进入 MST 域视图:
# stp region-configuration
配置MST 域的域名、VLAN 映射关系和修订级别:
# region-name zzdx 区域名称
# instance 1 vlan 10 to 20 映射
# instance 2 vlan 30 to 40
# check region-configuration 检测一下区域配置
# revision-level 1 改修订号
手工激活MST 域的配置:
# active region-configuration
# quit
定义SW1为实例2 的根桥:
# stp instance 2 root primary
配置SW3
# system-view
开启全局MSTP 特性
# stp enable 启动生成树协议
划分vlan:
# vlan 10
# vlan 20
配置trunk链路端口 并允许相应的VLAN通过:
# int e1/0/10
# port link-type trunk
# port trunk permit vlan all
# int e1/0/20
# port link-type trunk
# port trunk permit vlan all
进入 MST 域视图:
# stp region-configuration
配置MST 域的域名、VLAN 映射关系和修订级别:
# region-name zzdx 区域名称
# instance 1 vlan 10 to 20 映射
# instance 2 vlan 30 to 40
# check region-configuration 检测一下区域配置
# revision-level 1 改修订号
手工激活MST 域的配置:
# active region-configuration
# quit
配置SW4
# system-view
开启全局MSTP 特性
# stp enable 启动生成树协议
划分vlan:
# vlan 30
# vlan 40
配置trunk链路端口 并允许相应的VLAN通过:
# int e1/0/10
# port link-type trunk
# port trunk permit vlan all
# int e1/0/20
# port link-type trunk
# port trunk permit vlan all
进入 MST 域视图:
# stp region-configuration
配置MST 域的域名、VLAN 映射关系和修订级别:
# region-name zzdx 区域名称
# instance 1 vlan 10 to 20 映射
# instance 2 vlan 30 to 40
# check region-configuration 检测一下区域配置
# revision-level 1 改修订号
手工激活MST 域的配置:
# active region-configuration
# quit
检验配置效果
当网络拓扑稳定后,通过使用display stp brief 命令可以查看各设备上生成树的简要信息