10-Track配置
本章节下载: 10-Track配置 (776.54 KB)
目 录
1.9.1 VRRP、Track与NQA联动配置举例(Master监视上行链路)
1.9.2 VRRP、Track与Echo报文方式的BFD会话联动配置举例(Backup监视Master)
1.9.3 VRRP、Track与控制报文方式的BFD会话联动配置举例(Backup监视Master)
1.9.4 VRRP、Track与Echo报文方式的BFD会话联动配置举例(Master监视上行链路)
1.9.5 VRRP、Track与控制报文方式的BFD会话联动配置举例(Master监视上行链路)
1.9.7 静态路由、Track与Echo报文方式的BFD会话联动配置举例
1.9.8 静态路由、Track与控制报文方式的BFD会话联动配置举例
1.9.9 VRRP、Track与接口管理联动配置举例(Master监视上行接口)
1.9.10 VRRP、Track与路由管理联动配置举例(Master监视上行链路)
1.9.12 Smart Link、Track和CFD联动配置举例
Track用于在监测模块、Track模块和应用模块之间建立关联,来实现这些模块之间的联合动作。联动功能在应用模块和监测模块之间增加了Track模块,通过Track模块屏蔽不同监测模块的差异,将监测结果以统一的形式通知给应用模块,从而简化应用模块的处理。
如图1-1所示,联动功能利用监测模块对链路状态、网络性能等进行监测,并通过Track模块将监测结果及时通知给应用模块,以便应用模块进行相应的处理。例如,在NQA、Track和静态路由之间建立联动,利用NQA监测静态路由的下一跳地址是否可达。NQA监测到下一跳不可达时,通过Track通知静态路由模块该监测结果,以便静态路由模块将该条路由置为无效,确保报文不再通过该静态路由转发。
Track模块通过Track项与监测模块建立关联。Track项定义了Positive、Negative和NotReady三种状态。监测模块负责对接口状态、链路状态等进行监测,并将监测结果通知给Track模块;Track模块根据监测结果改变Track项的状态。
· 如果监测结果为监测对象工作正常(如接口处于up状态、网络可达),则对应Track项的状态为Positive。
· 如果监测结果为监测对象出现异常(如接口处于down状态、网络不可达),则对应Track项的状态为Negative。
· 如果监测结果无效(如NQA作为监测模块时,与Track项关联的NQA测试组不存在),则对应Track项的状态为NotReady。
应用模块通过引用Track项与Track模块建立关联。Track项的状态改变后,通知应用模块;应用模块根据Track项的状态,及时进行相应的处理,从而避免通信的中断或服务质量的降低。
目前,可以与Track模块实现联动功能的监测模块包括:
· NQA(Network Quality Analyzer,网络质量分析)
· BFD(Bidirectional Forwarding Detection,双向转发检测)
· CFD(Connectivity Fault Detection,连通错误检测)
· 接口管理
· 路由管理
· LLDP(Link Layer Discovery Protocol,链路层发现协议)
· M-LAG(Multichassis Link Aggregation,跨设备链路聚合)
另外,Track模块支持与监测模块列表建立关联。监测对象列表是多个监测对象的集合,这些监测对象依据其状态和列表的类型共同决定Track项的状态,主要有4种类型的列表:
· 布尔与类型列表:基于列表中对象状态的布尔与运算结果决定Track项的状态。
· 布尔或类型列表:基于列表中对象状态的布尔或运算结果决定Track项的状态。
· 比例类型列表:由Track列表中Positive对象/Negative对象的总比例和threshold percentage命令配置的门限值的大小决定Track项的状态。
· 权重类型列表:由Track列表中Positive对象/Negative对象的总权重和threshold weight命令配置的权重值的大小决定Track项的状态。
目前,可以与Track模块实现联动功能的应用模块包括:
· VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)
· 静态路由
· 策略路由
· Smart Link
· VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)
· EAA(Embedded Automation Architecture,嵌入式自动化架构 )
· ERPS(Ethernet Ring Protection Switching,以太环网保护倒换 )
· PoE(Power over Ethernet,以太网供电)
在某些情况下,Track项状态发生变化后,如果立即通知应用模块,则可能会由于路由无法及时恢复等原因,导致通信中断。例如,VRRP备份组中Master路由器通过Track监视上行接口的状态。上行接口出现故障时,Track通知Master路由器降低优先级,使得Backup路由器抢占成为新的Master,负责转发报文。当上行接口恢复时,如果Track立即通知原来的Master路由器恢复优先级,该路由器将立即承担转发任务。此时该路由器可能尚未恢复上行的路由,从而导致报文转发失败。在这种情况下,用户可以配置Track项状态发生变化时,延迟一定的时间通知应用模块。
下面以NQA、Track和静态路由联动为例,说明联动功能的工作原理。
用户在设备上配置了一条静态路由,下一跳地址为192.168.0.88。如果192.168.0.88可达,则报文可以通过该静态路由转发,该静态路由有效;如果192.168.0.88不可达,则通过该静态路由转发报文会导致报文转发失败,此时,需要将该静态路由置为无效。通过在NQA、Track模块和静态路由之间建立联动,可以实现实时监测下一跳的可达性,以便及时判断静态路由是否有效。
在此例中联动功能的配置方法及其工作原理为:
(1) 创建NQA测试组,通过NQA测试组监测目的地址192.168.0.88是否可达。
(2) 创建和NQA测试组关联的Track项。192.168.0.88可达时,NQA会将监测结果通知给Track模块,Track模块将该Track项的状态变为Positive;192.168.0.88不可达时,NQA将监测结果通知给Track模块,Track模块将该Track项的状态变为Negative。
(3) 配置这条静态路由和Track项关联。如果Track模块通知静态路由Track项的状态为Positive,则静态路由模块将这条路由置为有效;如果Track模块通知静态路由Track项的状态为Negative,则静态路由模块将这条路由置为无效。
为了实现联动功能,需要在Track与监测模块、Track与应用模块之间分别建立联动关系。Track配置任务如下:
(1) 配置Track与监控模块联动。
(2) 配置Track与监测对象列表联动。
(3) 配置Track与应用模块联动。
NQA测试组周期性地探测某个目的地址是否可达、是否可以与某个目的服务器建立TCP连接等。如果在Track项和NQA测试组之间建立了关联,则当连续探测失败的次数达到指定的阈值时,NQA将通知Track模块监测对象出现异常,Track模块将与NQA测试组关联的Track项的状态置为Negative;否则,NQA通知Track模块监测对象正常工作,Track模块将Track项的状态置为Positive。NQA的详细介绍,请参见“网络管理和监控配置指导”中的“NQA”。
配置Track项时,引用的NQA测试组或联动项可以不存在,此时该Track项的状态为NotReady。
(1) 进入系统视图。
system-view
(2) 创建与NQA测试组中指定联动项关联的Track项,并进入Track视图。
track track-entry-number nqa entry admin-name operation-tag reaction item-number
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
如果在Track项和BFD会话之间建立了关联,则当BFD判断出对端不可达时,BFD会通知Track模块将与BFD会话关联的Track项的状态置为Negative;否则,通知Track模块将Track项的状态置为Positive。
BFD会话支持三种工作方式:Echo报文方式、控制报文方式和静态BFD会话方式,三种方式的BFD会话都可以和Track建立关联。BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。
当Track项和Echo报文方式的BFD会话之间建立关联时,缺省情况下,设备会检查Echo响应报文的入接口,如果Echo响应报文的入接口和Echo报文的出接口不同,则设备会认为该Echo响应报文非法,从而丢弃该Echo响应报文,BFD会话Down。当BFD会话存在多条报文通路时,建议忽略检查Echo响应报文的入接口,以免设备发送Echo报文的接口和接收echo响应报文的接口不一致时,影响BFD会话的状态。
配置Track与BFD联动时,VRRP备份组的虚拟IP地址不能作为BFD会话探测的本地地址和远端地址。
在loopback口上配置Track与BFD联动时,BFD echo报文的源IP地址不能作为BFD会话探测的本地地址。
对于Track项和控制报文方式的BFD会话联动,需要在BFD会话两端的节点上都配置track bfd ctrl命令创建和控制报文方式的BFD会话关联的Track项,且接口信息、本端IP地址和对端IP地址都需要配置为会话两端的信息,控制报文方式的BFD会话才能正常建立。
配置Track与Echo报文方式的BFD会话联动前,需要配置BFD Echo报文的源地址,配置方法请参见“可靠性配置指导”中的“BFD”。
(1) 进入系统视图。
system-view
(2) 创建和BFD关联的Track项。请至少选择其中一项进行配置。
¡ 创建和Echo报文方式的BFD会话关联的Track项,并进入Track视图。
track track-entry-number bfd echo interface interface-type interface-number remote { ip remote-ipv4-address | ipv6 remote-ipv6-address } local { ip local-ipv4-address | ipv6 local-ipv6-address } [ ignore-rx-interface ]
¡ 创建和控制报文方式的BFD会话关联的Track项,并进入Track视图。
track track-entry-number bfd ctrl [ interface interface-type interface-number | vpn-instance vpn-instance-name ] remote { ip remote-ipv4-address | ipv6 remote-ipv6-address } local { ip local-ipv4-address | ipv6 local-ipv6-address }
¡ 创建和静态BFD会话关联的Track项,并进入Track视图。
track track-entry-number bfd static bfd-session-name
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
如果在Track项和CFD连续性检测功能之间建立了关联,则当CFD判断出对端不可达时,CFD会通知Track模块将与CFD连续性检测功能关联的Track项的状态置为Negative;否则,通知Track模块将Track项的状态置为Positive。CFD的详细介绍,请参见“可靠性配置指导”中的“CFD”。
配置Track与CFD连续性检测功能联动前,需要开启CFD服务并创建MEP,配置方法请参见“可靠性配置指导”中的“CFD”。
(1) 进入系统视图。
system-view
(2) 创建和会话关联的Track项,并进入Track视图。
track track-entry-number cfd cc service-instance instance-id mep mep-id
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
接口管理用来监视接口的链路状态和网络层协议状态。如果在Track项和接口之间建立了关联,则当接口的链路状态或网络层协议状态为up时,接口管理通知Track模块将与接口关联的Track项的状态置为Positive;接口的链路状态或网络层协议状态为down时,接口管理通知Track模块将Track项的状态为Negative。
(1) 进入系统视图。
system-view
(2) 创建和接口管理关联的Track项。请至少选择其中一项进行配置。
¡ 监视接口的链路状态,并进入Track视图。
track track-entry-number interface interface-type interface-number
¡ 监视接口的物理状态,并进入Track视图。
track track-entry-number interface interface-type interface-number physical
¡ 监视接口的网络层协议状态,并进入Track视图。
track track-entry-number interface interface-type interface-number protocol { ipv4 | ipv6 }
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
如果在Track项和路由管理之间建立了关联:
· 当对应的路由条目在路由表中存在时,路由管理通知Track模块将与之关联的Track项状态设置为Positive;当对应的路由条目在路由表中被删除时,路由管理将通知Track模块将与之关联的Track项状态设置为Negative。
· 当对应的路由条目在路由表中存在的等价路由条目数满足监测条件时,路由管理通知Track模块将与之关联的Track项状态设置为Positive;当对应的路由条目在路由表中存在的等价路由条目数不满足监测条件时,路由管理将通知Track模块将与之关联的Track项状态设置为Negative。
(1) 进入系统视图。
system-view
(2) 创建与路由管理关联的Track项,并进入Track视图。
track track-entry-number ip route [ vpn-instance vpn-instance-name ] ipv4-address { mask-length | mask } { ecmp-number { greater-equal min-ecmp-number | less-equal max-ecmp-number } * | reachability }
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
配置Track与LLDP联动后,LLDP检测邻居是否存在,将检测结果通知给Track模块;Track模块根据检测结果,对Track项的状态进行修改,以便通知应用模块进行相应处理:
· 当LLDP邻居存在时,Track项的状态为Positive。
· 当LLDP邻居不存在时,Track项的状态为Negative。
LLDP的详细介绍,请参见“二层技术-以太网交换配置指导”中的“LLDP”。
(1) 进入系统视图。
system-view
(2) 创建与接口的LLDP邻居状态关联的Track项,并进入Track视图。
track track-entry-number lldp neighbor interface interface-type interface-number
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
在M-LAG组网中,如果peer-link链路故障,M-LAG提供MAD(Multi-Active Detection,多Active检测)机制,将设备上部分接口置为M-LAG MAD DOWN状态,不允许此类接口转发流量,避免流量错误转发,从而尽量减少对业务影响。当peer-link链路故障恢复后,在延迟恢复时间到达时,将处于M-LAG MAD DOWN状态的接口将恢复为up状态。
配置本命令后,Track项会关联M-LAG MAD DOWN事件和M-LAG MAD DOWN恢复事件。
· 当设备上部分接口置为M-LAG MAD DOWN状态时,Track项的状态变成Negtive。
· 当处于M-LAG MAD DOWN状态的接口恢复为up状态时,Track项的状态变成Positive。
· 未触发或未收到M-LAG MAD DOWN事件和M-LAG MAD DOWN恢复事件时,Track项的状态为NotReady。
关于M-LAG MAD的详细描述,请参见“二层技术-以太网交换”中的“M-LAG”。
在配置端口与Track项联动之前,必须保证该端口已加入相应的ERPS环实例。
(1) 进入系统视图。
system-view
(2) 创建与M-LAG MAD关联的Track项,并进入Track视图。
track track-entry-number mlag-mad-status
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
对于布尔与类型的列表,如果列表中的所有监测对象的状态都是Positive,那么此Track项的状态为Positive;如果有一个或多个监测对象的状态为Negative,那么此Track项的状态为Negative。对于布尔或类型的列表,如果列表中至少有一个监测对象的状态是Positive,那么此Track项的状态为Positive,如果所有的监测对象的状态都是Negative,那么此Track项的状态为Negative。
(1) 进入系统视图。
system-view
(2) 创建和布尔类型列表关联的Track项,并进入Track视图。
track track-entry-number list boolean { and | or }
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
(4) 向列表中添加与单个监测对象联动的Track项。
object track-entry-number [ not ]
缺省情况下,列表中不存在与单个监测对象联动的Track项。
Track项的状态由Track列表中Positive对象/Negative对象的总比例和threshold percentage命令配置的门限值的大小决定。当列表中Positive对象所占百分比大于或等于Positive门限值时,Track项状态变为Positive;小于或等于Negative门限值时,Track项状态变为Negative。当关联列表中的Positive对象比例小于Positive参数指定值且大于Negative参数指定值时,Track项状态保持不变。
(1) 进入系统视图。
system-view
(2) 创建和比例类型列表关联的Track项,并进入Track视图。
track track-entry-number list threshold percentage
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
(4) 向列表中添加与单个监测对象联动的Track项。
object track-entry-number
缺省情况下,列表中不存在与单个监测对象联动的Track项。
(5) 配置状态变化的门限值。
threshold percentage { negative negative-threshold | positive positive-threshold } *
缺省情况下,Negative门限值为0%,Positive门限值为1%。
Track项的状态由Track列表中Positive对象/Negative对象的总权重和threshold weight命令配置的权重值的大小决定。每个加入列表的Track对象都拥有一个权重值,当处于Positive的监测项的权重之和大于或等于Positive门限值时,Track项状态变为Positive;当处于Positive的监测项的权重之和小于或等于Negative门限值时,Track项状态变为Negative。当关联列表中的Positive对象权重小于Positive参数指定值且大于Negative参数指定值时,Track项状态保持不变。
(1) 进入系统视图。
system-view
(2) 创建和权重类型列表关联的Track项,并进入Track视图。
track track-entry-number list threshold weight
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
(4) 向列表中添加与单个监测对象联动的Track项。
object track-entry-number [ weight weight ]
缺省情况下,列表中不存在与单个监测对象联动的Track项。
(5) 配置状态变化的权重值。
threshold weight { negative negative-threshold | positive positive-threshold } *
(6) 缺省情况下,Negative权重值为0,Positive权重值为1。
用户配置Track和应用模块联动前,需保证联动的Track项已被创建,否则应用模块可能会获取到错误的Track项状态信息。
关于Track与应用模块联动命令的详细介绍,请参见应用模块的命令手册。
VRRP工作在标准协议模式和负载均衡模式时,通过在Track模块和VRRP备份组之间建立联动,可以实现:
· 根据上行链路的状态,改变路由器的优先级。当路由器的上行链路出现故障时,备份组无法感知上行链路的故障,如果该路由器为Master,将会导致局域网内的主机无法访问外部网络。通过联动功能,可以解决该问题。利用监测模块监视路由器上行链路的状态,并在监测模块、Track模块和VRRP备份组之间建立联动,当上行链路出现故障时,通知将Track项状态变为Negative,并将路由器的优先级降低指定的数额。从而,使得备份组内其它路由器的优先级高于这个路由器的优先级,成为Master路由器,保证局域网内主机与外部网络的通信不会中断。
· 在Backup路由器上监视Master路由器的状态。当Master路由器出现故障时,工作在切换模式的Backup路由器能够迅速成为Master路由器,以保证通信不会中断。
VRRP工作在负载均衡模式时,通过在Track模块和VRRP虚拟转发器之间建立联动,还可以实现:
· 根据上行链路的状态,改变虚拟转发器的优先级。当AVF(Active Virtual Forwarder,动态虚拟转发器)的上行链路出现故障时,Track项的状态变为Negative,虚拟转发器的权重将降低指定的数额,以便虚拟转发器优先级更高的路由器抢占成为AVF,接替其转发流量。
· 在LVF(Listening Virtual Forwarder,监听虚拟转发器)上通过Track监视AVF的状态,当AVF出现故障时,工作在虚拟转发器快速切换模式的LVF能够迅速成为AVF,以保证通信不会中断。
VRRP配置的详细介绍,请参见“可靠性配置指导”中的“VRRP”。
接口IP地址与虚拟IP地址相同的路由器称为IP地址拥有者。路由器在某个备份组中作为IP地址拥有者时,如果在该路由器上配置该备份组监视指定的接口或Track项,则该配置不会生效。该路由器不再作为IP地址拥有者后,之前的配置才会生效。
被监视Track项的状态由Negative变为Positive或NotReady后,对应的路由器优先级或虚拟转发器优先级会自动恢复。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置VRRP备份组监视指定的Track项。
vrrp [ ipv6 ] vrid virtual-router-id track track-entry-number { forwarder-switchover member-ip ip-address | priority reduced [ priority-reduced ] switchover | weight reduced [ weight-reduced ] }
缺省情况下,未指定VRRP备份组监视的Track项。
VRRP工作在标准协议模式和负载均衡模式时,均支持本配置。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置虚拟转发器监视指定的Track项。
vrrp [ ipv6 ] vrid virtual-router-id track track-entry-number { forwarder-switchover member-ip ip-address | priority reduced [ priority-reduced ] switchover | weight reduced [ weight-reduced ] }
缺省情况下,未配置虚拟转发器的监视功能。
在VRRP标准协议模式和负载均衡模式下均可进行本配置,但只有在VRRP负载模式下本配置才会起作用。
静态路由是一种特殊的路由,由管理员手工配置。配置静态路由后,去往指定目的地的报文将按照管理员指定的路径进行转发。静态路由配置的详细介绍,请参见“三层技术-IP路由配置指导”中的“静态路由”和“IPv6静态路由”。
静态路由的缺点在于:不能自动适应网络拓扑结构的变化,当网络发生故障或者拓扑发生变化时,可能会导致静态路由不可达,网络通信中断。
为了防止这种情况发生,可以配置其它路由和静态路由形成备份关系。静态路由可达时,根据静态路由转发报文,其它路由处于备份状态;静态路由不可达时,根据备份路由转发报文,从而避免通信中断,提高了网络可靠性。
通过在Track模块和静态路由之间建立联动,可以实现静态路由可达性的实时判断。
如果在配置静态路由时只指定了下一跳而未指定出接口,可以通过联动功能,利用监测模块监视静态路由下一跳的可达性,并根据Track项的状态来判断静态路由的可达性:
· 当Track项状态为Positive时,静态路由的下一跳可达,配置的静态路由将生效;
· 当Track项状态为Negative时,静态路由的下一跳不可达,配置的静态路由无效;
· 当Track项状态为NotReady时,无法判断静态路由的下一跳是否可达,此时配置的静态路由生效。
如果Track模块通过NQA探测私网静态路由中下一跳的可达性,静态路由下一跳的VPN实例名与NQA测试组配置的实例名必须相同,才能进行正常的探测。
在静态路由进行迭代时,Track项监测的应该是静态路由迭代后最终的下一跳地址,而不是配置中指定的下一跳地址。否则,可能导致错误地将有效路由判断为无效路由。
(1) 进入系统视图。
system-view
(2) 配置通过Track与IPv4静态路由联动,检测静态路由下一跳是否可达。
(公网)
ip route-static { dest-address { mask-length | mask } | group group-name } { interface-type interface-number [ next-hop-address ] track track-entry-number | next-hop-address [ recursive-lookup host-route ] track track-entry-number | vpn-instance d-vpn-instance-name next-hop-address [ recursive-lookup host-route ] track track-entry-number } [ preference preference ] [ tag tag-value ] [ description text ]
(VPN网络)
ip route-static vpn-instance s-vpn-instance-name { dest-address { mask-length | mask } | group group-name } { interface-type interface-number [ next-hop-address ] track track-entry-number | next-hop-address [ recursive-lookup host-route ] [ public ] track track-entry-number | vpn-instance d-vpn-instance-name next-hop-address [ recursive-lookup host-route ] track track-entry-number } [ preference preference ] [ tag tag-value ] [ description text ]
缺省情况下,未配置Track与IPv4静态路由联动。
(1) 进入系统视图。
system-view
(2) 配置通过Track与IPv6静态路由联动,检测静态路由下一跳是否可达。
(公网)
ipv6 route-static ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] track track-entry-number | [ vpn-instance d-vpn-instance-name ] next-hop-address [ recursive-lookup host-route ] track track-entry-number } [ preference preference ] [ tag tag-value ] [ description text ]
(VPN网络)
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] track track-entry-number | next-hop-address [ public ] track track-entry-number | vpn-instance d-vpn-instance-name next-hop-address [ recursive-lookup host-route ] track track-entry-number } [ preference preference ] [ tag tag-value ] [ description text ]
缺省情况下,未配置Track与IPv6静态路由联动。
策略路由是一种依据用户指定的策略灵活选路的机制,满足策略的报文将执行指定的操作,以指导报文转发。策略路由配置的详细介绍,请参见“三层技术-IP路由配置指导”中的“策略路由”。
策略路由无法判断对报文执行的操作的可用性。当执行的操作不可用时,策略路由仍然对报文执行该操作,可能会导致报文转发失败。例如,策略路由中配置满足一定条件的报文,需要通过指定的出接口转发。当该出接口所在的链路出现故障时,策略路由无法感知链路故障,仍然通过该接口转发报文,导致报文转发失败。
通过联动功能,可以解决上述问题,增强了策略路由应用的灵活性,以及策略路由对网络环境的动态感知能力。配置策略路由执行的操作与Track项关联,利用监测模块监视链路的状态,通过Track项的状态来动态地决定策略路由操作的可用性:
· Track项状态为Positive时,表示链路正常工作,与该Track项关联的策略路由操作生效,可以指导转发;
· Track项状态为Negative时,表示链路出现故障,与该Track项关联的策略路由操作无效,转发时忽略该配置项;
· Track项状态为NotReady时,与该Track项关联的策略路由操作生效,可以指导转发。
目前,支持与Track项关联的策略路由操作包括:
· 设置报文的出接口
· 设置报文的下一跳
配置Track与策略路由联动前,需要先创建策略或一个策略节点,并配置匹配规则。
(1) 进入系统视图。
system-view
(2) 创建策略或一个策略节点,并进入该策略视图。
policy-based-route policy-name [ deny | permit ] node node-number
(3) 设置匹配规则。
¡ 设置ACL匹配规则。
if-match acl { acl-number | name acl-name }
缺省情况下,未设置ACL匹配规则。
策略路由不支持匹配二层信息的ACL匹配规则。
设置ACL匹配规则时,对于ACL规则的permit/deny动作以及time-range指定的规则生效时间段等的处理机制不会生效。
¡ 设置服务链匹配规则。
if-match service-chainpath-id service-path-id [ path-index service-patch-index ]
缺省情况下,未设置服务链匹配规则。
(4) 配置指导报文转发类动作。
¡ 设置指导报文转发的出接口,并与Track项关联。
apply output-interface null 0 [ track track-entry-number ]
缺省情况下,未设置指导报文转发的出接口。
¡ 设置报文的下一跳,并与Track项关联。
apply next-hop [ vpn-instance vpn-instance-name ] { ip-address [ direct ] [ track track-entry-number ] }&<1-6>
缺省情况下,未设置报文转发的下一跳。
(1) 进入系统视图。
system-view
(2) 创建策略或一个策略节点,并进入该策略视图。
ipv6 policy-based-route policy-name [ deny | permit ] node node-number
(3) 设置匹配规则。
¡ 设置ACL匹配规则。
if-match acl { ipv6-acl-number | name ipv6-acl-name }
缺省情况下,未设置ACL匹配规则。
IPv6策略路由不支持匹配二层信息的ACL匹配规则。
设置ACL匹配规则时,对于ACL规则的permit/deny动作以及time-range指定的规则生效时间段等的处理机制不会生效。
(4) 配置指导报文转发类动作。
¡ 设置报文的出接口,并与Track项关联。
apply output-interface null 0 [ track track-entry-number ]
缺省情况下,未设置指导报文转发的出接口。
¡ 设置报文的下一跳,并与Track项关联。
apply next-hop [ vpn-instance vpn-instance-name ] { ipv6-address [ direct ] [ track track-entry-number ] }&<1-6>
缺省情况下,未设置报文转发的下一跳。
上行链路上的中间传输设备或传输链路发生故障(如光纤链路发生单通、错纤、丢包等故障)以及故障排除时,Smart Link本身无法感知到这个变化。Smart Link组的成员端口需要通过Track项与专门的链路检测协议联动来检测端口的链路状态,当链路检测协议检测到故障发生或故障恢复时就通知Smart Link进行链路切换。
用户可以配置Smart Link组的成员端口与Track项关联,使该端口通过Track项与CFD的连续性检测功能进行联动来监测该端口的上行链路状态。
Track模块根据监测模块的监测结果改变Track项的状态,并将Track项状态通知给Smart Link组;Smart Link组根据Track项状态进行相应处理:
· 如果Track项的状态为Positive,说明该端口的上行链路正常,Smart Link组不进行链路切换;
· 如果Track项的状态为Negative,说明该端口的上行链路出现故障,Smart Link组根据抢占模式和该端口的成员角色判断是否需要进行链路切换;
· 如果Track项的状态为NotReady,说明Track关联监测模块的配置尚未生效,该端口维持原有转发状态不变。
关于Smart Link的详细介绍,请参见“可靠性配置指导”中的“Smart Link”。
Smart Link组的成员端口联动的Track项,必须是和CFD连续性检测功能关联的Track项。
(1) 进入系统视图。
system-view
(2) 进入二层以太网或二层聚合接口视图。
interface interface-type interface-number
(3) 配置Smart Link组的成员端口与Track项联动。
port smart-link group group-id track track-entry-number
缺省情况下,Smart Link组的成员端口未与Track项联动。
在VXLAN中,可以配置AC(三层接口或以太网服务实例)与Track项联动。仅当关联的Track项中至少有一个状态为Positive时,AC的状态才会up,否则,AC的状态为down。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 将三层接口与VSI关联,并配置接口与Track项联动。
xconnect vsi vsi-name track track-entry-number&<1-3>
缺省情况下,接口未与VSI关联,且未启动和Track项的联动功能。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图/二层聚合接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 创建以太网服务实例,并进入以太网服务实例视图。
service-instance instance-id
(4) 将以太网服务实例与VSI关联,并配置以太网服务实例与Track项联动。
xconnect vsi vsi-name [ access-mode { ethernet | vlan } ] track track-entry-number&<1-3>
缺省情况下,以太网服务实例未与VSI关联,且未启动和Track项的联动功能。
配置Track与EAA联动后,当关联的Track项状态由Positive变为Negative或者Negative变为Positive时,触发监控策略执行;如果关联多个Track项,则最后一个处于Positive(Negative)状态的Track项变为Negative(Positive)时,触发监控策略执行。
如果配置了抑制时间,触发策略的同时开始计时,定时器超时前,收到状态从Positive(Negative)变为Negative(Positive)的消息,直接丢弃,不会处理。直到定时器超后,收到状态从Positive(Negative)变为Negative(Positive)的消息才处理,再一次触发策略执行。
EAA的详细介绍,请参见“网络管理和监控”中的“EAA”。
(1) 进入系统视图。
system-view
(2) 创建CLI监控策略并进入CLI监控策略视图。
rtm cli-policy policy-name
(3) 配置Track监控事件。
event track track-entry-number-list state { negative | positive } [ suppress-time suppress-time ]
缺省情况下,未配置Track监控事件。
当链路上的中间传输设备或传输链路发生故障(如光纤链路发生单通、错纤、丢包等故障)以及故障排除时,ERPS本身无法感知到这个变化。ERPS环的成员端口需要通过专门的链路检测协议来检测端口的链路状态,当链路检测协议检测到故障发生或故障恢复时就通知ERPS进行链路倒换。
ERPS环实例的成员端口通过Track项与链路检测协议进行联动,目前仅支持与CFD(Connectivity Fault Detection,连通错误检测)的连续性检测功能联动。当端口与CFD连续性检测功能联动时,CFD按照检测VLAN和检测端口来通知故障检测事件,只有当端口所在ERPS环实例的控制VLAN与CFD监控的VLAN一致时,才响应此事件。
Track模块根据监测模块的监测结果改变Track项的状态,并将Track项状态通知给ERPS环;ERPS环根据Track项状态进行相应处理:
· 如果Track项的状态为Positive,说明该端口的上行链路正常,ERPS环不进行链路切换;
· 如果Track项的状态为Negative,说明该端口的上行链路出现故障,ERPS环进行链路切换;
· 如果Track项的状态为NotReady,说明Track关联监测模块的配置尚未生效,该端口维持原有转发状态不变。
关于ERPS的详细介绍,请参见“可靠性配置指导”中的“ERPS”。
在配置端口与Track项联动之前,必须保证该端口已加入相应的ERPS环实例。
(1) 进入系统视图。
system-view
(2) 进入二层以太网或二层聚合接口视图。
interface interface-type interface-number
(3) 配置成员端口的Track联动。
port erps ring ring-id instance instance-id track track-entry-index
缺省情况下,未配置ERPS成员端口与Track机制联动。
PoE通过与Track联动来检测本端设备与PoE接口下挂的PD设备之间链路的工作状态。例如,如果PD支持NQA的ICMP-echo探测,用户可以指定和NQA联动的Track项,利用ICMP协议,根据设备是否接收到PD的应答报文判断PD的可达性。NQA的ICMP-echo探测是三层探测,需要在三层接口下配置。如果设备支持的PoE接口是二层接口,需要创建VLAN接口用于ICMP-echo探测,并将PoE接口加入对应的VLAN中,或者将二层PoE接口切换到三层工作模式。
Track模块通知PoE的监测结果有三种:
· Positive:监测到对象网络可达,工作正常。
· Negative:监测到对象网络不可达,出现异常。
· NotReady:监测结果无效(如与Track项关联的NQA测试组不存在等)。
当Track监测到链路异常,Track项的状态从Positive变为Negative时,会触发PoE作出相应处理。PoE支持以下处理方式:
· alarm-only:通过SNMP Notification和日志输出PoE相关告警。
· alarm-reboot-pd:通过SNMP Notification和日志输出PoE相关告警,并重启该PoE接口下挂的PD。
SNMP Notification的相关介绍和配置请参见“网络管理和监控配置指导”中的“SNMP”。
日志的相关介绍和配置请参见“网络管理和监控配置指导”中的“信息中心”。
PoE的相关介绍和配置请参见“网络管理和监控配置指导”中的“PoE”。
(1) 进入系统视图。
system-view
(2) 配置PoE接口和Track项关联。
poe track track-entry-number action { alarm | alarm-reboot-pd }
缺省情况下,PoE接口未关联Track项。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Track的运行情况,通过查看显示信息验证配置的效果。
表1-1 Track显示和维护
操作 |
命令 |
显示Track项的信息 |
display track { track-entry-number | all [ negative | positive ] } [ brief ] |
· Host A需要访问Internet上的Host B,Host A的缺省网关为10.1.1.10/24;
· Switch A和Switch B属于虚拟IP地址为10.1.1.10的备份组1;
· 当Switch A正常工作时,Host A发送给Host B的报文通过Switch A转发;当通过NQA监测到Switch A上行链路不通时,Host A发送给Host B的报文通过Switch B转发。
图1-2 VRRP、Track与NQA联动配置组网图
(1) 按照图1-2创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 在Switch A上配置NQA测试组
<SwitchA> system-view
# 创建管理员名为admin、操作标签为test的NQA测试组。
[SwitchA] nqa entry admin test
# 配置测试类型为ICMP-echo。
[SwitchA-nqa-admin-test] type icmp-echo
# 配置目的地址为10.1.2.2。
[SwitchA-nqa-admin-test-icmp-echo] destination ip 10.1.2.2
# 测试频率为100ms。
[SwitchA-nqa-admin-test-icmp-echo] frequency 100
# 配置联动项1(连续失败5次触发联动)。
[SwitchA-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only
[SwitchA-nqa-admin-test-icmp-echo] quit
# 启动探测。
[SwitchA] nqa schedule admin test start-time now lifetime forever
(3) 在Switch A上配置Track项
# 配置Track项1,并进入Track视图,关联NQA测试组(管理员为admin,操作标签为test)的联动项1。
[SwitchA] track 1 nqa entry admin test reaction 1
[SwitchA-track-1] quit
(4) 在Switch A上配置VRRP
# 在VLAN接口2下,配置VRRP适用版本为VRRPv2。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] vrrp version 2
# 创建备份组1,并配置备份组1的虚拟IP地址为10.1.1.10。
[SwitchA-Vlan-interface2] vrrp vrid 1 virtual-ip 10.1.1.10
# 设置Switch A在备份组1中的优先级为110。
[SwitchA-Vlan-interface2] vrrp vrid 1 priority 110
# 设置备份组的认证方式为simple,认证字为hello。
[SwitchA-Vlan-interface2] vrrp vrid 1 authentication-mode simple plain hello
# 设置Master发送VRRP报文的间隔时间为500厘秒。
[SwitchA-Vlan-interface2] vrrp vrid 1 timer advertise 500
# 设置Switch A工作在抢占方式,抢占延迟时间为5000厘秒。
[SwitchA-Vlan-interface2] vrrp vrid 1 preempt-mode delay 5000
# 设置监视Track项。
[SwitchA-Vlan-interface2] vrrp vrid 1 track 1 priority reduced 30
(5) 在Switch B上配置VRRP
# 在VLAN接口2下,配置VRRP适用版本为VRRPv2。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] vrrp version 2
# 创建备份组1,并配置备份组1的虚拟IP地址为10.1.1.10。
[SwitchB-Vlan-interface2] vrrp vrid 1 virtual-ip 10.1.1.10
# 设置备份组的认证方式为simple,认证字为hello。
[SwitchB-Vlan-interface2] vrrp vrid 1 authentication-mode simple plain hello
# 设置Master发送VRRP报文的间隔时间为500厘秒。
[SwitchB-Vlan-interface2] vrrp vrid 1 timer advertise 500
# 设置Switch B工作在抢占方式,抢占延迟时间为5000厘秒。
[SwitchB-Vlan-interface2] vrrp vrid 1 preempt-mode delay 5000
配置完成后,在Host A上可以ping通Host B。通过display vrrp命令查看配置后的结果。
# 显示Switch A上备份组1的详细信息。
[SwitchA-Vlan-interface2] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 500
Admin Status : Up State : Master
Config Pri : 110 Running Pri : 110
Preempt Mode : Yes Delay Time : 5000
Auth Type : Simple Key : ******
Version : 2
Virtual IP : 10.1.1.10
Virtual MAC : 0000-5e00-0101
Master IP : 10.1.1.1
VRRP Track Information:
Track Object : 1 State : Positive Pri Reduced : 30
# 显示Switch B上备份组1的详细信息。
[SwitchB-Vlan-interface2] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 500
Admin Status : Up State : Backup
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 5000
Become Master : 2200ms left
Auth Type : Simple Key : ******
Version : 2
Virtual IP : 10.1.1.10
Master IP : 10.1.1.1
以上显示信息表示在备份组1中Switch A为Master,Switch B为Backup,Host A发送给Host B的报文通过Switch A转发。
Switch A与Switch C不通时,在Host A上仍然可以ping通Host B。通过display vrrp命令查看备份组的信息。
# Switch A与Switch C不通时,显示Switch A上备份组1的详细信息。
[SwitchA-Vlan-interface2] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 500
Admin Status : Up State : Backup
Config Pri : 110 Running Pri : 80
Preempt Mode : Yes Delay Time : 5000
Become Master : 2200ms left
Auth Type : Simple Key : ******
Version : 2
Virtual IP : 10.1.1.10
Master IP : 10.1.1.2
VRRP Track Information:
Track Object : 1 State : Negative Pri Reduced : 30
# Switch A与Switch C不通时,显示Switch B上备份组1的详细信息。
[SwitchB-Vlan-interface2] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 500
Admin Status : Up State : Master
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 5000
Auth Type : Simple Key : ******
Version : 2
Virtual IP : 10.1.1.10
Virtual MAC : 0000-5e00-0101
Master IP : 10.1.1.2
以上显示信息表示Switch A与Switch C不通时,Switch A的优先级降低为80,成为Backup,Switch B成为Master,Host A发送给Host B的报文通过Switch B转发。
· Switch A和Switch B属于虚拟IP地址为192.168.0.10的备份组1;
· 局域网内的主机上设置缺省网关为192.168.0.10,当Switch A正常工作时,局域网内的主机通过Switch A访问外部网络;Switch A出现故障时,Switch B接替其工作,局域网内的主机通过Switch B访问外部网络;
· Master出现故障时,Backup若只依赖于VRRP通告报文的超时时间来判断是否应该抢占,切换时间一般在3秒~4秒之间,无法达到秒级以下的切换速度;如果Backup通过Echo报文方式的BFD会话检测Master的运行状态,则能够在毫秒级的时间内发现Master的故障,立即抢占成为Master,加快切换速度。
图1-3 VRRP、Track与Echo报文方式的BFD会话联动(Backup监视Master)配置组网图
(1) 按照图1-3创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 在Switch A上配置VRRP
<SwitchA> system-view
[SwitchA] interface vlan-interface 2
# 创建备份组1,并配置备份组1的虚拟IP地址为192.168.0.10,Switch A在备份组1中的优先级为110。
[SwitchA-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchA-Vlan-interface2] vrrp vrid 1 priority 110
[SwitchA-Vlan-interface2] return
(3) 在Switch B上配置BFD Echo功能
# 配置BFD echo报文的源地址为10.10.10.10。
<SwitchB> system-view
[SwitchB] bfd echo-source-ip 10.10.10.10
(4) 在Switch B上创建和BFD会话关联的Track项
# 创建和Echo报文方式的BFD会话关联的Track项1,并进入Track视图,检测Switch A是否可达。
[SwitchB] track 1 bfd echo interface vlan-interface 2 remote ip 192.168.0.101 local ip 192.168.0.102
[SwitchB-track-1] quit
(5) 在Switch B上配置VRRP
# 创建备份组1,并配置备份组1的虚拟IP地址为192.168.0.10,备份组1监视Track项1的状态,当Track项状态为Negative时,Switch B快速从Backup切换为Master状态。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchB-Vlan-interface2] vrrp vrid 1 track 1 switchover
[SwitchB-Vlan-interface2] return
# 显示Switch A上备份组的详细信息。
<SwitchA> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 110 Running Pri : 110
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.101
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Master IP : 192.168.0.101
VRRP Track Information:
Track Object : 1 State : Positive Switchover
# 显示Switch B上Track项的信息。
<SwitchB> display track 1
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD echo
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Echo
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 192.168.0.101
Local IP: 192.168.0.102
以上显示信息表示Track项状态为Positive时,Switch A为Master路由器,Switch B为Backup路由器。
# 打开Switch B的VRRP状态调试信息开关和Echo报文方式的BFD会话事件通知调试信息开关。
<SwitchB> terminal debugging
<SwitchB> terminal monitor
<SwitchB> debugging vrrp fsm
<SwitchB> debugging bfd ntfy
# Switch A出现故障时,Switch B上输出如下调试信息。
*Dec 17 14:44:34:142 2019 SwitchB BFD/7/DEBUG: Notify application:TRACK State:DOWN
*Dec 17 14:44:34:144 2019 SwitchB VRRP4/7/FSM:
IPv4 Vlan-interface2 | Virtual Router 1 : Backup --> Master reason: The status of the tracked object changed
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.102
VRRP Track Information:
Track Object : 1 State : Negative Switchover
以上调试信息表示,Echo报文方式的BFD会话探测到Switch A出现故障后,立即由Track通知VRRP模块将Switch B的状态切换为Master,不再等待VRRP通告报文的超时时间,从而保证Backup路由器能够快速切换为Master。
· Switch A和Switch B属于虚拟IP地址为192.168.0.10的备份组1;
· 局域网内的主机上设置缺省网关为192.168.0.10,当Switch A正常工作时,局域网内的主机通过Switch A访问外部网络;Switch A出现故障时,Switch B接替其工作,局域网内的主机通过Switch B访问外部网络;
· Master出现故障时,Backup若只依赖于VRRP通告报文的超时时间来判断是否应该抢占,切换时间一般在3秒~4秒之间,无法达到秒级以下的切换速度;如果Backup通过控制报文方式的BFD会话检测Master的运行状态,则能够在毫秒级的时间内发现Master的故障,立即抢占成为Master,加快切换速度。
图1-4 VRRP、Track与控制报文方式的BFD会话联动(Backup监视Master)配置组网图
(1) 按照图1-4创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 在Switch A上配置VRRP
<SwitchA> system-view
[SwitchA] interface vlan-interface 2
# 创建备份组1,并配置备份组1的虚拟IP地址为192.168.0.10,Switch A在备份组1中的优先级为110。
[SwitchA-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchA-Vlan-interface2] vrrp vrid 1 priority 110
[SwitchA-Vlan-interface2] return
(3) 在Switch A上创建和控制报文方式的BFD会话关联的Track项
# 创建和控制报文方式的BFD会话关联的Track项1,并进入Track视图,检测Switch B是否可达。
[SwitchA] track 1 bfd ctrl interface vlan-interface 2 remote ip 192.168.0.102 local ip 192.168.0.101
[SwitchA-track-1] quit
(4) 在Switch B上配置VRRP
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
# 创建备份组1,并配置备份组1的虚拟IP地址为192.168.0.10,备份组1监视Track项1的状态,当Track项状态为Negative时,Switch B快速从Backup切换为Master状态。
[SwitchB-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchB-Vlan-interface2] vrrp vrid 1 track 1 switchover
[SwitchB-Vlan-interface2] return
(5) 在Switch B上创建和控制报文方式的BFD会话关联的Track项
# 创建和控制报文方式的BFD会话关联的Track项1,并进入Track视图,检测Switch A是否可达。
[SwitchB] track 1 bfd ctrl interface vlan-interface 2 remote ip 192.168.0.101 local ip 192.168.0.102
[SwitchB-track-1] quit
# 显示Switch A上备份组的详细信息。
<SwitchA> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 110 Running Pri : 110
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.101
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Master IP : 192.168.0.101
VRRP Track Information:
Track Object : 1 State : Positive Switchover
# 显示Switch B上Track项的信息。
<SwitchB> display track 1
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD ctrl
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Ctrl
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 192.168.0.101
Local IP: 192.168.0.102
以上显示信息表示Track项状态为Positive时,Switch A为Master路由器,Switch B为Backup路由器。
# 打开Switch B的VRRP状态调试信息开关和控制报文方式的BFD会话事件通知调试信息开关。
<SwitchB> terminal debugging
<SwitchB> terminal monitor
<SwitchB> debugging vrrp fsm
<SwitchB> debugging bfd ntfy
# Switch A出现故障时,Switch B上输出如下调试信息。
*Dec 17 14:44:34:142 2019 SwitchB BFD/7/DEBUG: Notify application:TRACK State:DOWN
*Dec 17 14:44:34:144 2019 SwitchB VRRP4/7/FSM:
IPv4 Vlan-interface2 | Virtual Router 1 : Backup --> Master reason: The status of the tracked object changed
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.102
VRRP Track Information:
Track Object : 1 State : Negative Switchover
以上调试信息表示,控制报文方式的BFD会话探测到Switch A出现故障后,立即由Track通知VRRP模块将Switch B的状态切换为Master,不再等待VRRP通告报文的超时时间,从而保证Backup路由器能够快速切换为Master。
· Switch A和Switch B属于虚拟IP地址为192.168.0.10的备份组1;
· 局域网内的主机上设置缺省网关为192.168.0.10;
· Switch A正常工作时,局域网内的主机通过Switch A访问外部网络;Switch A通过Echo报文方式的BFD会话检测到上行链路不通时,降低自己在备份组中的优先级,以便Switch B抢占成为Master,保证局域网内的主机通过Switch B正常通信。
图1-5 VRRP、Track与Echo报文方式的BFD会话联动(Master监视上行链路)配置组网图
(1) 按照图1-5创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 在Switch A上配置BFD Echo功能
# 配置BFD Echo报文的源地址为10.10.10.10。
<SwitchA> system-view
[SwitchA] bfd echo-source-ip 10.10.10.10
(3) 在Switch A上创建和Echo报文方式的BFD会话关联的Track项
# 创建和Echo报文方式的BFD会话关联的Track项1,并进入Track视图,检测IP地址为1.1.1.2的上行设备是否可达。
[SwitchA] track 1 bfd echo interface vlan-interface 3 remote ip 1.1.1.2 local ip 1.1.1.1
[SwitchA-track-1] quit
(4) 在Switch A上配置VRRP
# 创建备份组1,配置备份组1的虚拟IP地址为192.168.0.10;Switch A在备份组1中的优先级为110;配置备份组1监视Track项1的状态,当Track项状态为Negative时,Switch A的优先级降低20。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchA-Vlan-interface2] vrrp vrid 1 priority 110
[SwitchA-Vlan-interface2] vrrp vrid 1 track 1 priority reduced 20
[SwitchA-Vlan-interface2] return
(5) 在Switch B上配置VRRP
# 创建备份组1,配置备份组1的虚拟IP地址为192.168.0.10。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchB-Vlan-interface2] return
# 显示Switch A上备份组的详细信息。
<SwitchA> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 110 Running Pri : 110
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.101
VRRP Track Information:
Track Object : 1 State : Positive Pri Reduced : 20
# 显示Switch A上Track项1的信息。
<SwitchA> display track 1
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD echo
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Echo
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 1.1.1.2
Local IP: 1.1.1.1
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Master IP : 192.168.0.101
以上显示信息表示Track项1的状态为Positive时,Switch A为Master路由器,Switch B为Backup路由器。
# 当Switch A监视的上行链路出现故障时,Track项1的状态变为Negative。
<SwitchA> display track 1
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD echo
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Echo
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 1.1.1.2
Local IP: 1.1.1.1
# 查看Switch A上备份组的详细信息。
<SwitchA> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 110 Running Pri : 90
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Master IP : 192.168.0.102
VRRP Track Information:
Track Object : 1 State : Negative Pri Reduced : 20
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.102
以上显示信息表示Switch A通过Echo报文方式的BFD会话检测到上行链路不通时,将自己的优先级降低为90,从而保证Switch B抢占成为Master。
· Switch A和Switch B属于虚拟IP地址为192.168.0.10的备份组1;
· 局域网内的主机上设置缺省网关为192.168.0.10;
· Switch A正常工作时,局域网内的主机通过Switch A访问外部网络;Switch A通过控制报文方式的BFD会话检测到上行链路不通时,降低自己在备份组中的优先级,以便Switch B抢占成为Master,保证局域网内的主机通过Switch B正常通信。
图1-6 VRRP、Track与控制报文方式的BFD会话联动(Master监视上行链路)配置组网图
(1) 按照图1-6创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 在Switch A上配置VRRP
<SwitchA> system-view
# 创建备份组1,配置备份组1的虚拟IP地址为192.168.0.10;Switch A在备份组1中的优先级为110;配置备份组1监视Track项1的状态,当Track项状态为Negative时,Switch A的优先级降低20。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchA-Vlan-interface2] vrrp vrid 1 priority 110
[SwitchA-Vlan-interface2] vrrp vrid 1 track 1 priority reduced 20
[SwitchA-Vlan-interface2] quit
(3) 在Switch A上创建和控制报文方式的BFD会话关联的Track项
# 创建和控制报文方式的BFD会话关联的Track项1,并进入Track视图,检测IP地址为1.1.1.2的上行设备是否可达。
[SwitchA] track 1 bfd ctrl interface vlan-interface 3 remote ip 1.1.1.2 local ip 1.1.1.1
[SwitchA-track-1] quit
(4) 在Master上行设备上创建和控制报文方式的BFD会话关联的Track项
# 创建和控制报文方式的BFD会话关联的Track项1,检测IP地址为1.1.1.1的Switch A是否可达。
<Matser> system-view
[Master] track 1 bfd ctrl interface vlan-interface 3 remote ip 1.1.1.1 local ip 1.1.1.2
(5) 在Switch B上配置VRRP
# 创建备份组1,配置备份组1的虚拟IP地址为192.168.0.10。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchB-Vlan-interface2] return
# 显示Switch A上备份组的详细信息。
<SwitchA> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 110 Running Pri : 110
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.101
VRRP Track Information:
Track Object : 1 State : Positive Pri Reduced : 20
# 显示Switch A上Track项1的信息。
<SwitchA> display track 1
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD ctrl
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Ctrl
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 1.1.1.2
Local IP: 1.1.1.1
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Master IP : 192.168.0.101
以上显示信息表示Track项1的状态为Positive时,Switch A为Master路由器,Switch B为Backup路由器。
# 当Switch A监视的上行链路出现故障时,Track项1的状态变为Negative。
<SwitchA> display track 1
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD ctrl
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Ctrl
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 1.1.1.2
Local IP: 1.1.1.1
# 查看Switch A上备份组的详细信息。
<SwitchA> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 110 Running Pri : 90
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Master IP : 192.168.0.102
VRRP Track Information:
Track Object : 1 State : Negative Pri Reduced : 20
# 显示Switch B上备份组的详细信息。
<SwitchB> display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.102
以上显示信息表示Switch A通过控制报文方式的BFD会话检测到上行链路不通时,将自己的优先级降低为90,从而保证Switch B抢占成为Master。
Switch A、Switch B、Switch C和Switch D连接了20.1.1.0/24和30.1.1.0/24两个网段,在交换机上配置静态路由以实现两个网段的互通,并配置路由备份以提高网络的可靠性。
Switch A作为20.1.1.0/24网段内主机的缺省网关,在Switch A上存在两条到达30.1.1.0/24网段的静态路由,下一跳分别为Switch B和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch B的静态路由优先级高,作为主路由。该路由可达时,Switch A通过Switch B将报文转发到30.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch A上通过静态路由、Track与NQA联动,实时判断主路由是否可达。当主路由不可达时,备份路由生效,Switch A通过Switch C将报文转发到30.1.1.0/24网段。
同样地,Switch D作为30.1.1.0/24网段内主机的缺省网关,在Switch D上存在两条到达20.1.1.0/24网段的静态路由,下一跳分别为Switch B和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch B的静态路由优先级高,作为主路由。该路由可达时,Switch D通过Switch B将报文转发到20.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch D上通过静态路由、Track与NQA联动,实时判断主路由是否可达。当主路由不可达时,备份路由生效,Switch D通过Switch C将报文转发到20.1.1.0/24网段。
图1-7 静态路由、Track与NQA联动配置组网图
(1) 按照图1-7创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.1.1.2,优先级为缺省值60,该路由与Track项1关联。
<SwitchA> system-view
[SwitchA] ip route-static 30.1.1.0 24 10.1.1.2 track 1
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.3.1.3,优先级为80。
[SwitchA] ip route-static 30.1.1.0 24 10.3.1.3 preference 80
# 配置到达10.2.1.4的静态路由:下一跳地址为10.1.1.2。
[SwitchA] ip route-static 10.2.1.4 24 10.1.1.2
# 创建管理员名为admin、操作标签为test的NQA测试组。
[SwitchA] nqa entry admin test
# 配置测试类型为ICMP-echo。
[SwitchA-nqa-admin-test] type icmp-echo
# 配置测试的目的地址为10.2.1.4,下一跳地址为10.1.1.2,以便通过NQA检测Switch A-Switch B-Switch D这条路径的连通性。
[SwitchA-nqa-admin-test-icmp-echo] destination ip 10.2.1.4
[SwitchA-nqa-admin-test-icmp-echo] next-hop ip 10.1.1.2
# 配置测试频率为100ms。
[SwitchA-nqa-admin-test-icmp-echo] frequency 100
# 配置联动项1(连续失败5次触发联动)。
[SwitchA-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only
[SwitchA-nqa-admin-test-icmp-echo] quit
# 启动探测。
[SwitchA] nqa schedule admin test start-time now lifetime forever
# 配置Track项1,并进入Track视图,关联NQA测试组(管理员为admin,操作标签为test)的联动项1。
[SwitchA] track 1 nqa entry admin test reaction 1
[SwitchA-track-1] quit
(3) 配置Switch B
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.2.1.4。
<SwitchB> system-view
[SwitchB] ip route-static 30.1.1.0 24 10.2.1.4
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.1.1.1。
[SwitchB] ip route-static 20.1.1.0 24 10.1.1.1
(4) 配置Switch C
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.4.1.4。
<SwitchC> system-view
[SwitchC] ip route-static 30.1.1.0 24 10.4.1.4
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.3.1.1。
[SwitchC] ip route-static 20.1.1.0 24 10.3.1.1
(5) 配置Switch D
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.2.1.2,优先级为缺省值60,该路由与Track项1关联。
<SwitchD> system-view
[SwitchD] ip route-static 20.1.1.0 24 10.2.1.2 track 1
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.4.1.3,优先级为80。
[SwitchD] ip route-static 20.1.1.0 24 10.4.1.3 preference 80
# 配置到达10.1.1.1的静态路由:下一跳地址为10.2.1.2。
[SwitchD] ip route-static 10.1.1.1 24 10.2.1.2
# 创建管理员名为admin、操作标签为test的NQA测试组。
[SwitchD] nqa entry admin test
# 配置测试类型为ICMP-echo。
[SwitchD-nqa-admin-test] type icmp-echo
# 配置测试的目的地址为10.1.1.1,下一跳地址为10.2.1.2,以便通过NQA检测Switch D-Switch B-Switch A这条路径的连通性。
[SwitchD-nqa-admin-test-icmp-echo] destination ip 10.1.1.1
[SwitchD-nqa-admin-test-icmp-echo] next-hop ip 10.2.1.2
# 配置测试频率为100ms。
[SwitchD-nqa-admin-test-icmp-echo] frequency 100
# 配置联动项1(连续失败5次触发联动)。
[SwitchD-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only
[SwitchD-nqa-admin-test-icmp-echo] quit
# 启动探测。
[SwitchD] nqa schedule admin test start-time now lifetime forever
# 配置Track项1,并进入Track视图,关联NQA测试组(管理员为admin,操作标签为test)的联动项1。
[SwitchD] track 1 nqa entry admin test reaction 1
[SwitchD-track-1] quit
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: NQA
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
NQA entry: admin test
Reaction: 1
Remote IP/URL: 10.2.1.4
Local IP: --
Interface: --
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan2
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.0/24 Static 60 0 10.1.1.2 Vlan2
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan6
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 60 0 10.1.1.2 Vlan2
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,NQA测试的结果为主路由可达(Track项状态为Positive),Switch A通过Switch B将报文转发到30.1.1.0/24网段。
# 在Switch B上删除VLAN接口2的IP地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] undo ip address
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: NQA
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
NQA entry: admin test
Reaction: 1
Remote IP/URL: 10.2.1.4
Local IP: --
Interface: --
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan2
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.0/24 Static 60 0 10.1.1.2 Vlan2
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan6
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 80 0 10.3.1.3 Vlan3
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,NQA测试的结果为主路由不可达(Track项状态为Negative),则备份路由生效,Switch A通过Switch C将报文转发到30.1.1.0/24网段。
# 主路由出现故障后,20.1.1.0/24网段内的主机仍然可以与30.1.1.0/24网段内的主机通信。
[SwitchA] ping -a 20.1.1.1 30.1.1.1
Ping 30.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 30.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=4 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 30.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
# Switch D上的显示信息与Switch A类似。主路由出现故障后,30.1.1.0/24网段内的主机仍然可以与20.1.1.0/24网段内的主机通信。
[SwitchB] ping -a 30.1.1.1 20.1.1.1
Ping 20.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 20.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 20.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=4 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 20.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
Switch A、Switch B和Switch C连接了20.1.1.0/24和30.1.1.0/24两个网段,在交换机上配置静态路由以实现两个网段的互通,并配置路由备份以提高网络的可靠性。
Switch A作为20.1.1.0/24网段内主机的缺省网关,在Switch A上存在两条到达30.1.1.0/24网段的静态路由,下一跳分别为Switch B和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch B的静态路由优先级高,作为主路由。该路由可达时,Switch A通过Switch B将报文转发到30.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch A上通过静态路由、Track与Echo报文方式的BFD会话联动,实时判断主路由是否可达。当主路由不可达时,Echo报文方式的BFD会话能够快速地检测到路由故障,使得备份路由生效,Switch A通过Switch C和Switch B将报文转发到30.1.1.0/24网段。
同样地,Switch B作为30.1.1.0/24网段内主机的缺省网关,在Switch B上存在两条到达20.1.1.0/24网段的静态路由,下一跳分别为Switch A和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch A的静态路由优先级高,作为主路由。该路由可达时,Switch B通过Switch A将报文转发到20.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch B上通过静态路由、Track与Echo报文方式的BFD会话联动,实时判断主路由是否可达。当主路由不可达时,Echo报文方式的BFD会话能够快速地检测到路由故障,使得备份路由生效,Switch B通过Switch C和Switch A将报文转发到20.1.1.0/24网段。
图1-8 静态路由、Track与Echo报文方式的BFD会话联动配置组网图
(1) 按照图1-8创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 配置Switch A
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.2.1.2,优先级为缺省值60,该路由与Track项1关联。
<SwitchA> system-view
[SwitchA] ip route-static 30.1.1.0 24 10.2.1.2 track 1
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.3.1.3,优先级为80。
[SwitchA] ip route-static 30.1.1.0 24 10.3.1.3 preference 80
# 配置BFD Echo报文的源地址为10.10.10.10。
[SwitchA] bfd echo-source-ip 10.10.10.10
# 创建和Echo报文方式的BFD会话关联的Track项1,并进入Track视图,检测Switch A是否可以与静态路由的下一跳Switch B互通。
[SwitchA] track 1 bfd echo interface vlan-interface 2 remote ip 10.2.1.2 local ip 10.2.1.1
[SwitchA-track-1] quit
(3) 配置Switch B
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.2.1.1,优先级为缺省值60,该路由与Track项1关联。
<SwitchB> system-view
[SwitchB] ip route-static 20.1.1.0 24 10.2.1.1 track 1
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.4.1.3,优先级为80。
[SwitchB] ip route-static 20.1.1.0 24 10.4.1.3 preference 80
# 配置BFD echo报文的源地址为1.1.1.1。
[SwitchB] bfd echo-source-ip 1.1.1.1
# 创建和BFD会话关联的Track项1,并进入Track视图,检测Switch B是否可以与静态路由的下一跳Switch A互通。
[SwitchB] track 1 bfd echo interface vlan-interface 2 remote ip 10.2.1.1 local ip 10.2.1.2
[SwitchB-track-1] quit
(4) 配置Switch C
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.4.1.2。
<SwitchC> system-view
[SwitchC] ip route-static 30.1.1.0 24 10.4.1.2
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.3.1.1。
[SwitchB] ip route-static 20.1.1.0 24 10.3.1.1
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD echo
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Echo
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 10.2.1.2
Local IP: 10.2.1.1
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan2
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan5
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 60 0 10.2.1.2 Vlan2
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,Echo报文方式的BFD会话检测的结果为下一跳地址10.2.1.2可达(Track项状态为Positive),主路由生效,Switch A通过Switch B将报文转发到30.1.1.0/24网段。
# 在Switch B上删除VLAN接口2的IP地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] undo ip address
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD echo
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Echo
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 10.2.1.2
Local IP: 10.2.1.1
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan2
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan5
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 80 0 10.3.1.3 Vlan3
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,Echo报文方式的BFD会话检测的结果为下一跳地址10.2.1.2不可达(Track项状态为Negative),备份路由生效,Switch A通过Switch C和Switch B将报文转发到30.1.1.0/24网段。
# 主路由出现故障后,20.1.1.0/24网段内的主机仍然可以与30.1.1.0/24网段内的主机通信。
[SwitchA] ping -a 20.1.1.1 30.1.1.1
Ping 30.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 30.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=4 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 30.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
# Switch B上的显示信息与Switch A类似。主路由出现故障后,30.1.1.0/24网段内的主机仍然可以与20.1.1.0/24网段内的主机通信。
[SwitchB] ping -a 30.1.1.1 20.1.1.1
Ping 20.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 20.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 20.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=4 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 20.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
Switch A、Switch B和Switch C连接了20.1.1.0/24和30.1.1.0/24两个网段,在交换机上配置静态路由以实现两个网段的互通,并配置路由备份以提高网络的可靠性。
Switch A作为20.1.1.0/24网段内主机的缺省网关,在Switch A上存在两条到达30.1.1.0/24网段的静态路由,下一跳分别为Switch B和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch B的静态路由优先级高,作为主路由。该路由可达时,Switch A通过Switch B将报文转发到30.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch A上通过静态路由、Track与控制报文方式的BFD会话联动,实时判断主路由是否可达。当主路由不可达时,控制报文方式的BFD会话能够快速地检测到路由故障,使得备份路由生效,Switch A通过Switch C和Switch B将报文转发到30.1.1.0/24网段。
同样地,Switch B作为30.1.1.0/24网段内主机的缺省网关,在Switch B上存在两条到达20.1.1.0/24网段的静态路由,下一跳分别为Switch A和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch A的静态路由优先级高,作为主路由。该路由可达时,Switch B通过Switch A将报文转发到20.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch B上通过静态路由、Track与控制报文方式的BFD会话联动,实时判断主路由是否可达。当主路由不可达时,控制报文方式的BFD会话能够快速地检测到路由故障,使得备份路由生效,Switch B通过Switch C和Switch A将报文转发到20.1.1.0/24网段。
图1-9 静态路由、Track与控制报文方式的BFD会话联动配置组网图
(1) 按照图1-9创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 配置Switch A
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.2.1.2,优先级为缺省值60,该路由与Track项1关联。
<SwitchA> system-view
[SwitchA] ip route-static 30.1.1.0 24 10.2.1.2 track 1
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.3.1.3,优先级为80。
[SwitchA] ip route-static 30.1.1.0 24 10.3.1.3 preference 80
# 创建和控制报文方式的BFD会话关联的Track项1,并进入Track视图,检测Switch A是否可以与静态路由的下一跳Switch B互通。
[SwitchA] track 1 bfd ctrl interface vlan-interface 2 remote ip 10.2.1.2 local ip 10.2.1.1
[SwitchA-track-1] quit
(3) 配置Switch B
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.2.1.1,优先级为缺省值60,该路由与Track项1关联。
<SwitchB> system-view
[SwitchB] ip route-static 20.1.1.0 24 10.2.1.1 track 1
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.4.1.3,优先级为80。
[SwitchB] ip route-static 20.1.1.0 24 10.4.1.3 preference 80
# 创建和控制报文方式的BFD会话关联的Track项1,并进入Track视图,检测Switch B是否可以与静态路由的下一跳Switch A互通。
[SwitchB] track 1 bfd ctrl interface vlan-interface 2 remote ip 10.2.1.1 local ip 10.2.1.2
[SwitchB-track-1] quit
(4) 配置Switch C
(5) # 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.4.1.2。
<SwitchC> system-view
[SwitchC] ip route-static 30.1.1.0 24 10.4.1.2
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.3.1.1。
[SwitchB] ip route-static 20.1.1.0 24 10.3.1.1
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD ctrl
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Ctrl
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 10.2.1.2
Local IP: 10.2.1.1
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan2
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan5
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 60 0 10.2.1.2 Vlan2
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,控制报文方式的BFD会话检测的结果为下一跳地址10.2.1.2可达(Track项状态为Positive),主路由生效,Switch A通过Switch B将报文转发到30.1.1.0/24网段。
# 在Switch B上删除VLAN接口2的IP地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] undo ip address
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD ctrl
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Ctrl
Outgoing interface: Vlan-interface2
VPN instance name: --
Remote IP: 10.2.1.2
Local IP: 10.2.1.1
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan2
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan5
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 80 0 10.3.1.3 Vlan3
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,控制报文方式的BFD会话检测的结果为下一跳地址10.2.1.2不可达(Track项状态为Negative),备份路由生效,Switch A通过Switch C和Switch B将报文转发到30.1.1.0/24网段。
# 主路由出现故障后,20.1.1.0/24网段内的主机仍然可以与30.1.1.0/24网段内的主机通信。
[SwitchA] ping -a 20.1.1.1 30.1.1.1
Ping 30.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 30.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=4 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 30.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
# Switch B上的显示信息与Switch A类似。主路由出现故障后,30.1.1.0/24网段内的主机仍然可以与20.1.1.0/24网段内的主机通信。
[SwitchB] ping -a 30.1.1.1 20.1.1.1
Ping 20.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 20.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 20.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=4 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 20.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
· Host A需要访问Internet上的Host B,Host A的缺省网关为10.1.1.10/24;
· Switch A和Switch B属于虚拟IP地址为10.1.1.10的备份组1;
· 当Switch A正常工作时,Host A发送给Host B的报文通过Switch A转发;当通过接口管理监测到Switch A连接上行链路的VLAN接口3出现故障时,Host A发送给Host B的报文通过Switch B转发。
图1-10 VRRP、Track与接口管理联动配置组网图
(1) 按照图1-10创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 在Switch A上配置Track项
# 创建Track项1,并进入Track视图,与上行接口VLAN接口3的链路状态关联。
[SwitchA] track 1 interface vlan-interface 3
[SwitchA-track-1] quit
(3) 在Switch A上配置VRRP
# 创建备份组1,并配置备份组1的虚拟IP地址为10.1.1.10。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] vrrp vrid 1 virtual-ip 10.1.1.10
# 设置Switch A在备份组1中的优先级为110。
[SwitchA-Vlan-interface2] vrrp vrid 1 priority 110
# 设置监视Track项。
[SwitchA-Vlan-interface2] vrrp vrid 1 track 1 priority reduced 30
(4) 在Switch B上配置VRRP
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
# 创建备份组1,并配置备份组1的虚拟IP地址为10.1.1.10。
[SwitchB-Vlan-interface2] vrrp vrid 1 virtual-ip 10.1.1.10
配置完成后,在Host A上可以ping通Host B。通过display vrrp命令查看配置后的结果。
# 显示Switch A上备份组1的详细信息。
[SwitchA-Vlan-interface2] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 110 Running Pri : 110
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Virtual MAC : 0000-5e00-0101
Master IP : 10.1.1.1
VRRP Track Information:
Track Object : 1 State : Positive Pri Reduced : 30
# 显示Switch B上备份组1的详细信息。
[SwitchB-Vlan-interface2] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Master IP : 10.1.1.1
以上显示信息表示在备份组1中Switch A为Master,Switch B为Backup,Host A发送给Host B的报文通过Switch A转发。
# 在Switch A上关闭VLAN接口3。
[SwitchA-Vlan-interface2] interface vlan-interface 3
[SwitchA-Vlan-interface3] shutdown
关闭Switch A的上行接口后,在Host A上仍然可以ping通Host B。通过display vrrp命令查看备份组的信息。
# 关闭Switch A的上行接口后,显示Switch A上备份组1的详细信息。
[SwitchA-Vlan-interface3] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 110 Running Pri : 80
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Master IP : 10.1.1.2
VRRP Track Information:
Track Object : 1 State : Negative Pri Reduced : 30
# 关闭Switch A的上行接口后,显示Switch B上备份组1的详细信息。
[SwitchB-Vlan-interface2] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Virtual MAC : 0000-5e00-0101
Master IP : 10.1.1.2
以上显示信息表示关闭Switch A的上行接口后,Switch A的优先级降低为80,成为Backup,Switch B成为Master,Host A发送给Host B的报文通过Switch B转发。
· Host A需要访问Internet上的Host B,Host A的缺省网关为10.1.1.10/24;
· Switch A和Switch B属于虚拟IP地址为10.1.1.10的VRRP备份组1;
· Switch A和Switch B分别与Switch C和Switch D建立BGP邻居,学习到缺省路由0.0.0.0/0;
· 当Switch A正常工作时,Host A发送给Host B的报文通过Switch A转发;当通过路由管理监测到Switch A学到的缺省路由被删除时,Host A发送给Host B的报文通过Switch B转发。
图1-11 VRRP、Track与路由管理联动配置组网图
(1) 按照图1-11配置各接口的IP地址,具体配置过程略。
(2) Switch A与Switch C建立IBGP邻居,Switch C向Switch A发布缺省路由;Switch B与Switch D配置类似。
<SwitchA> system-view
[SwitchA] bgp 100
[SwitchA-bgp-default] peer 10.1.2.2 as-number 100
[SwitchA-bgp-default] address-family ipv4
[SwitchA-bgp-default-ipv4] peer 10.1.2.2 enable
<SwitchC> system-view
[SwitchC] bgp 100
[SwitchC-bgp-default] peer 10.1.2.1 as-number 100
[SwitchC-bgp-default] address-family ipv4
[SwitchC-bgp-default-ipv4] peer 10.1.2.1 enable
[SwitchC-bgp-default-ipv4] peer 10.1.2.1 default-route-advertise
[SwitchC-bgp-default-ipv4] quit
(3) 在Switch A上配置Track项
# 创建Track项1,并进入Track视图,与到达Host B的缺省路由0.0.0.0/0建立关联。
[SwitchA] track 1 ip route 0.0.0.0 0.0.0.0 reachability
[SwitchA-track-1] quit
(4) 在Switch A上配置VRRP
# 创建VRRP备份组1,并配置VRRP备份组1的虚拟IP地址为10.1.1.10。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] vrrp vrid 1 virtual-ip 10.1.1.10
# 设置Switch A在VRRP备份组1中的优先级为110。
[SwitchA-Vlan-interface2] vrrp vrid 1 priority 110
# 设置监视Track项,当Track项状态变为Negative,设备优先级降低30。
[SwitchA-Vlan-interface2] vrrp vrid 1 track 1 priority reduced 30
[SwitchA-Vlan-interface2] quit
(5) 在Switch B上配置VRRP
<SwitchB> system-view
# 创建VRRP备份组1,并配置VRRP备份组1的虚拟IP地址为10.1.1.10。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] vrrp vrid 1 virtual-ip 10.1.1.10
[SwitchB-Vlan-interface2] quit
配置完成后,在Host A上可以ping通Host B。通过display vrrp命令查看配置后的结果。
# 显示Switch A上备份组1的详细信息。
[SwitchA] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 110 Running Pri : 110
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Virtual MAC : 0000-5e00-0101
Master IP : 10.1.1.1
VRRP Track Information:
Track Object : 1 State : Positive Pri Reduced : 30
# 显示Switch B上备份组1的详细信息。
[SwitchB] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Master IP : 10.1.1.1
以上显示信息表示在备份组1中Switch A为Master路由器,Switch B为Backup路由器,Host A发送给Host B的报文通过Switch A转发。
# 在Switch C上关闭与对等体10.1.2.1交换路由信息的能力,使Switch A的缺省路由0.0.0.0/0被删除。
[SwitchC-bgp-default-ipv4] undo peer 10.1.2.1 enable
此时,在Host A上仍然可以ping通Host B。通过display vrrp命令查看备份组的信息。
# 显示Switch A上备份组1的详细信息。
[SwitchA] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Backup
Config Pri : 110 Running Pri : 80
Preempt Mode : Yes Delay Time : 0
Become Master : 2200ms left
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Master IP : 10.1.1.2
VRRP Track Information:
Track Object : 1 State : Negative Pri Reduced : 30
#显示Switch B上备份组1的详细信息。
[SwitchB] display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 1
Interface Vlan-interface2
VRID : 1 Adver Timer : 100
Admin Status : Up State : Master
Config Pri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : Not supported
Version : 3
Virtual IP : 10.1.1.10
Virtual MAC : 0000-5e00-0101
Master IP : 10.1.1.2
以上显示信息表示Switch A缺省路由被删除后,Switch A的优先级降低为80,成为Backup路由器,Switch B成为Master路由器,Host A发送给Host B的报文通过Switch B转发。
Device A、Device B和Device C连接了20.1.1.0/24和30.1.1.0/24两个网段,在交换机上配置静态路由以实现两个网段的互通,并配置路由备份以提高网络的可靠性。
Device A作为20.1.1.0/24网段内主机的缺省网关,在Device A上存在两条到达30.1.1.0/24网段的静态路由,下一跳分别为Device B和Device C。这两条静态路由形成备份,其中:
· 下一跳为Device B的静态路由优先级高,作为主路由。该路由可达时,Device A通过Device B将报文转发到30.1.1.0/24网段。
· 下一跳为Device C的静态路作为备份路由。
· 在Device A上通过静态路由、Track与LLDP联动,实时判断主路由是否可达。当主路由不可达时,LLDP能够检测到路由故障,使得备份路由生效,Device A通过Device C和Device B将报文转发到30.1.1.0/24网段。
同样地,Device B作为30.1.1.0/24网段内主机的缺省网关,在Device B上存在两条到达20.1.1.0/24网段的静态路由,下一跳分别为Device A和Device C。这两条静态路由形成备份,其中:
· 下一跳为Device A的静态路由优先级高,作为主路由。该路由可达时,Device B通过Device A将报文转发到20.1.1.0/24网段。
· 下一跳为Device C的静态路作为备份路由。
· 在Device B上通过静态路由、Track与LLDP联动,实时判断主路由是否可达。当主路由不可达时,LLDP能够检测到路由故障,使得备份路由生效,Device B通过Device C和Device A将报文转发到20.1.1.0/24网段。
图1-12 静态路由、Track与LLDP联动配置组网图
(1) 按照图1-12配置各接口的IP地址,具体配置过程略。
(2) 配置Device A
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.2.1.2,优先级为缺省值60,该路由与Track项1关联。
<DeviceA> system-view
[DeviceA] ip route-static 30.1.1.0 24 10.2.1.2 track 1
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.3.1.3,优先级为80。
[DeviceA] ip route-static 30.1.1.0 24 10.3.1.3 preference 80
# 全局开启LLDP功能。
[DeviceA] lldp global enable
# 在接口Ten-GigabitEthernet1/0/1上开启LLDP功能(此步骤可省略,LLDP功能在接口上缺省开启)。
[DeviceA] interface ten-gigabitethernet 1/0/1
[DeviceA-Ten-GigabitEthernet1/0/1] lldp enable
# 创建和LLDP邻居关联的Track项1,并进入Track视图,检测Device A是否可以与静态路由的下一跳Device B互通。
[DeviceA] track 1 lldp neighbor interface ten-gigabitethernet 1/0/1
[DeviceA-track-1] quit
(3) 配置Device B
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.2.1.1,优先级为缺省值60,该路由与Track项1关联。
<DeviceB> system-view
[DeviceB] ip route-static 20.1.1.0 24 10.2.1.1 track 1
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.4.1.3,优先级为80。
[DeviceB] ip route-static 20.1.1.0 24 10.4.1.3 preference 80
# 全局开启LLDP功能。
[DeviceB] lldp global enable
# 在接口Ten-GigabitEthernet1/0/1上开启LLDP功能(此步骤可省略,LLDP功能在接口上缺省开启)。
[DeviceB] interface ten-gigabitethernet 1/0/1
[DeviceB-Ten-GigabitEthernet1/0/1] lldp enable
# 创建和LLDP邻居关联的Track项1,并进入Track视图,检测Device B是否可以与静态路由的下一跳Device A互通。
[DeviceB] track 1 lldp neighbor interface ten-gigabitethernet 1/0/1
[DeviceB-track-1] quit
(4) 配置Device C
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.4.1.2。
<DeviceC> system-view
[DeviceC] ip route-static 30.1.1.0 24 10.4.1.2
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.3.1.1。
[DeviceC] ip route-static 20.1.1.0 24 10.3.1.1
# 显示Device A上Track项的信息。
[DeviceA] display track all
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: LLDP
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
LLDP interface: Ten-GigabitEthernet1/0/1
# 显示Device A的路由表。
[DeviceA] display ip routing-table
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 XGE1/0/1
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 XGE1/0/2
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 XGE1/0/3
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 60 0 10.2.1.2 XGE1/0/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,LLDP检测的结果为下一跳地址10.2.1.2可达(Track项状态为Positive),主路由生效,Device A通过Device B将报文转发到30.1.1.0/24网段。
# 在Device B上关闭接口Ten-GigabitEthernet1/0/1的LLDP功能。
<DeviceB> system-view
[DeviceB] interface ten-gigabitethernet 1/0/1
[DeviceB-Ten-GigabitEthernet1/0/1] undo lldp enable
# 显示Device A上Track项的信息。
[DeviceA] display track all
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: LLDP
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
LLDP interface: Ten-GigabitEthernet1/0/1
# 显示Device A的路由表。
[DeviceA] display ip routing-table
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 XGE1/0/1
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 XGE1/0/2
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 XGE1/0/3
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 80 0 10.3.1.3 XGE1/0/2
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,LLDP检测的结果为下一跳地址10.2.1.2不可达(Track项状态为Negative),备份路由生效,Device A通过Device C和Device B将报文转发到30.1.1.0/24网段。
# 主路由出现故障后,20.1.1.0/24网段内的主机仍然可以与30.1.1.0/24网段内的主机通信。
[DeviceA] ping -a 20.1.1.1 30.1.1.1
Ping 30.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 30.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=4 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 30.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
# Device B上的显示信息与Device A类似。主路由出现故障后,30.1.1.0/24网段内的主机仍然可以与20.1.1.0/24网段内的主机通信。
[DeviceB] ping -a 30.1.1.1 20.1.1.1
Ping 20.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 20.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 20.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=4 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- Ping statistics for 20.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.00% packet loss
round-trip min/avg/max/std-dev = 1/1/2/1 ms
具体配置举例请参见“可靠性配置指导”中的“Smart Link”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!