15-Track配置
本章节下载: 15-Track配置 (353.23 KB)
目 录
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,双向转发检测)
· 接口管理
· 路由管理
另外,Track模块支持与监测模块列表建立关联。监测对象列表是多个监测对象的集合,这些监测对象依据其状态和列表的类型共同决定Track项的状态,主要有4种类型的列表:
· 布尔与类型列表:基于列表中对象状态的布尔与运算结果决定Track项的状态。
· 布尔或类型列表:基于列表中对象状态的布尔或运算结果决定Track项的状态。
· 比例类型列表:由Track列表中Positive对象/Negative对象的总比例和threshold percentage命令配置的门限值的大小决定Track项的状态。
· 权重类型列表:由Track列表中Positive对象/Negative对象的总权重和threshold weight命令配置的权重值的大小决定Track项的状态。
目前,可以与Track模块实现联动功能的应用模块包括:
· 静态路由
· 策略路由
· 冗余组
· VXLAN
· EAA
· 安全策略
在某些情况下,Track项状态发生变化后,如果立即通知应用模块,则可能会由于路由无法及时恢复等原因,导致通信中断。在这种情况下,用户可以配置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
配置Track项时,引用的NQA测试组或联动项可以不存在,此时该Track项的状态为NotReady。
(3) 指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
如果在Track项和BFD会话之间建立了关联,则当BFD判断出对端不可达时,BFD会通知Track模块将与BFD会话关联的Track项的状态置为Negative;否则,通知Track模块将Track项的状态置为Positive。
BFD会话支持两种工作方式:Echo报文方式和控制报文方式。Track项只能与Echo报文方式的BFD会话建立关联,不能与控制报文方式的BFD会话建立联动。BFD的详细介绍,请参见“网络管理和监控配置指导”中的“BFD”。
配置Track与BFD联动前,需要配置BFD echo报文的源地址,配置方法请参见“网络管理和监控配置指导”中的“BFD”。
(1) 进入系统视图。
system-view
(2) 创建和BFD会话关联的Track项,并进入Track视图。
track track-entry-number bfd echo interface interface-type interface-number { remote ip remote-ip-address local ip local-ip-address | remote ipv6 remote-ipv6-address local ipv6 local-ipv6-address }
(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-entry-number interface interface-type interface-number physical
¡ 监视接口的网络层协议状态。
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。
(1) 进入系统视图。
system-view
(2) 创建与路由管理关联的Track项,并进入Track视图。
track track-entry-number ip route [ vpn-instance vpn-instance-name ] ip-address { mask-length | mask } reachability
(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项。
请参见“1.5 配置Track与单个监测模块联动”。
可配置至少一个与单个监控对象关联的Track项。
(3) 创建和布尔类型列表关联的Track项,并进入Track视图。
track track-entry-number list boolean { and | or }
(4) 向列表中添加与单个监测对象联动的Track项。
object track-entry-number [ not ]
Track列表中需添加所有需要联动的Track对象。
(5) (可选)指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
Track项的状态由Track列表中Positive对象/Negative对象的总比例和threshold percentage命令配置的门限值的大小决定。当列表中Positive对象所占百分比大于或等于Positive门限值时,Track项状态变为Positive;小于或等于Negative门限值时,Track项状态变为Negative。当关联列表中的Positive对象比例小于Positive参数指定值且大于Negative参数指定值时,Track项状态保持不变。
(1) 进入系统视图。
system-view
(2) 创建与单个监控对象关联的Track项。
请参见“1.5 配置Track与单个监测模块联动”。
可配置至少一个与单个监控对象关联的Track项。
(3) 创建和比例类型列表关联的Track项,并进入Track视图。
track track-entry-number list threshold percentage
(4) 向列表中添加与单个监测对象联动的Track项。
object track-entry-number
Track列表中需添加所有需要联动的Track对象。
(5) 配置状态变化的门限值。
threshold percentage { negative negative-threshold | positive positive-threshold } *
缺省情况下,Negative状态门限值为0%,Positive状态门限值为1%。
(6) (可选)指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
Track项的状态由Track列表中Positive对象/Negative对象的总权重和threshold weight命令配置的权重值的大小决定。每个加入列表的Track对象都拥有一个权重值,当处于Positive的监测项的权重之和大于或等于Positive门限值时,Track项状态变为Positive;当处于Positive的监测项的权重之和小于或等于Negative门限值时,Track项状态变为Negative。当关联列表中的Positive对象权重小于Positive参数指定值且大于Negative参数指定值时,Track项状态保持不变。
(1) 进入系统视图。
system-view
(2) 创建与单个监控对象关联的Track项。
请参见“1.5 配置Track与单个监测模块联动”。
可配置至少一个与单个监控对象关联的Track项。
(3) 创建和权重类型列表关联的Track项,并进入Track视图。
track track-entry-number list threshold weight
(4) 向列表中添加与单个监测对象联动的Track项。
object track-entry-number [ weight weight ]
Track列表中需添加所有需要联动的Track对象。
(5) 配置状态变化的权重值。
threshold weight { negative negative-threshold | positive positive-threshold } *
缺省情况下,Negative门限值权重为0,Positive门限值权重为1。
(6) (可选)指定Track项状态变化时通知应用模块的延迟时间。
delay { negative negative-time | positive positive-time } *
缺省情况下,Track项状态变化时立即通知应用模块。
用户配置Track和应用模块联动时,需保证联动的Track项已被创建,否则应用模块可能会获取到错误的Track项状态信息。
静态路由是一种特殊的路由,由管理员手工配置。配置静态路由后,去往指定目的地的报文将按照管理员指定的路径进行转发。静态路由配置的详细介绍,请参见“三层技术-IP路由配置指导”中的“静态路由”和“IPv6静态路由”。
静态路由的缺点在于:不能自动适应网络拓扑结构的变化,当网络发生故障或者拓扑发生变化时,可能会导致静态路由不可达,网络通信中断。
为了防止这种情况发生,可以配置其它路由和静态路由形成备份关系。静态路由可达时,根据静态路由转发报文,其它路由处于备份状态;静态路由不可达时,根据备份路由转发报文,从而避免通信中断,提高了网络可靠性。
通过在Track模块和静态路由之间建立联动,可以实现静态路由可达性的实时判断。
如果在配置静态路由时只指定了下一跳而未指定出接口,可以通过联动功能,利用监测模块监视静态路由下一跳的可达性,并根据Track项的状态来判断静态路由的可达性:
· 当Track项状态为Positive时,静态路由的下一跳可达,配置的静态路由将生效;
· 当Track项状态为Negative时,静态路由的下一跳不可达,配置的静态路由无效;
· 当Track项状态为NotReady时,无法判断静态路由的下一跳是否可达,此时配置的静态路由生效。
如果Track模块通过NQA探测私网静态路由中下一跳的可达性,静态路由下一跳的VPN实例名与NQA测试组配置的实例名必须相同,才能进行正常的探测。
在静态路由进行迭代时,Track项监测的应该是静态路由迭代后最终的下一跳地址,而不是配置中指定的下一跳地址。否则,可能导致错误地将有效路由判断为无效路由。
(1) 进入系统视图。
system-view
(2) 配置通过Track与IPv4静态路由联动,检测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 track track-entry-number | vpn-instance d-vpn-instance-name next-hop-address 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 [ public ] track track-entry-number | vpn-instance d-vpn-instance-name next-hop-address track track-entry-number } [ preference preference ] [ tag tag-value ] [ description text ]
缺省情况下,未配置Track与IPv4静态路由联动。
(1) 进入系统视图。
system-view
(2) 配置通过Track与IPv6静态路由联动,检测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 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 | vpn-instance d-vpn-instance-name next-hop-address 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匹配规则。
¡ 设置IP报文长度匹配规则。
if-match packet-length min-len max-len
缺省情况下,未设置IP报文长度匹配规则。
(4) 配置指导报文转发类动作。请至少选择其中一项进行配置。
¡ 设置指导报文转发的出接口,并与Track项关联。
apply output-interface { interface-type interface-number [ track track-entry-number ] }&<1-n>
缺省情况下,未设置指导报文转发的出接口。
¡ 设置报文的下一跳,并与Track项关联。
apply next-hop [ vpn-instance vpn-instance-name | inbound-vpn ] { ip-address [ direct ] [ track track-entry-number ] [ weight weight-value ] }&<1-n>
缺省情况下,未设置报文转发的下一跳。
¡ 设置报文缺省出接口,并与Track项关联。
apply default-output-interface { interface-type interface-number [ track track-entry-number ] }&<1-n>
缺省情况下,未设置报文的缺省出接口。
¡ 设置报文缺省下一跳,并与Track项关联。
apply default-next-hop [ vpn-instance vpn-instance-name | inbound-vpn ] { ip-address [ direct ] [ track track-entry-number ] }&<1-n>
缺省情况下,未设置指导报文转发的缺省下一跳。
(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匹配规则。
¡ 设置IPv6报文长度匹配规则。
if-match packet-length min-len max-len
缺省情况下,未设置IPv6报文长度匹配规则。
(4) 配置指导报文转发类动作。请至少选择其中一项进行配置。
¡ 设置报文的出接口,并与Track项关联。
apply output-interface { interface-type interface-number [ track track-entry-number ] }&<1-n>
缺省情况下,未设置指导报文转发的出接口。
¡ 设置报文的下一跳,并与Track项关联。
apply next-hop [ vpn-instance vpn-instance-name | inbound-vpn ] { ipv6-address [ direct ] [ track track-entry-number ] [ weight weight-value ] } &<1-n>
缺省情况下,未设置报文转发的下一跳。
¡ 设置报文缺省出接口,并与Track项关联。
apply default-output-interface { interface-type interface-number [ track track-entry-number ] }&<1-n>
缺省情况下,未设置报文的缺省出接口。
¡ 设置报文缺省下一跳,并与Track项关联。
apply default-next-hop [ vpn-instance vpn-instance-name | inbound-vpn ] { ipv6-address [ direct ] [ track track-entry-number ] }&<1-n>
缺省情况下,未设置指导报文转发的缺省下一跳。
冗余组本身无法感知链路故障,所以需要与Track联动,来达到监控链路状态的目的。联动关系建立后,冗余组能够快速检测上、下行链路是否故障,如果故障,则通知组内所有成员(包括以太网冗余接口)整体进行倒换。
通过配置Track与冗余组联动,可以实时监控任意类型的故障,以触发冗余组进行整体倒换。
Track模块根据监测模块的监测结果改变Track项的状态,并将Track项状态通知给冗余组模块;冗余组模块根据Track项状态进行相应处理:
· 如果Track项状态变为Positive,则增加冗余组节点权重值,权重值为正值,则认为节点能够正常工作;
· 如果Track项状态变为Negative,则减少冗余组节点权重值,如果权重值变为负值,则冗余组进行倒转;
· 如果Track项状态变为Notready,处理方式和Negative一致,减少冗余组节点权重值,如果权重值变为负值,则冗余组进行倒转。
关于“冗余组”的详细介绍,请参见“虚拟化配置指导”中的“冗余备份”。
在配置Track与冗余组联动时,需要配置对应的关联接口,当出现故障时,冗余组记录该接口为故障接口。如需使用冗余组自动倒回功能,需要配置该参数;否则可以不配置该参数。
(1) 进入系统视图。
system-view
(2) 创建冗余组并进入该冗余组视图。
redundancy group group-name
(3) 创建冗余组节点,并进入冗余组节点视图。
node node-id
(4) 配置Track与冗余组关联。
track track-entry-number [ reduced weight-reduced ] [ interface interface-type interface-number ]
缺省情况下,冗余组节点下未关联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 [ access-mode { ethernet | vlan } ] track track-entry-number&<1-3>
缺省情况下,接口未与VSI关联,且未启动和Track项的联动功能。
关联VSI的AC为三层子接口时,可以指定access-mode参数,接入模式缺省为VLAN;当AC为三层接口时,不可以指定access-mode参数。
配置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监控事件。
在安全策略中可以配置规则与Track项进行联动,规则与Track项联动后,规则的状态由Track的状态决定。
配置安全策略规则与Track项的Negative状态关联后,当安全策略规则收到Negative状态的Track通知时,将此规则置为有效状态(Active),当安全策略规则收到Positive状态的Track通知时,将此规则置为失效状态(Inactive)。
配置安全策略规则与Track项的Positive状态关联后,当安全策略规则收到Positive状态的Track通知时,将此规则置为有效状态(Active),当安全策略规则收到Negative状态的Track通知时,将此规则置为失效状态(Inactive)。
(1) 进入系统视图。
system-view
(2) 进入安全策略视图。
security-policy { ip | ipv6 }
(3) 进入安全策略规则视图。
rule { rule-id | name name } *
(4) 配置安全策略规则与Track项联动。
track { negative | positive } track-entry-number
缺省情况下,未配置安全策略规则与Track项联动。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Track的运行情况,通过查看显示信息验证配置的效果。
表1-1 Track显示和维护
操作 |
命令 |
显示Track项的信息 |
display track { track-entry-number | all [ negative | positive ] } [ brief ] |
Device A、Device B、Device C和Device D连接了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与NQA联动,实时判断主路由是否可达。当主路由不可达时,备份路由生效,Device A通过Device C将报文转发到30.1.1.0/24网段。
同样地,Device D作为30.1.1.0/24网段内主机的缺省网关,在Device D上存在两条到达20.1.1.0/24网段的静态路由,下一跳分别为Device B和Device C。这两条静态路由形成备份,其中:
· 下一跳为Device B的静态路由优先级高,作为主路由。该路由可达时,Device D通过Device B将报文转发到20.1.1.0/24网段。
· 下一跳为Device C的静态路由作为备份路由。
· 在Device D上通过静态路由、Track与NQA联动,实时判断主路由是否可达。当主路由不可达时,备份路由生效,Device D通过Device C将报文转发到20.1.1.0/24网段。
图1-2 静态路由、Track与NQA联动配置组网图
(1) 按照图1-2配置各接口的IP地址,具体配置过程略。
(2) 配置Device A
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.1.1.2,优先级为缺省值60,该路由与Track项1关联。
<DeviceA> system-view
[DeviceA] ip route-static 30.1.1.0 24 10.1.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
# 配置到达10.2.1.4的静态路由:下一跳地址为10.1.1.2。
[DeviceA] ip route-static 10.2.1.4 24 10.1.1.2
# 创建管理员名为admin、操作标签为test的NQA测试组。
[DeviceA] nqa entry admin test
# 配置测试类型为ICMP-echo。
[DeviceA-nqa-admin-test] type icmp-echo
# 配置测试的目的地址为10.2.1.4,下一跳地址为10.1.1.2,以便通过NQA检测Device A-Device B-Device D这条路径的连通性。
[DeviceA-nqa-admin-test-icmp-echo] destination ip 10.2.1.4
[DeviceA-nqa-admin-test-icmp-echo] next-hop ip 10.1.1.2
# 配置测试频率为100ms。
[DeviceA-nqa-admin-test-icmp-echo] frequency 100
# 配置联动项1(连续失败5次触发联动)。
[DeviceA-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only
[DeviceA-nqa-admin-test-icmp-echo] quit
# 启动探测。
[DeviceA] nqa schedule admin test start-time now lifetime forever
# 配置Track项1,并进入Track视图,关联NQA测试组(管理员为admin,操作标签为test)的联动项1。
[DeviceA] track 1 nqa entry admin test reaction 1
[DeviceA-track-1] quit
(3) 配置Device B
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.2.1.4。
<DeviceB> system-view
[DeviceB] ip route-static 30.1.1.0 24 10.2.1.4
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.1.1.1。
[DeviceB] ip route-static 20.1.1.0 24 10.1.1.1
(4) 配置Device C
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.4.1.4。
<DeviceC> system-view
[DeviceC] ip route-static 30.1.1.0 24 10.4.1.4
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.3.1.1。
[DeviceC] ip route-static 20.1.1.0 24 10.3.1.1
(5) 配置Device D
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.2.1.2,优先级为缺省值60,该路由与Track项1关联。
<DeviceD> system-view
[DeviceD] ip route-static 20.1.1.0 24 10.2.1.2 track 1
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.4.1.3,优先级为80。
[DeviceD] ip route-static 20.1.1.0 24 10.4.1.3 preference 80
# 配置到达10.1.1.1的静态路由:下一跳地址为10.2.1.2。
[DeviceD] ip route-static 10.1.1.1 24 10.2.1.2
# 创建管理员名为admin、操作标签为test的NQA测试组。
[DeviceD] nqa entry admin test
# 配置测试类型为ICMP-echo。
[DeviceD-nqa-admin-test] type icmp-echo
# 配置测试的目的地址为10.1.1.1,下一跳地址为10.2.1.2,以便通过NQA检测Device D-Device B-Device A这条路径的连通性。
[DeviceD-nqa-admin-test-icmp-echo] destination ip 10.1.1.1
[DeviceD-nqa-admin-test-icmp-echo] next-hop ip 10.2.1.2
# 配置测试频率为100ms。
[DeviceD-nqa-admin-test-icmp-echo] frequency 100
# 配置联动项1(连续失败5次触发联动)。
[DeviceD-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only
[DeviceD-nqa-admin-test-icmp-echo] quit
# 启动探测。
[DeviceD] nqa schedule admin test start-time now lifetime forever
# 配置Track项1,并进入Track视图,关联NQA测试组(管理员为admin,操作标签为test)的联动项1。
[DeviceD] track 1 nqa entry admin test reaction 1
[DeviceD-track-1] quit
# 显示Device A上Track项的信息。
[DeviceA] 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:--
# 显示Device A的路由表。
[DeviceA] 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 GE1/0/1
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 GE1/0/1
10.3.1.0/24 Direct 0 0 10.3.1.1 GE1/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 GE1/0/3
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 GE1/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
以上显示信息表示,NQA测试的结果为主路由可达(Track项状态为Positive),Device A通过Device B将报文转发到30.1.1.0/24网段。
# 在Device B上删除接口GigabitEthernet1/0/1的IP地址。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] undo ip address
# 显示Device A上Track项的信息。
[DeviceA] 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:--
# 显示Device A的路由表。
[DeviceA] 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 GE1/0/1
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 GE1/0/1
10.3.1.0/24 Direct 0 0 10.3.1.1 GE1/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 GE1/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 GE1/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
以上显示信息表示,NQA测试的结果为主路由不可达(Track项状态为Negative),则备份路由生效,Device A通过Device C将报文转发到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 D上的显示信息与Device A类似。主路由出现故障后,30.1.1.0/24网段内的主机仍然可以与20.1.1.0/24网段内的主机通信。
[DeviceD] 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
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与BFD联动,实时判断主路由是否可达。当主路由不可达时,BFD能够快速地检测到路由故障,使得备份路由生效,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与BFD联动,实时判断主路由是否可达。当主路由不可达时,BFD能够快速地检测到路由故障,使得备份路由生效,Device B通过Device C和Device A将报文转发到20.1.1.0/24网段。
图1-3 静态路由、Track与BFD联动配置组网图
(1) 按照图1-3配置各接口的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
# 配置BFD echo报文的源地址为10.10.10.10。
[DeviceA] bfd echo-source-ip 10.10.10.10
# 创建和BFD会话关联的Track项1,并进入Track视图,检测Device A是否可以与静态路由的下一跳Device B互通。
[DeviceA] track 1 bfd echo interface gigabitethernet 1/0/1 remote ip 10.2.1.2 local ip 10.2.1.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
# 配置BFD echo报文的源地址为1.1.1.1。
[DeviceB] bfd echo-source-ip 1.1.1.1
# 创建和BFD会话关联的Track项1,并进入Track视图,检测Device B是否可以与静态路由的下一跳Device A互通。
[DeviceB] track 1 bfd echo interface gigabitethernet 1/0/1 remote ip 10.2.1.1 local ip 10.2.1.2
[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: BFD
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Echo
Outgoing interface: GigabitEthernet1/0/1
VPN instance name: --
Remote IP: 10.2.1.2
Local IP: 10.2.1.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 GE1/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 GE1/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 GE1/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 GE1/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
以上显示信息表示,BFD检测的结果为下一跳地址10.2.1.2可达(Track项状态为Positive),主路由生效,Device A通过Device B将报文转发到30.1.1.0/24网段。
# 在Device B上删除接口GigabitEthernet1/0/1的IP地址。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] undo ip address
# 显示Device A上Track项的信息。
[DeviceA] display track all
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Tracked object type: BFD
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
BFD session mode: Echo
Outgoing interface: GigabitEthernet1/0/1
VPN instance name: --
Remote IP: 10.2.1.2
Local IP: 10.2.1.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 GE1/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 GE1/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 GE1/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 GE1/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
以上显示信息表示,BFD检测的结果为下一跳地址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
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!