策略路由Track与NQA联动配置总结-H3C
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了策略路由Track与NQA联动配置总结-H3C相关的知识,希望对你有一定的参考价值。
策略路由根据需求自行修改,本文主要是专注nqa的配置。如果探测的出接口为dialer接口就不用设置下一跳直接出接口就可以了(out interface Dialer0 )。探测目标类型也可以根据具体需改,我做的是用icmp探测链路的状态,还有探测目标还可以为TCP UDP HTTP等等。
一、组网需求:
Switch A、Switch B、Switch C两两互联,在Switch A上配置策略路由,使不同的业务流量报文转发到不同的网段。
Switch A作为10.1.1.0/24网段内主机的缺省网关,配置20.1.1.0/24网段的静态路由指向Switch B,并配置静态路由使Switch A、Switch B、Switch C所有直连网段能够互通。通过配置策略路由,对于来自10.1.1.0/24网段的ICMP流量,优先通过Switch C进行转发;对于该网段的其他流量,则通过Switch B进行转发。
如果Switch B与Switch C之间的链路故障,则策略路由将会导致ICMP流量无法完成转发。在Switch A上通过策略路由、Track与NQA联动,实时探测Switch B与Switch C的直连网段路由是否可达。如果路由不可达,则NQA能够快速地检测到路由故障,使Switch A上策略路由失效,ICMP流量将查找路由表路由通过Switch B进行转发。
同样地,Switch B作为20.1.1.0/24网段内主机的缺省网关,配置10.1.1.0/24网段的静态路由指向Switch A。对于来自20.1.1.0/24网段的ICMP流量,优先通过Switch C进行转发;对于该网段的其他流量,则通过Switch B进行转发。
在Switch B上通过策略路由、Track与NQA联动,实时探测Switch A与Switch C的直连网段路由是否可达。如果Switch A与Switch C之间的链路故障,此时路由不可达,则NQA能够快速地检测到路由故障,使Switch B上策略路由失效,ICMP流量将查找路由表路由通过Switch A进行转发。
二、组网图:
三、配置步骤:
按照组网图创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
- 配置Switch A
1.1 配置到达非直连网段的静态路由。
1)配置到达20.1.1.0/24网段的静态路由,下一跳地址为12.1.1.2。
system-view
[SwitchA] ip route-static 20.1.1.0 24 12.1.1.2
2)配置到达23.1.1.0/30网段的静态路由,下一跳地址为13.1.1.2。
[SwitchA] ip route-static 23.1.1.0 30 13.1.1.2
1.2 配置TRACK项
1)创建管理员名为admin、操作标签为test的NQA测试组。
[SwitchA] nqa entry admin test
2)配置测试类型为ICMP-echo。
[SwitchA-nqa-admin-test] type icmp-echo
3)配置测试的目的地址为23.1.1.1,下一跳地址为13.1.1.2,以便通过NQA检测Switch A-Switch C-Switch B这条路径的连通性。
[SwitchA-nqa-admin-test-icmp-echo] destination ip 23.1.1.1
[SwitchA-nqa-admin-test-icmp-echo] next-hop 13.1.1.2
4)配置测试频率为1000ms。
[SwitchA-nqa-admin-test-icmp-echo] frequency 1000
5)配置联动项1(连续失败3次触发联动)。
[SwitchA-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[SwitchA-nqa-admin-test-icmp-echo] quit
6)启动探测。
[SwitchA] nqa schedule admin test start-time now lifetime forever
7)配置Track项1,关联NQA测试组(管理员为admin,操作标签为test)的联动项1。
[SwitchA] track 1 nqa entry admin test reaction 1
1.3 配置关于ICMP流量报文的策略路由,并且与Track项联动。
1)定义访问控制列表ACL 3001,用来匹配ICMP报文。
[SwitchA] acl number 3001
[SwitchA-acl-adv-3001] rule permit icmp
[SwitchA-acl-adv-3001] quit
2)定义5号节点,指定所有ICMP报文的下一跳为13.1.1.2。
[SwitchA] policy-based-route ICMP_PBR permit node 5
[SwitchA-pbr-ICMP_PBR-5] if-match acl 3001
[SwitchA-pbr-ICMP_PBR-5] apply ip-address next-hop 13.1.1.2 track 1
[SwitchA-pbr-ICMP_PBR-5] quit
3)在接口Vlan-interface10上应用转发策略路由,处理此接口接收的报文。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip policy-based-route ICMP_PBR
[SwitchA-Vlan-interface10] quit - 配置Switch B
2.1 配置到达非直连网段的静态路由。
1) 配置到达10.1.1.0/24网段的静态路由,下一跳地址为12.1.1.1。
system-view
[SwitchB] ip route-static 10.1.1.0 24 12.1.1.1
2) 配置到达13.1.1.0/30网段的静态路由,下一跳地址为23.1.1.2。
[SwitchB] ip route-static 13.1.1.0 30 23.1.1.2
2.2 配置TRACK项
1)创建管理员名为admin、操作标签为test的NQA测试组。
[SwitchB] nqa entry admin test
2)配置测试类型为ICMP-echo。
[SwitchB-nqa-admin-test] type icmp-echo
3)配置测试的目的地址为13.1.1.1,下一跳地址为23.1.1.2,以便通过NQA检测Switch B-Switch C-Switch A这条路径的连通性。
[SwitchB-nqa-admin-test-icmp-echo] destination ip 13.1.1.1
[SwitchB-nqa-admin-test-icmp-echo] next-hop 23.1.1.2
4)配置测试频率为1000ms。
[SwitchB-nqa-admin-test-icmp-echo] frequency 1000
5)配置联动项1(连续失败3次触发联动)。
[SwitchB-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[SwitchB-nqa-admin-test-icmp-echo] quit
6)启动探测。
[SwitchB] nqa schedule admin test start-time now lifetime forever
7)配置Track项1,关联NQA测试组(管理员为admin,操作标签为test)的联动项1。
[SwitchB] track 1 nqa entry admin test reaction 1
2.3 配置关于ICMP流量报文的策略路由,并且与Track项联动。
1)定义访问控制列表ACL 3001,用来匹配ICMP报文。
[SwitchB] acl number 3001
[SwitchB-acl-adv-3001] rule permit icmp
[SwitchB-acl-adv-3001] quit
2)定义5号节点,指定所有ICMP报文的下一跳为23.1.1.2。
[SwitchB] policy-based-route ICMP_PBR permit node 5
[SwitchB-pbr-ICMP_PBR-5] if-match acl 3001
[SwitchB-pbr-ICMP_PBR-5] apply ip-address next-hop 23.1.1.2 track 1
[SwitchB-pbr-ICMP_PBR-5] quit
3)在接口Vlan-interface20上应用转发策略路由,处理此接口接收的报文。
[SwitchB] interface vlan-interface 20
[SwitchB-Vlan-interface20] ip policy-based-route ICMP_PBR
[SwitchB-Vlan-interface20] quit - 配置Switch C
3.1 配置到达非直连网段的静态路由。
1)配置到达10.1.1.0/24网段的静态路由,下一跳地址为13.1.1.1。
system-view
[SwitchC] ip route-static 10.1.1.0 24 13.1.1.1
2)配置到达20.1.1.0/24网段的静态路由,下一跳地址为23.1.1.1。
[SwitchC] ip route-static 20.1.1.0 24 23.1.1.1
4.验证配置结果
4.1 验证策略路由是否生效。
在Switch B上做流量统计,对ICMP流量报文和其他报文(以Telnet报文为例)做流量统计,验证策略路由是否生效。
1)配置流量统计QoS
定义ACL 3005,匹配ICMP流量报文:
acl number 3005
rule 0 permit icmp source 10.1.1.0 0.0.0.255 destination 20.1.1.0 0.0.0.255
定义ACL 3006,匹配TCP流量报文:
acl number 3006
rule 0 permit tcp source 10.1.1.0 0.0.0.255 destination 20.1.1.0 0.0.0.255
创建流量统计QoS:
traffic classifier ACC_1 operator and
if-match acl 3005
#
traffic classifier ACC_2 operator and
if-match acl 3006
#
traffic behavior ACC
accounting packet
#
qos policy ACC
classifier ACC_1 behavior ACC
classifier ACC_2 behavior ACC
#
将QoS分别应用在连接Switch A的G1/0/2和连接Switch C的G1/0/1接口的入方向:
interface GigabitEthernet1/0/1
qos apply policy ACC inbound
interface GigabitEthernet1/0/2
qos apply policy ACC inbound
查看流量统计结果
从10.1.1.0/24网段的主机上Ping/Telnet 20.1.1.0/24网段的主机后,查看流量统计结果:
[SwitchB]display qos policy interface GigabitEthernet 1/0/2
Interface: GigabitEthernet1/0/2
Direction: Inbound
Policy: ACC
Classifier: ACC_1
Operator: AND
Rule(s) : If-match acl 3005
Behavior: ACC
Accounting Enable:
0 (Packets)
Classifier: ACC_2
Operator: AND
Rule(s) : If-match acl 3006
Behavior: ACC
Accounting Enable:
32 (Packets)
[SwitchB]display qos policy interface GigabitEthernet 1/0/1
Interface: GigabitEthernet1/0/1
Direction: Inbound
Policy: ACC
Classifier: ACC_1
Operator: AND
Rule(s) : If-match acl 3005
Behavior: ACC
Accounting Enable:
5 (Packets)
Classifier: ACC_2
Operator: AND
Rule(s) : If-match acl 3006
Behavior: ACC
Accounting Enable:
0 (Packets)
由于Telnet使用的是TCP协议,ping使用的是ICMP协议,所以由以上结果可证明:Switch A转发的ICMP报文的下一跳为13.1.1.2,策略路由生效。
4.2 验证策略路由与Track项联动是否生效。
断开Switch B与Switch C的链路后,查看Switch A上Track项状态:
display track 1
Track ID: 1
Status: Negative
Duration: 0 days 0 hours 1 minutes 35 seconds
Notification delay: Positive 0, Negative 0 (in seconds)
Reference object:
NQA entry: admin test
Reaction: 1
清空Switch B的流量统计计数,重新进行Ping/Telnet操作,再次查看Switch B的流量统计结果:
[SwitchB]display qos policy interface GigabitEthernet 1/0/2
Interface: GigabitEthernet1/0/2
Direction: Inbound
Policy: ACC
Classifier: ACC_1
Operator: AND
Rule(s) : If-match acl 3005
Behavior: ACC
Accounting Enable:
5 (Packets)
Classifier: ACC_2
Operator: AND
Rule(s) : If-match acl 3006
Behavior: ACC
Accounting Enable:
54 (Packets)
说明Track项已经检测到探测的网段不可达,并且成功将策略路由置为无效。
以上验证步骤是诊断流量从10.1.1.0/24网段到20.1.1.0/24网段的情况,对于反向的流量验证与上面情况类似。
四、配置关键点:
无
nqa相关其他配置
nqa entry admin icmp1
history-record enable 启用探测历史记录
out interface GigabitEthernet1/0/3 指定出接口
指定Track项状态变为Negative时,延迟通知应用模块时间为50秒;Track项状态变为Positive时,延迟通知应用模块时间为120秒。
[Sysname] track 101 list boolean or
[Sysname-track-101] delay negative 50 positive 120
检查nqa是否正常,可以先去检查track的状态,如果为positive代表正常,negative为失败。
display nqa history命令用来显示NQA测试组的历史记录。
display nqa reaction counters命令用来显示阈值告警组的当前监测结果。
display nqa result命令用来显示最近一次NQA测试的结果。
display nqa statistics命令用来显示NQA测试的统计信息。
以上是关于策略路由Track与NQA联动配置总结-H3C的主要内容,如果未能解决你的问题,请参考以下文章