一、适用环境
1、外网链路有防火墙Firewall出口,外网也有路由器Router出口。
2、用户量大需要多条外网链路负载均衡,多条链路也可以互为主备。
3、有ip专线网络(上下行对称)与拨号光纤(上下行非对称)网络配合使用。
4、当外网链路故障时用户感知不到链路故障,提升用户体验效果。
二、ip-link和healthcheck的工作原理
(一)ip-link的工作原理
1、ip-link的作用
IP-Link是指FW通过向指定的目的IP周期性地发送探测报文并等待应答,来判断链路是否发生故障。IP-Link主要用于业务链路正常与否的自动侦测,可以检测到与Firewall不直接相连的链路状态,保证业务持续通畅。
Firewall发送探测报文后,在三个探测周期(默认为15s)内未收到响应报文,则认为当前链路发生故障,IP-Link的状态变为Down。当链路从故障中恢复,Firewall能连续地收到3个响应报文(默认为15s),则认为链路故障已经消除,IP-Link的状态变为Up。
2、ip-link的应用场景联动方式
(1)ip-link与策略路由联动(本文实例)
(2)ip-link与静态路由联动(本文实例)
(3)ip-link与DHCP联动
(4)ip-link与双机热备联动
(二)healthcheck的工作原理
**1、healthcheck健康检查的作用:**在本端的华为设备上直接对物理链路探测,智能选路时对故障链路排除,流量切换到好的链路上,用于企业的边缘网络探测外网是否正常。
Firewall通过健康检查功能探测本端出接口到指定目的地址的链路健康状态,保证流量不会被转发到故障链路上。健康检查可以对服务可用性、链路可用性或链路时延进行探测,并根据探测结果调整业务流量的分配,为网络服务质量提供必要保障。
Firewall通过健康检查结果实时感知到网络中发生的变化,并立即作出相应地调整,保证所使用的服务器或链路是可用的,提高服务的稳定性和可靠性。当多个服务器或链路可用时,Firewall可以根据服务类型选择性能最优的服务器处理业务流量,或根据链路时延大小选择网络时延最小的链路传输业务流量,从而提高用户的使用体验。
2、healthcheck健康检查的应用场景
(1)充分利用链路资源
当Firewall拥有多个出接口时,通过智能选路功能可以使流量按照链路带宽、质量、权重或优先级动态地选择出接口。
(2)提高流量转发的可靠性
智能选路功能可以配合健康检查功能一起使用,保证流量不被转发到故障链路上。当健康检查的结果显示链路故障时,对应的接口链路将不再参与智能选路,流量也就避免被转发到故障链路上。当链路状态恢复正常时,对应的接口链路重新参与智能选路,并转发分配到的流量。
3、healthcheck健康检查的配置注意事项
(1)配置健康检查的协议和端口时,要确认对端是否放开了相应的协议和端口,否则检测必然失败。如果对端是网络设备,建议使用icmp协议。
(2)健康检查的探测报文受安全策略控制,请配置相应的安全策略,否则探测报文无法通过。
(3)配置健康检查后,需要保证探测报文和回应报文的路由可达。
三、本例提高网络的可靠性、可用性所采用的技术有:
(一)MSTP生成树协议的多实例,实现网络环路的切割,阻止广播风暴,多VLAN流量的负载均衡,二层网络链路的冗余。
(二)VRRP虚拟路由冗余协议,实现设备的冗余,当其中一台核心交换机宕机后,不会影响网络使用。
(三)Eth-trunk二层链路聚合,提升核心交换机之间LAN网内带宽的同时,也能负载均衡,还可实现核心交换机之间链路故障的冗余
(四)BFD三层链路检测技术,在两台三层设备之间进行链路的状态检测与静态路由联动,当其中一条链路故障或一台设备故障后,自动消除路由表中故障链路的路由,使数据包不从坏的链路转发,一般用于企业内部的2台具有BFD探测功能的网段;也可用企业边缘,如:华为企业级路由器的BFD单臂回声功能探测外网ip,但对方(如ISP)的设备未知是否有BFD功能的情况下,本例中的ENSP模拟器不做此功能配置。
(五)ip-link链路检测技术对未知目标的三层链路,用于企业网的边缘,可跨网段探测,与策略路由、静态路由等联动,用于企业网的边缘,如:对当地的DNS进行探测,达到企业网到达外网的连通性的测试。
(六)healcheck链路检测技术,直接在企业网络的边缘对ip城域网的物理链路进行探测,发现故障后切断故障链路的智能选路,自动切换到好的链路上。
四、本例拓扑图
五、配置过程(边配置边验证结果的正确性)
(一)配置MSTP+VRRP+Eth-trunk
思路:MSTP配置时vlan 10、vlan 20的流量从LSW1核心交换机走,对应实例instance 1,vlan 30、vlan 40的流量从LSW2核心交换机走,对应实例instance2。
VRRP配置要实现其中一台核心交换机故障后,网络仍然能正常运行,为确保用户端无故障感知,每个用户端的网关地址指向VRRP的virtual ip地址,当其中一台核心交换机设备故障后,用户也不需要修改终端的配置,同样能正常使用网络。
VRRP配置时,在LSW1上的vlan 10、vlan 20上配置优先级为120,分别为vrid 1与vrid 2,也配置vlan 30、vlan 40的优先级为80,分别为vrid 3与vrid 4,使vrid 1与vrid 2成为master,vrid 3与vrid 4成为backup。在LSW2上的vlan 10、vlan 20上配置优先级为80,分别为vrid 1与vrid 2;也配置vlan 30、vlan 40的优先级为120,分别为vrid 3与vrid 4,使vrid 1与vrid 2成为backup,vrid 3与vrid 4成为master。
配置Eth-trunk链路聚合时,主要实现核心交换机之间的流量负载均衡,即当不同vlan之间相互访问时,可能会有成百上千个vlan,流量会较大,实际物理环境中,可根据流量的大小,确定捆绑的链路数目,最大为8条。当捆绑的链路其中一条故障时,也不影响网络的正常运行,本例只捆绑了2条成为逻辑的1条。
1、配置MSTP与基础网络,实现生成树切割环路+VLAN网络流量的负载均衡
(1)LSW1上的配置
System-view #进入系统视图
sysname LSW1 #给交换机命名
vlan batch 10 20 30 40 100 #创建vlan 10、20、30、40用于业务,vlan 100
用于OSPF路由协议实现网络管理
stp instance 1 root primary #生成树协议实例1作为主根交换机
stp instance 2 root secondary #生成树协议实例2作为备份根交换机
stp region-configuration #配置MSTP多实例生成树协议
region-name MSTP1 #给MSTP生成树命名
revision-level 1 #配置MSTP生成树等级
instance 1 vlan 10 20 #配置MSTP的实例1包含vlan 10、20
instance 2 vlan 30 40 #配置MSTP的实例2包含vlan 30、40
active region-configuration #激活以上MSTP生成树配置
interface Vlanif100 #配置管理vlan 100
ip address 10.0.6.6 255.255.255.0 #给vlan 100配置ip地址
interface GigabitEthernet0/0/1 #配置G0/0/1接口
port link-type access #配置G0/0/1接口的工作模式为access
port default vlan 100 #配置G0/0/1接口允许通过的是vlan 100
interface GigabitEthernet0/0/2 #配置G0/0/2接口
port link-type trunk #配置G0/0/2接口的工作模式为干道trunk
port trunk allow-pass vlan 10 20 #配置G0/0/2接口允许通过的是vlan 10、20
interface GigabitEthernet0/0/3 #配置G0/0/3接口
port link-type trunk #配置G0/0/3接口的工作模式为干道trunk
port trunk allow-pass vlan 30 40 #配置G0/0/3接口允许通过的是vlan 30、40
(2)LSW2上的配置
System-view #进入系统视图
sysname LSW2 #给交换机命名
vlan batch 10 20 30 40 100 #创建vlan 10、20、30、40用于业务,管理vlan
100用于OSPF路由协议实现网络管理
stp instance 1 root secondary #生成树协议实例1作为备份根交换机
stp instance 2 root primary #生成树协议实例2作为主根交换机
interface Vlanif100 #配置管理vlan 100
ip address 10.0.5.5 255.255.255.0 #给vlan 100配置ip地址
interface GigabitEthernet0/0/1 #配置G0/0/1接口
port link-type access #配置G0/0/1接口的工作模式为access
port default vlan 100 #配置G0/0/1接口允许通过的是vlan 100
interface GigabitEthernet0/0/2 #配置G0/0/2接口
port link-type trunk #配置G0/0/2接口的工作模式为干道trunk
port trunk allow-pass vlan 10 20 #配置G0/0/2接口允许通过的是vlan 10、20
interface GigabitEthernet0/0/3 #配置G0/0/3接口
port link-type trunk #配置G0/0/3接口的工作模式为干道trunk
port trunk allow-pass vlan 30 40 #配置G0/0/3接口允许通过的是vlan 30、40
stp region-configuration #配置MSTP多实例生成树协议
region-name MSTP1 #给MSTP生成树命名
revision-level 1 #配置MSTP生成树等级
instance 1 vlan 10 20 #配置MSTP的实例1包含vlan 10、20
instance 2 vlan 30 40 #配置MSTP的实例2包含vlan 30、40
active region-configuration #激活以上MSTP生成树配置
(3)LSW3上的配置
System-view #进入系统视图
sysname LSW3 #给交换机命名
vlan batch 10 20 #创建业务vlan 10、20
interface Ethernet0/0/1 #配置E0/0/1接口
port link-type access #配置E0/0/1接口的工作模式为access
port default vlan 10 #配置E0/0/1接口允许通过的是业务vlan 10
interface Ethernet0/0/2 #配置E0/0/2接口
port link-type access #配置E0/0/2接口的工作模式为access
port default vlan 20 #配置E0/0/2接口允许通过的是业务vlan 20
interface GigabitEthernet0/0/1 #配置G0/0/1接口
port link-type trunk #配置G0/0/1接口的工作模式为干道trunk
port trunk allow-pass vlan 10 20 #配置G0/0/1接口允许通过业务vlan 10、20
interface GigabitEthernet0/0/2 #配置G0/0/2接口
port link-type trunk #配置G0/0/2接口的工作模式为干道trunk
port trunk allow-pass vlan 10 20 #配置G0/0/2接口允许通过业务vlan 10、20
stp region-configuration #配置MSTP多实例生成树协议
region-name MSTP1 #给MSTP生成树命名
revision-level 1 #配置MSTP生成树等级
instance 1 vlan 10 20 #配置MSTP的实例1包含vlan 10、20
instance 2 vlan 30 40 #配置MSTP的实例2包含vlan 30、40
active region-configuration #激活以上MSTP生成树配置
(4)LSW4上的配置
System-view #进入系统视图
sysname LSW4 #给交换机命名
vlan batch 30 40 #创建业务vlan 30、40
interface Ethernet0/0/1 #配置E0/0/1接口
port link-type access #配置E0/0/1接口的工作模式为access
port default vlan 30 #配置E0/0/1接口允许通过的是业务vlan 30
interface Ethernet0/0/2 #配置E0/0/2接口
port link-type access #配置E0/0/1接口的工作模式为access
port default vlan 40 #配置E0/0/1接口允许通过的是业务vlan 40
interface GigabitEthernet0/0/1 #配置G0/0/1接口
port link-type trunk #配置G0/0/1接口的工作模式为干道trunk
port trunk allow-pass vlan 30 40 #配置G0/0/1接口允许通过业务vlan 30、40
interface GigabitEthernet0/0/2 #配置G0/0/2接口
port link-type trunk #配置G0/0/2接口的工作模式为干道trunk
port trunk allow-pass vlan 30 40 #配置G0/0/2接口允许通过业务vlan 30、40
stp region-configuration #配置MSTP多实例生成树协议
region-name MSTP1 #给MSTP生成树命名
revision-level 1 #配置MSTP生成树等级
instance 1 vlan 10 20 #配置MSTP的实例1包含vlan 10、20
instance 2 vlan 30 40 #配置MSTP的实例2包含vlan 30、40
active region-configuration #激活以上MSTP生成树配置
(5)验证MSTP的正确性
从LSW3上使用display stp brief命令查看生成树协议的工作状态与端口角色,root根端口是forwarding转发状态,ALTE替代端口是discarding阻塞状态,切割了网络环路的同时,还实现了vlan 10 vlan 20经LSW3有G0/0/1端口转发到LSW1,如下图:
下图从LSW4上使用display stp brief命令查看生成树协议的工作状态与端口角色,如下图:
下图在LSW3的G0/0/1端口抓包分析,看PC1或client 1用ping ISP1的11.11.11.11测试时,有icmp包的流量从G0/0/1端口通过,说明实现了vlan 10、vlan 20按预定的计划从LSW1走的流量,如下图:
同理,上图中LSW3的G0/0/1作为主根端口进行业务vlan 10、vlan 20的数据转发经过LSW1到三层网络,若LSW1整台设备故障时,LSW3的G0/0/2从替代端口角色变为根端口,此时LSW2可以接管vlan 10、vlan 20的业务数据进行转发,不会导致业务网络中断。
下图在LSW4的G0/0/2端口抓包,同样可以看出,PC2与client 2的流量从这个端口转发到LSW2,实现了vlan 30、vlan 40的网络流量从预定的计划走LSW2通过,不会与占用LSW1的带宽。实现了主备链路的冗余。
2、配置VRRP冗余路由网关协议,实现核心交换机的主备+负载均衡
(1)LSW1上的配置(主转发vlan 10、20,当LSW2故障后,接管vlan 30、40)
System-view #进入系统视图
interface Vlanif10 #配置业务vlan 10
ip address 192.168.10.253 255.255.255.0 #给业务vlan 10配置ip地址
vrrp vrid 1 virtual-ip 192.168.10.254 #给vrrp配置虚拟ip,给用户终端作网关ip
vrrp vrid 1 priority 120 #配置vrrp的优先级120,成为master
interface Vlanif20 #配置业务vlan 20
ip address 192.168.20.253 255.255.255.0 #给业务vlan 20配置ip地址
vrrp vrid 2 virtual-ip 192.168.20.254 #给vrrp配置虚拟ip,给用户终端作网关ip
vrrp vrid 2 priority 120 #配置vrrp的优先级120,成为master
interface Vlanif30 #配置业务vlan 30
ip address 192.168.30.253 255.255.255.0 #给业务vlan 30配置ip地址
vrrp vrid 3 virtual-ip 192.168.30.254 #给vrrp配置虚拟ip,给用户终端作网关ip
vrrp vrid 3 priority 80 #配置vrrp的优先级80,成为backup
interface Vlanif40 #配置业务vlan 40
ip address 192.168.40.253 255.255.255.0 #给业务vlan 40配置ip地址
vrrp vrid 4 virtual-ip 192.168.40.254 #给vrrp配置虚拟ip,给用户终端作网关ip
vrrp vrid 4 priority 80 #配置vrrp的优先级80,成为backup
(2)LSW2上的配置(主转发vlan 30、40,当LSW1故障后,接管vlan 10、20)
System-view #进入系统视图
interface Vlanif10 #配置业务vlan 10
ip address 192.168.10.252 255.255.255.0 #给业务vlan 10配置ip地址
vrrp vrid 1 virtual-ip 192.168.10.254 #给vrrp配置虚拟ip,给用户终端作网关ip
vrrp vrid 1 priority 80 #配置vrrp的优先级80,成为backup
interface Vlanif20 #配置业务vlan 20
ip address 192.168.20.252 255.255.255.0 #给业务vlan 20配置ip地址
vrrp vrid 2 virtual-ip 192.168.20.254 给vrrp配置虚拟ip,给用户终端作网关ip#
vrrp vrid 2 priority 80 #配置vrrp的优先级80,成为backup
interface Vlanif30 #配置业务vlan 30
ip address 192.168.30.252 255.255.255.0 #给业务vlan 30配置ip地址
vrrp vrid 3 virtual-ip 192.168.30.254 #给vrrp配置虚拟ip,给用户终端作网关ip
vrrp vrid 3 priority 120 #配置vrrp的优先级120,成为master
interface Vlanif40 #配置业务vlan 40
ip address 192.168.40.252 255.255.255.0 #给业务vlan 40配置ip地址
vrrp vrid 4 virtual-ip 192.168.40.254 #给vrrp配置虚拟ip,给用户终端作网关ip
vrrp vrid 4 priority 120 #配置vrrp的优先级120,成为master
(3)验证VRRP的主备,使用display vrrp查看结果如下图:
3、配置Eth-trunk链路聚合,实现双核心交换机之间的流量负载均衡+互为备份
(1)LSW1上的配置:
System-view #进入系统视图
interface Eth-Trunk1 #创建链路聚合Eth-Trunk1
port link-type trunk #配置聚合组为干道trunk模式
port trunk allow-pass vlan 10 20 30 40 #配置聚合组允许通过的vlan10、20、30、40
trunkport G0/0/4 #将G0/0/4接口加入到链路聚合组
trunkport G0/0/5 #将G0/0/5接口加入到链路聚合组
(2)LSW2上的配置:
System-view #进入系统视图
interface Eth-Trunk1 #创建链路聚合Eth-Trunk1
port link-type trunk #配置聚合组为干道trunk模式
port trunk allow-pass vlan 10 20 30 40 #配置聚合组允许通过的vlan10、20、30、40
trunkport G0/0/4 #将G0/0/4接口加入到链路聚合组
trunkport G0/0/5 #将G0/0/5接口加入到链路聚合组
(3)查看Eth-trunk链路聚合
LSW1核心交换机上的Eth-trunk链路聚合后,捆绑的成员端口G0/0/4与G0/0/5都是UP状态,已经开始正常工作,如下图:
LSW2核心交换机上的Eth-trunk链路聚合,捆绑的成员端口G0/0/4与G0/0/5都是UP状态,已经开始正常工作,如下图:
(二)firewall划分区域+域间安全策略
1、防火墙firewall划分区域
(1)FW1上的配置:
System-view #进入系统视图
sysname Firewall #给防火墙命名
firewall zone trust #配置信任区域trust
set priority 85 #设置信任区的优先级为85
add interface GigabitEthernet0/0/0 #将G0/0/0接口加入到信任区域trust
add interface GigabitEthernet1/0/0 #将G1/0/0接口加入到信任区域trust
add interface GigabitEthernet1/0/1 #将G1/0/1接口加入到信任区域trust
firewall zone untrust #配置非信任区域untrust
set priority 5 #设置非信任区的优先级为5
add interface GigabitEthernet1/0/2 #将G1/0/2接口加入到非信任区域untrust
add interface GigabitEthernet1/0/3 #将G1/0/3接口加入到非信任区域untrust
add interface GigabitEthernet1/0/4 #将G1/0/4接口加入到非信任区域untrust
firewall zone dmz #配置非军事区域dmz
set priority 50 #设置非军事区的优先级为50
add interface GigabitEthernet1/0/5 #将G1/0/5接口加入到非军事区域dmz
2、查看防火墙的各区域
**(1)配置clound,**cloud主要实现物理PC的浏览器与ENSP模拟器中的防火墙相连接,让cloud使用virtual box的其中一张虚拟网卡,连接cloud与防火墙,即可实现从物理机打开浏览器访问ENSP中的防火墙
(2)FW1上的配置如下:
interface GigabitEthernet0/0/0 #配置G0/0/0接口(该接口为防火墙的管理口)
undo shutdown #开启接口
ip binding vpn-instance default #缺省指令,可不用输入
ip address 192.168.96.100 255.255.255.0 #配置接口G0/0/0的ip地址与子网掩码
alias GE0/METH #缺省指令,可不用输入,给接口取别名
service-manage https permit #开启防火墙G0/0/0接口的https访问
service-manage ping permit #开启防火墙G0/0/0接口的ping访问
(3)在浏览器上输入地址:
https://192.168.96.100:8443
进入登录界面,输入防火墙的用户名和密码,登录
3、防火墙firewall配置域间安全策略
(1)FW1上的配置:
System-view #进入系统视图
security-policy #配置防火墙的安全策略
rule name trust_untrust #给策略命名为trust到untrust的访问
source-zone trust #源区域配置为trust信任区域
destination-zone untrust #目的区域配置为untrust非信任区域
action permit #配置动作为允许
rule name untrust_trust #给策略命名为untrust到trust的访问
source-zone untrust #源区域配置为untrust非信任区域
destination-zone trust #目的区域配置为trust信任区域
action permit #配置动作为允许
rule name trust_dmz #给策略命名为trust到dmz的访问
source-zone trust #源区域配置为trust信任区域
destination-zone dmz #目的区域配置为dmz非军事区域
action permit #配置动作为允许
rule name dmz_trust #给策略命名为dmz到trust的访问
source-zone dmz #源区域配置为dmz非军事区域
destination-zone trust #目的区域配置为trust信任区域
action permit #配置动作为允许
rule name untrust_dmz #给策略命名为untrust到dmz的访问
source-zone untrust #源区域配置为untrust非信任区域
destination-zone dmz #目的区域配置为dmz非军事区域
action permit #配置动作为允许
rule name dmz_untrust #给策略命名为dmz到untrust的访问
source-zone dmz #源区域配置为dmz非军事区域
destination-zone untrust #目的区域配置为untrust非信任区域
action permit #配置动作为允许
rule name untrust_local #给策略命名为untrust到local的访问
source-zone untrust #源区域配置为untrust非信任区域
destination-zone local #目的区域配置为local本地区域
action permit #配置动作为允许
rule name local_untrust #给策略命名为local到untrust的访问
source-zone local #源区域配置为local本地区域
destination-zone untrust #目的区域配置为untrust非信任区域
action permit #配置动作为允许
(2)验证安全策略内网trust-到外网untrust的连通性,从PC2到ISP2的22.22.22.22/32,验证安全策略内网trust-到外网untrust的连通性能正常ping通,说明安全策略已经生效,如下图
(3)验证安全策略内网trust到DMZ区域的FTP服务器连通性
先配置FTP server,给服务器配置好ip地址172.16.1.1 255.255.255.0与网关172.16.1.254然后,配置文件目录,并启动服务,如下图:
(4)从Client 2(trust区域)访问server 1(DMZ区域),通的话能正常看到FTP服务器共享的文件,如下图:(其余区域请自行测试)
(三)DMZ服务器区域的配置
1、配置LSW5的基础网络
System-view #进入系统视图
sysname LSW5 #给交换机命名
vlan batch 100 172 #创建三层OSPF的vlan 100,业务vlan 172
interface Vlanif100 #配置用于ospf协议的vlan 100
ip address 10.0.4.4 255.255.255.0 #给vlan 100配置ip地址
interface Vlanif172 #配置业务vlan 172
ip address 172.16.1.254 255.255.255.0 #给vlan 172配置ip地址
interface GigabitEthernet0/0/1 #配置G0/0/1接口
port link-type access #配置G0/0/1接口为access模式
port default vlan 100 #配置G0/0/1接口允许通过的vlan 100
interface GigabitEthernet0/0/2 #配置G0/0/2接口
port link-type access #配置G0/0/2接口为access模式
port default vlan 172 #配置G0/0/2接口允许通过的vlan 172
interface GigabitEthernet0/0/3 #配置G0/0/3接口
port link-type access #配置G0/0/3接口为access模式
port default vlan 172 #配置G0/0/3接口允许通过的业务vlan 172
2、配置LSW5的OSPF路由协议
System-view #进入系统视图
ospf 1 router-id 4.4.4.4 #配置ospf路由协议,指定区分其他路由器的
router-id
area 0.0.0.0 #配置骨干区域0.0.0.0
network 10.0.4.0 0.0.0.255 #宣告用于OSPF路由协议的网络
area 0.0.0.2 #配置骨干区域0.0.0.2
network 172.16.1.0 0.0.0.255 #宣告用于服务器的网络
stub #将区域2配置为stub,精简ospf路由表
配置完成后注意查看一下OSPF路由协议的邻居、邻接状态,为full即OSPF协议与邻居之间建立好了邻接关系,才可以相互之间学习、计算、传递所产生的路由信息。
1、邻居:在OSPF协议中邻居关系就是指在两台三层设备中进行完两次Hello报文交互之后,建立起来的关系叫邻居关系。该关系在OSPF状态机里显示的是2-way的状态。
2、邻接:在OSPF协议中邻接关系就是指在两台路由器中进行完链路状态数据库(LSDB)同步之后,建立起来的关系叫邻接关系。该关系在OSPF状态机里显示的是Full的状态。
3、验证HTTP服务的正确性
(1)在http server2上完成如下图的基础设置
2、使用client 1访问http server2,出现保存default.htm的提示,说明,可以正常访问http的WEB服务了,如下图:
(四)配置路由协议
防火墙的内网使用OSPF协议,骨干使用Area 0,PC1、client1、PC2、client2使用Area 1并开启stub,服务器区域骨干使用Area 0,服务器使用Area 2开启stub,减少ospf的路由条目传递,提升网络性能
1、LSW1上配置OSPF路由协议:
System-view #进入系统视图
ospf 1 router-id 2.2.2.2 #配置OSPF协议的router-id
area 0.0.0.0 #配置OSPF骨干区域0
network 10.0.6.0 0.0.0.255 #宣告管理网络范围
area 0.0.0.1 #配置OSPF区域0.0.0.1
network 192.168.10.0 0.0.0.255 #宣告vlan 10的业务网络
network 192.168.20.0 0.0.0.255 #宣告vlan 20的业务网络
network 192.168.30.0 0.0.0.255 #宣告vlan 30的业务网络
network 192.168.40.0 0.0.0.255 #宣告vlan 40的业务网络
stub #将区域0配置为末梢区域,减少路由条目,提升性能
2、LSW2上配置OSPF路由协议:
ospf 1 router-id 3.3.3.3 #配置OSPF协议的router-id
area 0.0.0.0 #配置OSPF骨干区域0
network 10.0.5.0 0.0.0.255 #宣告管理网络范围
area 0.0.0.1 #配置OSPF区域0.0.0.1
network 192.168.10.0 0.0.0.255 #宣告vlan 10的业务网络
network 192.168.20.0 0.0.0.255 #宣告vlan 20的业务网络
network 192.168.30.0 0.0.0.255 #宣告vlan 30的业务网络
network 192.168.40.0 0.0.0.255 #宣告vlan 40的业务网络
stub #将区域0配置为末梢区域,减少路由条目,提升性能
3、LSW5上配置OSPF路由协议:
ospf 1 router-id 4.4.4.4 #配置OSPF协议的router-id
area 0.0.0.0 #配置OSPF骨干区域0
network 10.0.4.0 0.0.0.255 #宣告管理网络范围
area 0.0.0.2 #配置OSPF区域0.0.0.2
network 172.16.1.0 0.0.0.255 #宣告vlan 172的业务网络
stub #将区域0配置为末梢区域,减少路由条目,提升性能
4、防火墙上配置OSPF路由协议:
ospf 1 router-id 1.1.1.1 #配置OSPF协议的router-id
import-route static #引入缺省静态路由,因为ISP的路由信息未知
area 0.0.0.0 #配置OSPF骨干区域0
network 10.0.1.0 0.0.0.255 #宣告到ISP1的管理网络
network 10.0.2.0 0.0.0.255 #宣告到ISP2的管理网络
network 10.0.3.0 0.0.0.255 #宣告到ISP3的管理网络
network 10.0.4.0 0.0.0.255 #宣告到dmz服务器区的管理网络
network 10.0.5.0 0.0.0.255 #宣告到核心交换机LSW2的管理网络
network 10.0.6.0 0.0.0.255 #宣告到核心交换机LSW1的管理网络
5、验证OSPF路由协议的邻居与邻接状态
1、查看防火墙上的邻居与邻接,防火墙是连接所有三层网络的设备,所以我们在FW上验证OSPF的邻居与邻接状态,如下图:
6、查看防火墙上的OSPF的路由表
dis ip routing-table
2023-05-26 10:37:01.460
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 27 Routes : 31
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 D 10.0.1.2 GigabitEthernet1/0/2
10.0.1.0/24 Direct 0 0 D 10.0.1.1 GigabitEthernet1/0/2
10.0.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/2
10.0.2.0/24 Direct 0 0 D 10.0.2.1 GigabitEthernet1/0/3
10.0.2.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/3
10.0.3.0/24 Direct 0 0 D 10.0.3.1 GigabitEthernet1/0/4
10.0.3.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/4
10.0.4.0/24 Direct 0 0 D 10.0.4.1 GigabitEthernet1/0/5
10.0.4.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/5
10.0.5.0/24 Direct 0 0 D 10.0.5.1 GigabitEthernet1/0/1
10.0.5.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/1
10.0.6.0/24 Direct 0 0 D 10.0.6.1 GigabitEthernet1/0/0
10.0.6.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/0
11.11.11.11/32 Static 60 0 D 10.0.1.2 GigabitEthernet1/0/2
22.22.22.22/32 Static 60 0 D 10.0.2.2 GigabitEthernet1/0/3
33.33.33.33/32 Static 60 0 D 10.0.3.3 GigabitEthernet1/0/4
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 OSPF 10 2 D 10.0.4.4 GigabitEthernet1/0/5
192.168.10.0/24 OSPF 10 2 D 10.0.5.5 GigabitEthernet1/0/1
OSPF 10 2 D 10.0.6.6 GigabitEthernet1/0/0
192.168.10.254/32 OSPF 10 2 D 10.0.6.6 GigabitEthernet1/0/0
192.168.20.0/24 OSPF 10 2 D 10.0.5.5 GigabitEthernet1/0/1
OSPF 10 2 D 10.0.6.6 GigabitEthernet1/0/0
192.168.20.254/32 OSPF 10 2 D 10.0.6.6 GigabitEthernet1/0/0
192.168.30.0/24 OSPF 10 2 D 10.0.5.5 GigabitEthernet1/0/1
OSPF 10 2 D 10.0.6.6 GigabitEthernet1/0/0
192.168.30.254/32 OSPF 10 2 D 10.0.5.5GigabitEthernet1/0/1
192.168.40.0/24 OSPF 10 2 D 10.0.5.5 GigabitEthernet1/0/1
OSPF 10 2 D 10.0.6.6 GigabitEthernet1/0/0
192.168.40.254/32 OSPF 10 2 D 10.0.5.5 GigabitEthernet1/0/1
(五)防火墙的3条外网配置
防火墙的3条外网配置,ip城域网使用静态缺省路由;拨号光纤采用dailer拨号的pppoe方式,至此全网通。
1、配置防火墙
(1)配置防火墙的3个接口
interface GigabitEthernet1/0/2 #配置防火墙的G1/0/2接口
undo shutdown #开启接口
ip address 10.0.1.1 255.255.255.0 #配置接口的ip地址和子网掩码
alias ISP1 #给物理接口取别名
gateway 10.0.1.2 #配置接口的网关ip,指向ISP1的路由器
service-manage ping permit #开启接口的ping服务
bandwidth ingress 100000 threshold 90 #配置接口的输入带宽与超载阈值
bandwidth egress 100000 threshold 90 #配置接口的输出带宽与超载阈值
redirect-reverse next-hop 10.0.1.2 #指定接口的下一跳ip
interface GigabitEthernet1/0/3 #配置防火墙的G1/0/3接口
undo shutdown #开启接口
ip address 10.0.2.1 255.255.255.0 #配置接口的ip地址和子网掩码
alias ISP2 #给物理接口取别名
gateway 10.0.2.2 #配置接口的网关ip,指向ISP2拨号的路由器
service-manage ping permit #开启接口的ping服务
bandwidth ingress 100000 threshold 90 #配置接口的输入带宽与超载阈值
bandwidth egress 10000 threshold 90 #配置接口的输出带宽与超载阈值
redirect-reverse next-hop 10.0.2.2 #指定接口的下一跳ip
interface GigabitEthernet1/0/4 #配置防火墙的G1/0/4接口
undo shutdown #开启接口
ip address 10.0.3.1 255.255.255.0 #配置接口的ip地址和子网掩码
alias ISP3 #给物理接口取别名
gateway 10.0.3.3 #配置接口的网关ip,指向ISP3的路由器
service-manage ping permit #开启接口的ping服务
redirect-reverse next-hop 10.0.3.3 #配置接口的输入带宽与超载阈值
ospf 1 router-id 1.1.1.1 #配置接口的输出带宽与超载阈值
import-route static #指定接口的下一跳ip
(2)配置防火墙的静态路由
ip route-static 0.0.0.0 0.0.0.0 192.168.96.1 #配置到物理主机的缺省路由
ip route-static 0.0.0.0 0.0.0.0 10.0.1.2 #配置到拨号路由器的缺省路由
ip route-static 11.11.11.11 255.255.255.255 10.0.1.2 #配置到ISP1外部网络的静态路由
ip route-static 22.22.22.22 255.255.255.255 10.0.2.2 #配置到ISP2外部网络的静态路由
ip route-static 33.33.33.33 255.255.255.255 10.0.3.3 #配置到ISP3外部网络的静态路由
2、配置AR1与AR3的ip城域网路由
(1)配置AR1的ip城域网路由
sysname AR1 #给路由器命名
interface GigabitEthernet0/0/1 #配置接口G0/0/1
ip address 10.0.1.2 255.255.255.0 #给接口G0/0/1配置ip地址与子网掩码
interface LoopBack0 #配置环回接口0(用于模拟ISP1之外的网络)
ip address 11.11.11.11 255.255.255.255 #给环回接口配置ip地址与子网掩码
ip route-static 192.168.0.0 255.255.0.0 10.0.1.1 #配置从内网到防火墙达ISP1的静态路由
(2)配置AR3的ip城域网路由
sysname AR3 #给路由器命名
interface GigabitEthernet0/0/1 #配置接口G0/0/1
ip address 10.0.3.3 255.255.255.0 #给接口G0/0/1配置ip地址与子网掩码
interface LoopBack0 #配置环回接口0(用于模拟ISP1之外的网络)
ip address 33.33.33.33 255.255.255.255 #给环回接口配置ip地址与子网掩码
ip route-static 192.168.0.0 255.255.0.0 10.0.3.1 #配置从内网到防火墙达ISP3的静态路由
3、配置AR2到AR4的PPPOE拨号网络
(1)配置AR4的PPPOE server
System-view #进入系统视图
Sysname ISP_AR4 #给路由器命名
dhcp enable #开启DHCP服务(用于给拨号的路由器用户分配ip地址)
ip pool 1 #创建DHCP地址池
gateway-list 1.1.1.1 #指定拨号网络的网关ip
network 1.1.1.0 mask 255.255.255.0 #配置拨号网络的DHCP范围
aaa #配置认证、授权、计费
local-user user2@system password cipher a1234567 #创建用户user2@system指定密码
local-user user2@system privilege level 0 #配置用户user2@system权限等级
local-user user2@system service-type ppp #配置用户user2@system类型为ppp
interface Virtual-Template0 #创建虚拟拨号0
ppp authentication-mode chap #配置ppp协议认证的方式为chap协商
remote address pool 1 #配置远端拨号获取的ip地址是pool 1池中的ip地址
ip address 1.1.1.1 255.255.255.0 #配置本server端的ip地址与子网掩码
interface GigabitEthernet0/0/1 #配置G0/0/1接口
pppoe-server bind Virtual-Template 0 #配置pppoe服务器绑定虚拟拨号0
interface LoopBack0 #配置环回接口0(模拟ISP2之外的网络)
ip address 22.22.22.22 255.255.255.255 #配置环回接口的ip地址与子网掩码
ip route-static 0.0.0.0 0.0.0.0 Virtual-Template0 #配置虚拟拨号的缺省路由
(2)配置AR2的PPPOE client
System-view #进入系统视图
sysname AR2 #给路由器命名
acl number 2000 #配置ACL访问控制列表(用于允许内网)
rule 5 permit source 10.0.2.0 0.0.0.255 #配置访问条目5,允许10.0.2.0/24网络
rule 6 permit source 192.168.0.0 0.0.255.255 #配置访问条目5,允许192.168.0.0/16网络
interface Dialer16 #配置拨号网络客户端16
link-protocol ppp #配置连接的协议采用ppp
ppp ipcp default-route #自动在本地产生一条出接口是dialer16接口的默认路由
ppp chap user user2@system #配置chap认证的用户名
ppp chap password cipher %
%
r’1aXQFEv)Bc<}NSf)mB,2Gy%
%
#配置chap认证的密码
mtu 1492 #配置最大单个数据包传输单元是1492字节
ip address ppp-negotiate #地址采用PPP协商的方式
dialer user user2@system #配置拨号的用户名
dialer bundle 100 #配置dialer 16与bundle 100编号绑定,便于调用
dialer-group 100 #配置接口所属的拨号访问组为100
nat outbound 2000 #向外nat时调用ACL 2000中允许的网络
interface GigabitEthernet0/0/1 #配置G0/0/1接口
ip address 10.0.2.2 255.255.255.0 #给G0/0/1接口配置IP地址与子网掩码
interface GigabitEthernet0/0/2 #配置G0/0/2接口
pppoe-client dial-bundle-number 100 #pppoe客户端拨号时采用编号为100为虚拟拨号组
dialer-rule #配置拨号的规则
dialer-rule 100 ip permit #拨号规则100允许ip网络拨号
ip route-static 0.0.0.0 0.0.0.0 Dialer16 #配置到dialer 16的缺省路由
ip route-static 10.0.0.0 255.255.0.0 10.0.2.1 #配置10.0.0.0/16到拨号路由器的静态路由
ip route-static 192.168.0.0 255.255.0.0 GigabitEthernet0/0/1 10.0.2.1 #配置内网到拨号路由器的静态路由
(3)在AR2上验证pppoe拨号的结果正确
display interface Dialer 16 #显示dialer 16的信息
Dialer16 current state : UP #当前拨号状态为up启用
Line protocol current state : UP (spoofing) #当前协议状态为up启用
Description:HUAWEI, AR Series, Dialer16 Interface
Route Port,The Maximum Transmit Unit is 1492, Hold timer is 10(sec)
Internet Address is negotiated, 1.1.1.254/32 #拨号客户端从pppoe-server获取到的ip
Link layer protocol is PPP #链接层的协议是ppp
LCP initial
Physical is Dialer
Current system time: 2023-05-26 19:12:30-08:00
Last 300 seconds input rate 0 bits/sec, 0 packets/sec
Last 300 seconds output rate 0 bits/sec, 0 packets/sec
Realtime 0 seconds input rate 0 bits/sec, 0 packets/sec
Realtime 0 seconds output rate 0 bits/sec, 0 packets/sec
Input: 0 bytes
Output:0 bytes
Input bandwidth utilization : 0%
Output bandwidth utilization : 0%
Bound to Dialer16:0:
Dialer16:0 current state : UP , #虚拟拨号16当前状态为UP启用
Line protocol current state : UP #当前协议状态为up启用
Link layer protocol is PPP #连接的协议是ppp
LCP opened, IPCP opened #LCP开启,IPCP开启
Packets statistics:
Input packets:0, 0 bytes
Output packets:0, 0 bytes
FCS error packets:0
Address error packets:0
Control field control error packets:0
(4)在AR4上查看PPPOE server的状态已经UP
<ISP_AR4>display pppoe-server session all #查看PPPOE-server的所有会话
SID Intf State OIntf RemMAC LocMAC
1 Virtual-Template0:0 UP GE0/0/1 00e0.fcc2.15b1 00e0.fcd5.6a1d
(六)配置bfd、ip-link与静态路由绑定,healthcheck对物理链路进行检查,当遇故障时,自动删除对应的路由条目与策略路由条目,确保流量从好的链路通过
1、配置BFD链路检测及调用
(1)防火墙配置BFD,与AR1和AR3进行外网链路的检测
System-view #进入系统视图
Bfd #开启BFD检测功能
ip address-set nei_lan type object #配置对象nei_lan(用于nat时对它进行调用)
address 0 192.168.0.0 mask 16 #指定nei_lan的ip地址范围
time-range worktime #配置对象worktime(工作时间,用于对工作时间进行调用)
period-range 08:00:00 to 18:00:00 working-day #指定具体开始与结束的时间点
bfd 1 bind peer-ip 10.0.1.2 source-ip 10.0.1.1 #配置bfd会话1,绑定目标ip,指定本端源ip地址,用于建立防火墙与ISP1之间的BFD探测会话
discriminator local 10 #指定本端标识为10
discriminator remote 20 #指定对端标识为20
commit #立即执行
bfd 2 bind peer-ip 10.0.3.3 interface GigabitEthernet1/0/4 source-ip 10.0.3.1 #配置bfd会话2,绑定目标ip,指定本端端口与源ip地址,用于建立防火墙与ISP3之间的BFD探测会话
discriminator local 30 #指定本端标识为30
discriminator remote 40 #指定对端标识为40
commit #立即执行
(2)AR1配置BFD,与防火墙对接的外网链路进行检测
System-view #进入系统视图
Bfd #开启BFD检测功能
bfd 1 bind peer-ip 10.0.1.1 source-ip 10.0.1.2 #配置bfd会话1,绑定目标ip,指定本端源ip地址,用于建立ISP1与防火墙之间的BFD探测会话
discriminator local 20 #指定本端标识为20
discriminator remote 10 #指定对端标识为10
commit #立即执行
(3)AR3配置BFD,与防火墙对接的外网链路进行检测
System-view #进入系统视图
Bfd #开启BFD检测功能
bfd 2 bind peer-ip 10.0.3.1 interface GigabitEthernet0/0/1 source-ip 10.0.3.3 #配置bfd会话2,绑定目标ip,指定本端端口与源ip地址,用于建立ISP3与防火墙之间的BFD探测会话
discriminator local 40 #指定本端标识为40
discriminator remote 30 #指定对端标识为30
commit #立即执行
(4)验证防火墙上的BFD 1会话与BFD 2会话正常进行的状态,状态为UP即说明防火墙与AR1、AR3正常连接中。
dis bfd session all
2023-05-26 11:26:01.880 ---------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
10 20 10.0.1.2 Up S_IP_PEER -
30 40 10.0.3.3 Up S_IP_IF GigabitEthernet1/0/4
Total UP/DOWN Session
2、配置ip-link 链路检测及调用
(1)防火墙配置ip-link,检测防火墙与3条外网光纤的链路是否正常,并把ip-link的检测应用于静态路由调用,目的在于根据链路的好坏,决定是否生成该静态路由。
ip-link check enable #开启ip-link链路检测功能
ip-link name isp1 #配置ip-link链路检测的名称为ISP1,名称可用于静态路由调用
source-ip 10.0.1.1 #指定源ip地址
destination 11.11.11.11 interface G1/0/2 mode icmp next-hop 10.0.1.2 #指定目标ip地址与接口,探测方式为icmp ,下一跳地址
ip-link name isp3 #配置ip-link链路检测的名称为ISP3,名称可用于静态路由调用
destination 33.33.33.33 interface G1/0/4 mode icmp next-hop 10.0.3.3 #指定目标ip地址与接口,探测方式为icmp ,下一跳地址
ip-link name isp2 #配置ip-link链路检测的名称为ISP2,名称可用于静态路由调用
destination 22.22.22.22 interface G1/0/3 mode icmp next-hop 10.0.2.2 #指定目标ip地址与接口,探测方式为icmp ,下一跳地址
(2)防火墙配置静态路由调用ip-link与BFD
ip route-static 0.0.0.0 0.0.0.0 192.168.96.1 #配置到物理主机的缺省路由
ip route-static 0.0.0.0 0.0.0.0 G1/0/2 10.0.1.2 track bfd-session 1 #配置到拨号路由器的缺省路由,调用BFD会话1
ip route-static 11.11.11.11 255.255.255.255 G1/0/2 10.0.1.2 track ip-link isp1 #配置到ISP1的静态路由,调用ip-link链路检测ips1
ip route-static 22.22.22.22 255.255.255.255 G1/0/3 10.0.2.2 track ip-link isp2 #配置到ISP2的静态路由,调用ip-link链路检测ips2
ip route-static 33.33.33.33 255.255.255.255 G1/0/4 10.0.3.3 track bfd-session 2 #配置到ISP3的静态路由,调用BFD会话2
3、配置healthcheck物理链路检测及调用
(1)防火墙配置healthcheck进行物理链路检测,并根据链路的状态影响多链路出口的智能选路,让智能选路在工作时,根据链路状态确定内网访问外网时,是否走这条链路,智能选路主要用于多链路的主备与负载均衡,可根据链路权重、链路带宽、链路优先级、链路质量进行负载均衡。若某条链路故障后,智能选路中的该链路自动失效。
healthcheck enable #开启防火墙的健康检测功能
healthcheck name healthcheck1-isp1 #给健康检测取名healthcheck1-isp1,用于在对象中,查看健康检测的状态
source-ip 10.0.1.1 #配置到ISP1源ip地址
destination 11.11.11.11 interface G1/0/2 next-hop 10.0.1.2 protocol icmp #配置目标ip地址(可多跳)指定出接口与下一跳,探测方式为icmp
healthcheck name healthcheck-isp2 #给健康检测取名healthcheck-isp2,用于在对象中,查看健康检测的状态
source-ip 10.0.2.1 #配置到ISP2源ip地址
destination 22.22.22.22 interface G1/0/3 next-hop 10.0.2.2 protocol icmp #配置目标ip地址(可多跳)指定出接口与下一跳,探测方式为icmp
healthcheck name healthcheck3-isp3 #给健康检测取名healthcheck-isp3,用于在对象中,查看健康检测的状态
source-ip 10.0.3.1 #配置到ISP3源ip地址
destination 33.33.33.33 interface G1/0/4 next-hop 10.0.3.3 protocol icmp #配置目标ip地址(可多跳)指定出接口与下一跳,探测方式为icmp
六、结果验证
(一)验证链路故障后,网络正常运行
1、把LSW1的G0/0/2端口shutdown
2、主链路设置故障后,PC1与Client 1从LSW3的备用链路到达LSW2后,再通过Eth-trunk转发到LSW1,然后经防火墙到达ISP的AR3路由器33.33.33.33/32
3、跟踪路由如下:
(二)验证其中一台核心交换机故障后,网络正常运行
1、将LSW1这台核心交换机设置为故障状态,停用它后,连接LSW1的所有链路都继开呈红色显示,此时MSTP与VRRP就起到主备切换与冗余的作用,PC1仍然可以访问服务器区的FTP Server 1,如下图所示,LSW2的VRRP在探测到LSW1的VRRP不在线时,执行vrid 1与vrid 2的backup状态抢占成为master状态,抢占过程中,会有掉几个数据包,但用户几乎无法感知,因为用户终端本身不用修改任何参数。
2、查看LSW2在执行抢占vrrp成为master后,原本vlan 10、vlan 20是backup状态,探测到LSW1的VRRP故障后,抢占成为master,而vlan 30、vlan 40的VRRP在LSW2上原本配置就是master状态,不用切换,最终LSW2的4个VLAN均成为master状态,如下图:
(三)验证外网区域中的1条链路故障后,内网的用户仍可通过好的外网链路转发到外网
1、手动设置外网ISP1外网链路故障,如下图:
2、在防火墙上查看现在可用的链路
上图中,heathcheckI-SP1、hcealcheck-ISP3是ip城域网专线,healthcheck-ISP2中的 AR2是PPPOE拨号光纤客户端拨到ISP2的服务端,从而获取一个合法的公网ip。
3、查看防火墙上的路由表,10.0.1.0/24的路由已经消失,说明数据包不会再经这条静态路由进行转发了。
4、查看防火墙上的BFD会话
从上图可以看出,被手动设置故障shutdown的1条链路,其BFD探测的会话也已经状态为down,当静态路由调用该BFD会话时,发现该链路断开时,BFD探测到链路不可用,从而会告知静态路由,从路由表中删除这条路由信息,从而不会将数据包转发到这条故障的链路上。
5、查看ENSP防火墙上的多链路智能选路状态,确实只有2条可转发数据,断开的链路不会再转发数据包,上下行流量为0,如下图所示:
从上图中可以看出,智能选路策略中的ISP1状态已经是红色,上行和下行的数据流量也已经变为0,加上前面已经从路由表中删除了这条路由,所以数据只会从另外2条链路进行转发。
说明:本文至此结束,命令是基于完成某项功能而细分的,并没有按照一边配置一边验证的方式进行,比如有些路由的配置需要提前完成,才可以做相互访问。不足之处敬请批评指正。