策略路由根據需求自行修改,本文主要是專一nqa的配置。若是探測的出接口爲dialer接口就不用設置下一跳直接出接口就能夠了(out interface Dialer0 )。探測目標類型也能夠根據具體需改,我作的是用icmp探測鏈路的狀態,還有探測目標還能夠爲TCP UDP HTTP等等。html
1、組網需求:
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進行轉發。
2、組網圖:
3、配置步驟:
按照組網圖建立VLAN,在VLAN中加入對應的端口,並配置各VLAN接口的IP地址,具體配置過程略。node
- 配置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/1react
qos apply policy ACC inboundapp
interface GigabitEthernet1/0/2tcp
qos apply policy ACC inboundpost
查看流量統計結果
從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網段的狀況,對於反向的流量驗證與上面狀況相似。
4、配置關鍵點:
無測試
nqa相關其餘配置
nqa entry admin icmp1
history-record enable 啓用探測歷史記錄
out interface GigabitEthernet1/0/3 指定出接口ui
指定Track項狀態變爲Negative時,延遲通知應用模塊時間爲50秒;Track項狀態變爲Positive時,延遲通知應用模塊時間爲120秒。
[Sysname] track 2 nqa entry admin icmp2 reaction 1
[Sysname-track-101] delay negative 50 positive 120htm
檢查nqa是否正常,能夠先去檢查track的狀態,若是爲positive表明正常,negative爲失敗。
blog
display nqa history命令用來顯示NQA測試組的歷史記錄。display nqa reaction counters命令用來顯示閾值告警組的當前監測結果。display nqa result命令用來顯示最近一次NQA測試的結果。display nqa statistics命令用來顯示NQA測試的統計信息。