通过流策略实现策略路由(重定向到不同的下一跳)

ⅰ亾dé卋堺 提交于 2020-03-01 20:36:58

通过流策略实现策略路由(重定向到不同的下一跳)
扫描二维码关注微信公众号:网络民工 获取更多精彩内容
​组网图形

通过流策略实现策略路由(重定向到不同的下一跳)

图1 配置策略路由组网图

策略路由简介

传统的路由转发原理是首先根据报文的目的地址查找路由表,然后进行报文转发。但是目前越来越多的用户希望能够在传统路由转发的基础上根据自己定义的策略进行报文转发和选路。策略路由PBR(Policy-Based Routing)就是一种依据用户制定的策略进行数据转发的机制。

在S系列交换机上,策略路由通过重定向实现,通过配置策略路由可以将到达接口的符合流分类规则的三层报文重定向到指定的下一跳地址。

在某些需要指定特定的数据流走特定的下一跳的场景下可以使用策略路由实现,例如使不同的数据流通过不同的链路进行发送,提高链路的利用效率;将数据流引流到防火墙等安全设备,进行安全过滤;在满足业务服务质量的前提下,选择费用较低的链路传输业务数据,从而降低企业数据服务的成本。

配置注意事项

· 如果设备上没有命中下一跳IP地址对应的ARP表项,设备会触发ARP学习,如果一直学习不到ARP,则报文按原始转发路径转发,重定向不生效。

· 如果通过redirectip-nexthop命令或redirect ipv6-nexthop命令配置多个下一跳时,设备按照主备方式对报文进行重定向转发。设备根据下一跳的配置顺序确定主备链路,配置在前面的下一跳IP地址优先级高,配置的第一个下一跳IP地址所在的链路作为主用链路,其它链路作为备用链路。当主用链路Down掉之后,则自动选取优先级高的下一跳作为新的主链路。

· 如果通过redirectip-multihop命令或redirect ipv6-multihop命令配置多个下一跳时,设备按照等价路由负载分担方式对报文进行重定向转发。

组网需求

如图1所示,公司用户通过Switch双归属到外部网络设备。其中,一条是高速链路,网关为10.1.20.1/24;另外一条是低速链路,网关为10.1.30.1/24。

公司内网有两个网段192.168.1.0/24和192.168.2.0/24。192.168.1.0/24网段主要是服务器区,对链路带宽要求比较高,所以网管决定该网段走高速链路出去;剩余的192.168.2.0/24网段主要用作公司员工上网,上网的话只能走低速链路出去。

配置思路

采用重定向方式实现策略路由,进而提供差分服务,具体配置思路如下:

  1. 创建VLAN并配置各接口,配置路由实现公司和外部网络互通。

  2. 配置ACL规则,分别匹配192.168.1.0和192.168.2.0网段的数据流。

  3. 配置流分类,匹配规则为上述ACL规则,使设备可以对报文进行区分。

  4. 配置流行为,使满足不同ACL规则的数据流走不同的链路,需要注意先把内网互访的数据流放行。

  5. 配置流策略,绑定上述流分类和流行为,并应用到Switch设备的GE0/0/3接口的入方向,实现策略路由。

操作步骤

  1. 创建VLAN并配置各接口,实现基本的互联互通

在SwitchA上创建VLAN10和VLAN20。

<HUAWEI> system-view

[HUAWEI] sysnameSwitchA

[SwitchA] vlanbatch 10 20

配置SwitchA各接口的所属VLAN,连接终端PC的接口配置为Access类型,连接Switch的接口配置为Trunk类型。

[SwitchA] interfacegigabitethernet 0/0/1

[SwitchA-GigabitEthernet0/0/1]port link-type access

[SwitchA-GigabitEthernet0/0/1]port default vlan 10

[SwitchA-GigabitEthernet0/0/1]quit

[SwitchA] interfacegigabitethernet 0/0/2

[SwitchA-GigabitEthernet0/0/2]port link-type access

[SwitchA-GigabitEthernet0/0/2]port default vlan 20

[SwitchA-GigabitEthernet0/0/2]quit

[SwitchA] interfacegigabitethernet 0/0/3

[SwitchA-GigabitEthernet0/0/3]port link-type trunk

[SwitchA-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20

[SwitchA-GigabitEthernet0/0/3]quit

在Switch上创建VLAN10、VLAN20、VLAN100、VLAN200。

<HUAWEI> system-view

[HUAWEI] sysnameSwitch

[Switch] vlanbatch 10 20 100 200

配置Switch各接口的所属VLAN,连接SwitchA的接口配置为Trunk类型,连接外部网络设备的接口配置为Access类型。

[Switch] interfacegigabitethernet 0/0/1

[Switch-GigabitEthernet0/0/1]port link-type access

[Switch-GigabitEthernet0/0/1]port default vlan 100

[Switch-GigabitEthernet0/0/1]quit

[Switch] interfacegigabitethernet 0/0/2

[Switch-GigabitEthernet0/0/2]port link-type access

[Switch-GigabitEthernet0/0/2]port default vlan 200

[Switch-GigabitEthernet0/0/2]quit

[Switch] interfacegigabitethernet 0/0/3

[Switch-GigabitEthernet0/0/3]port link-type trunk

[Switch-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20

[Switch-GigabitEthernet0/0/3]quit

在Switch上配置VLANIF10和VLANIF20作为用户网关,并配置IP地址分别为192.168.1.1/24和192.168.2.1/24。

[Switch] interfacevlanif 10

[Switch-Vlanif10] ipaddress 192.168.1.1 24

[Switch-Vlanif10] quit

[Switch] interfacevlanif 20

[Switch-Vlanif20] ipaddress 192.168.2.1 24

[Switch-Vlanif20] quit

在Switch上配置VLANIF100和VLANIF200用于和外部网络设备互联,并配置IP地址分别为10.1.20.2/24和10.1.30.2/24。

[Switch] interfacevlanif 100

[Switch-Vlanif100] ipaddress 10.1.20.2 24

[Switch-Vlanif100] quit

[Switch] interfacevlanif 200

[Switch-Vlanif200] ipaddress 10.1.30.2 24

[Switch-Vlanif200] quit

在Switch上配置两条缺省路由,下一跳分别指向两个外部网络设备。

[Switch] iproute-static 0.0.0.0 0 10.1.20.1

[Switch] iproute-static 0.0.0.0 0 10.1.30.1

完成以上配置步骤以后,内网能够正常访问外网了,但是不能保证192.168.1.0/24网段用户的数据走高速链路,192.168.2.0/24网段的数据走低速链路,要实现这个需求需要继续完成下面的配置步骤。

  1. 配置ACL规则

在Switch上创建编码为3000、3001、3002的高级ACL。

[Switch] acl3000 //主要用于匹配内网两个网段之间互访的数据流,这部分数据流不需要做重定向,如果不配置这一步会导致内网之间互访的流量也被重定向,从而导致内网互访不通。

[Switch-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255

[Switch-acl-adv-3000]rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.00.0.0.255

Switch-acl-adv-3000]quit

[Switch] acl3001 //匹配内网192.168.1.0/24网段的数据流

[Switch-acl-adv-3001]rule permit ip source 192.168.1.0 0.0.0.255

[Switch-acl-adv-3001]quit

[Switch] acl3002 //匹配内网192.168.2.0/24网段的数据流

[Switch-acl-adv-3002]rule permit ip source 192.168.2.0 0.0.0.255

[Switch-acl-adv-3002]quit

  1. 配置流分类

在Switch上创建流分类c0、c1、c2,匹配规则分别为ACL 3000、ACL 3001和ACL 3002。

[Switch] trafficclassifier c0 operator or

[Switch-classifier-c0]if-match acl 3000

[Switch-classifier-c0]quit

[Switch] trafficclassifier c1 operator or

[Switch-classifier-c1]if-match acl 3001

[Switch-classifier-c1]quit

[Switch] trafficclassifier c2 operator or

[Switch-classifier-c2]if-match acl 3002

[Switch-classifier-c2]quit

  1. 配置流行为

在Switch上创建流行为b0、b1、b2,对于b0只配置permit的动作,对于b1和b2分别指定重定向到10.1.20.1和10.1.30.1的动作。

[Switch] trafficbehavior b0

[Switch-behavior-b0]permit

[Switch-behavior-b0]quit

[Switch] trafficbehavior b1

[Switch-behavior-b1]redirect ip-nexthop 10.1.20.1

[Switch-behavior-b1]quit

[Switch] trafficbehavior b2

[Switch-behavior-b2]redirect ip-nexthop 10.1.30.1

[Switch-behavior-b2]quit

  1. 配置流策略并应用到接口上

在Switch上创建流策略p1,将流分类和对应的流行为进行绑定。

[Switch] trafficpolicy p1

[Switch-trafficpolicy-p1]classifier c0 behavior b0

[Switch-trafficpolicy-p1]classifier c1 behavior b1

[Switch-trafficpolicy-p1]classifier c2 behavior b2

[Switch-trafficpolicy-p1]quit

将流策略p1应用到Switch的GE0/0/3的入方向上。

[Switch] interfacegigabitethernet 0/0/3

[Switch-GigabitEthernet0/0/3]traffic-policy p1 inbound

[Switch-GigabitEthernet0/0/3]return

  1. 验证配置结果

查看ACL规则的配置信息。

<Switch> displayacl 3000

Advanced ACL 3000,2 rules

Acl's step is 5

rule 5 permit ip source 192.168.1.0 0.0.0.255destination 192.168.2.0 0.0.0.255

rule 10 permit ip source 192.168.2.0 0.0.0.255destination 192.168.1.0 0.0.0.255

<Switch> displayacl 3001

Advanced ACL 3001,1 rule

Acl's step is 5

rule 5 permit ip source 192.168.1.0 0.0.0.255

<Switch> displayacl 3002

Advanced ACL 3002,1 rule

Acl's step is 5

rule 5 permit ip source 192.168.2.0 0.0.0.255

查看流分类的配置信息。

<Switch> displaytraffic classifier user-defined

User Defined Classifier Information:

Classifier: c2

Operator: OR

Rule(s) : if-match acl 3002

Classifier: c0

Operator: OR

Rule(s) : if-match acl 3000

Classifier: c1

Operator: OR

Rule(s) : if-match acl 3001

Total classifiernumber is 3

查看流策略的配置信息。

<Switch> displaytraffic policy user-defined p1

User Defined Traffic Policy Information:

Policy: p1

Classifier: c0

Operator: OR

 Behavior: b0

  Permit

Classifier: c1

Operator: OR

 Behavior: b1

  Permit

  Redirect: no forced

    Redirect ip-nexthop

    10.1.20.1

Classifier: c2

Operator: OR

 Behavior: b2

  Permit

  Redirect: no forced

    Redirect ip-nexthop

    10.1.30.1

配置文件

· SwitchA的配置文件

#

sysname SwitchA

#

vlan batch 10 20

#

interface GigabitEthernet0/0/1

port link-type access

port default vlan 10

#

interface GigabitEthernet0/0/2

port link-type access

port default vlan 20

#

interface GigabitEthernet0/0/3

port link-type trunk

port trunk allow-pass vlan 10 20

#

return

· Switch的配置文件

#

sysname Switch

#

vlan batch 10 20100 200

#

acl number 3000

rule 5 permit ip source 192.168.1.0 0.0.0.255destination 192.168.2.0 0.0.0.255

rule 10 permit ip source 192.168.2.0 0.0.0.255destination 192.168.1.0 0.0.0.255

acl number 3001

rule 5 permit ip source 192.168.1.0 0.0.0.255

acl number 3002

rule 5 permit ip source 192.168.2.0 0.0.0.255

#

traffic classifierc0 operator or

if-match acl 3000

traffic classifierc1 operator or

if-match acl 3001

traffic classifierc2 operator or

if-match acl 3002

#

traffic behavior b0

permit

traffic behavior b1

redirect ip-nexthop 10.1.20.1

traffic behavior b2

redirect ip-nexthop 10.1.30.1

#

traffic policy p1match-order config

classifier c0 behavior b0

classifier c1 behavior b1

classifier c2 behavior b2

#

interface Vlanif10

ip address 192.168.1.1 255.255.255.0

#

interface Vlanif20

ip address 192.168.2.1 255.255.255.0

#

interface Vlanif100

ip address 10.1.20.2 255.255.255.0

#

interface Vlanif200

ip address 10.1.30.2 255.255.255.0

#

interface GigabitEthernet0/0/1

port link-type access

port default vlan 100

#

interface GigabitEthernet0/0/2

port link-type access

port default vlan 200

#

interface GigabitEthernet0/0/3

port link-type trunk

port trunk allow-pass vlan 10 20

traffic-policy p1 inbound

ip route-static0.0.0.0 0.0.0.0 10.1.20.1

ip route-static0.0.0.0 0.0.0.0 10.1.30.1

#

return
通过流策略实现策略路由(重定向到不同的下一跳)
扫描二维码关注微信公众号:网络民工 获取更多精彩内容

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!