某公司网络使用SwitchA做汇聚层交换机,接入层交换机LSW做用户网关,LSW和SwitchA之间路由可达。汇聚层交换机SwitchA通过两条链路连接到两个核心交换机上,一条是高速链路,网关为10.1.20.1/24;另外一条是低速链路,网关为10.1.30.1/24。通过在汇聚层交换机SwitchA上配置默认路由保证流量默认通过高速链路传输。公司希望实现如下需求:
- 为了减少高速链路的带宽压力,希望通过策略路由将源IP地址为192.168.101.0/24的报文分流至低速链路传输。
- 当低速链路出现故障的时候,希望源IP地址为192.168.101.0/24的报文能尽快切换回高速链路传输,尽量缩短由于链路故障导致的通信中断时间。
配置思路
采用策略路由与NQA联动的方式为策略路由增加检测机制,具体配置思路如下:
- 创建VLAN并配置各接口,实现公司和外部网络设备互连。
- 配置NQA测试例,用于检测低速链路的质量,为策略路由提供检测机制。
- 配置ACL规则,匹配需要分流至低速链路的报文,即源IP地址为192.168.101.0/24的报文。
- 配置流分类,匹配规则为上述ACL规则,使设备可以对报文进行区分。
- 配置流行为,将源IP地址为192.168.101.0/24的报文重定向到10.1.30.1,同时配置策略路由联动NQA测试例。
- 配置流策略,绑定上述流分类和流行为,并应用到接口GE0/0/3的入方向上,实现策略路由与NQA联动。
操作步骤
- 配置各接口所属的VLAN
# 配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 100 200 [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type trunk [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 100 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type trunk [SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 200 [SwitchA-GigabitEthernet0/0/2] quit
- 配置各VLANIF接口的IP地址
# 配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。
[SwitchA] interface vlanif 100 [SwitchA-Vlanif100] ip address 10.1.20.2 24 [SwitchA-Vlanif100] quit [SwitchA] interface vlanif 200 [SwitchA-Vlanif200] ip address 10.1.30.2 24 [SwitchA-Vlanif200] quit
- 在SwitchA上配置NQA测试例
[SwitchA] nqa test-instance user test [SwitchA-nqa-user-test] test-type icmp [SwitchA-nqa-user-test] destination-address ipv4 10.1.30.1 [SwitchA-nqa-user-test] frequency 11 [SwitchA-nqa-user-test] probe-count 2 [SwitchA-nqa-user-test] interval seconds 5 [SwitchA-nqa-user-test] timeout 4 [SwitchA-nqa-user-test] start now [SwitchA-nqa-user-test] quit
- 在SwitchA上查看NQA测试结果
[SwitchA] display nqa results test-instance user test NQA entry(user, test) :testflag is active ,testtype is icmp 1 . Test 288 result The test is finished Send operation times: 2 Receive response times: 2 Completion:success RTD OverThresholds number: 0 Attempts number:1 Drop operation number:0 Disconnect operation number:0 Operation timeout number:0 System busy operation number:0 Connection fail number:0 Operation sequence errors number:0 RTT Status errors number:0 Destination ip address:10.1.30.1 Min/Max/Average Completion Time: 3/4/3 Sum/Square-Sum Completion Time: 7/25 Last Good Probe Time: 2014-09-09 09:55:38.2 Lost packet ratio: 0 %
可以看到“Completion:success”、“Lost packet ratio: 0 %”,这说明NQA测试结果成功,链路没有发生故障。
- 配置ACL规则
# 在SwitchA上创建编码为3001的高级ACL,规则为允许源IP地址为192.168.101.0/24的报文通过。
[SwitchA] acl 3001 [SwitchA-acl-adv-3001] rule permit ip source 192.168.101.0 0.0.0.255 [SwitchA-acl-adv-3001] quit
- 配置流分类
在SwitchA上创建流分类c1,匹配规则分别为ACL 3001。
[SwitchA] traffic classifier c1 operator or [SwitchA-classifier-c1] if-match acl 3001 [SwitchA-classifier-c1] quit
- 配置流行为
# 在SwitchA上创建流行为b1,指定重定向到10.1.30.1的动作,并联动NQA测试例。
[SwitchA] traffic behavior b1 [SwitchA-behavior-b1] redirect ip-nexthop 10.1.30.1 track-nqa user test [SwitchA-behavior-b1] quit
- 配置流策略并应用到接口上
# 在SwitchA上创建流策略p1,将流分类和对应的流行为进行绑定。
[SwitchA] traffic policy p1 [SwitchA-trafficpolicy-p1] classifier c1 behavior b1 [SwitchA-trafficpolicy-p1] quit
# 将流策略p1应用到接口GE0/0/3的入方向上。
[SwitchA] interface gigabitethernet 0/0/3 [SwitchA-GigabitEthernet0/0/3] traffic-policy p1 inbound [SwitchA-GigabitEthernet0/0/3] return
- 验证配置结果
# 查看ACL规则的配置信息。
<SwitchA> display acl 3001 Advanced ACL 3001, 1 rule Acl's step is 5 rule 5 permit ip source 192.168.101.0 0.0.0.255
# 查看流分类的配置信息。
<SwitchA> display traffic classifier user-defined User Defined Classifier Information: Classifier: c1 Operator: OR Rule(s) : if-match acl 3001 Total classifier number is 1
# 查看流策略的配置信息。
<SwitchA> display traffic policy user-defined p1 User Defined Traffic Policy Information: Policy: p1 Classifier: c1 Operator: OR Behavior: b1 Redirect: no forced Redirect ip-nexthop 10.1.30.1 track-nqa user test
由以上回显可以看出,SwitchA的策略路由与NQA进行了联动,这样当链路故障的时候,SwitchA上的策略路由将立即失效(不需要等待ARP表项的老化),流量将重新按照路由的指向转发。