路由策略与控制

概述

技术背景

image-1

R1上将业务A、B、C的网段路由引入时希望不引入业务C网段路由,同时R3上将OSPF路由引入到IS-IS中时,同样只希望引入B业务网段路由。

此时需要一个工具在引入路由时进行限制。

路由控制概述

路由控制可以通过路由策略(Route-Policy)实现,路由策略应用灵活而广泛,有以下几种常见方式:

  • 控制路由的发布:通过路由策略对发布的路由进行过滤,只发布满足条件的路由。
  • 控制路由的接收:通过路由策略对接受的流量进行过滤,只接收满足条件的路由。
  • 控制路由的引入:通过路由策略控制从其他路由协议引入的路由条目,只有满足条件的路由才会被引入。

image-2

路由匹配工具

访问控制列表(ACL)

访问控制列表(Access Control List,ACL)是一个匹配工具,能够对报文及路由进行匹配和区分。

ACL由若干条permit或deny语句组成,每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。

image-20251025152423229

ACL的匹配顺序

配置顺序

系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。

image-4

IP前缀列表

IP前缀列表(IP-Prefix List)是将路由条目的网络地址、掩码长度作为匹配条件的过滤器,可在各路由协议发布和接收路由时使用。

不同于ACL,IP-Prefix List能够同时匹配IP地址前缀长度以及掩码长度,增强了匹配的精确度。

image-5

IP-Prefix匹配示例

image-6

基础配置命令

创建IPv4地址前缀列表
1
ip ip-prefix ip-prefix-name [index index-number] {permit|deny} ipv4-address mask-length [match-network] [greater-equal greater-equal-value] [less-equal less-equal-value]

创建IPv4地址前缀列表中或增加其中一个表项。

  • ip-prefix-name:指定地址前缀列表的名称。
  • index index-number:只当本匹配项在地址前缀列表中的序号。
  • permit:只当地址前缀列表的匹配模式为允许。
  • deny:指定地址前缀列表的匹配模式为拒绝。
  • ipv4-address mask-length:指定IP地址和指定掩码长度。
  • greater-equal greater-equal-value:指定掩码长度匹配范围的下限。
  • less-equal less-equal-value:指定掩码长度匹配范围的上限。
配置示例

image-7

单语句匹配

路由10.1.1.0/24被permit,其他都被deny。

1
ip ip-prefix aa index 10 permit 10.1.1.0 24

路由全被deny。

1
ip ip-prefix bb index 10 deny 10.1.1.0 24

ip-prefix与acl一样,缺省的默认动作就是拒绝。

多语句匹配

路由10.1.1.0/24被deny,路由10.1.1.1/32被permit,其他路由都被deny。

1
2
ip ip-prefix aa index 10 deny 10.1.1.0 24
ip ip-prefix aa index 20 permit 10.1.1.1 32

路由10.1.1.0/26,10.1.1.1/32被permit,其他路由都被deny。

1
ip ip-prefix bb index 10 permit 10.1.1.0 24 greater-equal 26 less-equal 32

通配地址匹配

所有掩码长度在8到32的路由都被permit。

1
ip ip-prefix aa index 10 permit 10.0.0.0 8 less-equal 32

路由10.1.0.0/16被permit,其他路由都被deny。

1
2
ip ip-prefix bb index 10 deny 10.1.1.0 24 less-equal 32
ip ip-prefix bb index 20 permit 10.1.0.0 16 less-equal 32

路由策略工具

Filter-Policy

Filter-Policy(过滤-策略)是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。

如下图中R1,R2,R3之间运行BGP路由协议,路由在各个设备之间传递,当需要根据实际需求过滤某些路由信息的时候可以使用Filter-Policy实现。

image-8

Filter-Policy在距离矢量路由协议中的应用

在距离矢量路由协议中,设备之间传递的是路由信息,如果需要对这种路由信息进行某种过滤,可以使用Filter-Policy实现,出方向和入方向的生效位置如图所示。

image-9

Filter-Policy在链路状态路由协议中的应用

在链路状态路由协议中,各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计算出路由表。但是Filter-Policy只能过滤路由信息,无法过滤LSA。

image-10

Filter-Policy的基础配置命令

在OSPF中的应用

按照过滤策略,设置OSPF对接收的路由进行过滤。

1
[ospf-100]filter-policy {acl-number|acl-name acl-name|ip-prefix ip-prefix-name|route-policy route-policy-name [secondary]} import

按照过滤策略,设置对引入的路由在向外发布时进行过滤。

1
[ospf-100]filter-policy {acl-number|acl-name acl-name|ip-prefix ip-prefix-name|route-policy route-policy-name} export [protocol[protocol-id]]
在IS-IS中应用

配置IS-IS路由加入IP路由表时的过滤策略。

1
[isis-1]filter-policy {acl-number|acl-name acl-name|ip-prefix ip-prefix-name|route-policy route-policy-name} import

配置IS-IS对已引入的路由在向外发布时进行过滤的过滤策略

1
filter-policy {acl-number|acl-name acl-name|ip-prefix ip-prefix-name|route-policy route-policy-name} export [protocol[protocol-id]]
在BGP中的应用

配置对接收路由信息进行过滤。

1
[bgp-100]filter-policy {acl-number|acl-name acl-name|ip-prefix ip-prefix-name} import

配置对发布的路由进行过滤,只有通过过滤的路由才被BGP发布。

1
[bgp-100]filter-policy {acl-number|acl-name acl-name|ip-prefix ip-prefix-name} export [protocol [process-id]]

配置向对等体(组)发布或从对等体(组)接收路由时的过滤策略。

1
[bgp-100]peer {group-name|ipv4-address} filter-policy {acl-number|acl-name acl-name} {import|export}

OSPF中使用Filter-policy

OSPF过滤五类LSA需要在始发生成外部路由的出方向进行抑制。

image-11

IS-IS中使用Filter-policy

image-12

BGP中使用Filter-policy

image-13

Route-Policy

Route-Policy是一个策略工具,用于过滤路由信息,以及为过滤后的路由信息设置路由属性。

一个Route-Policy由一个或多个节点(Node)构成,每个节点可以是一系列条件语句(匹配条件)以及执行语句(执行动作)的集合,这些集合按照编号从小到大的顺序排序。

image-14

每个节点内可包含多个条件语句。节点内的多个条件语句之间的关系为“”,即匹配所有条件语句才会执行本节点内的动作。

节点之间的关系为“”,route-pollicy根据节点编号大小从小到大顺序执行,匹配中一个节点将不会继续向下匹配。

Route-Policy的组成

一个Route-Policy由一个或者多个节点构成,每个节点包括多个if-match和apply子句。

image-15

permit或deny:指定Route-Policy节点的匹配模式为允许或拒绝。

node:指定Route-Policy的节点号。整数形式,取值范围是0-65535。

if-match子句:定义该节点的匹配条件。

apply子句:定义针对被匹配路由执行的操作。

Route-Policy的基础配置命令

创建Route-Policy

创建路由策略并进入Route-Policy视图

1
[AR1]route-policy route-policy-name {permit|deny} node node-number
配置if-match子句
1
2
3
4
5
6
[AR1-route-policy]if-match ?
acl 匹配基本ACL
cost 匹配路由信息的cost
interface 匹配路由信息的出接口
ip-prefix 匹配前缀列表
……
配置apply子句
1
2
3
4
5
6
7
[AR1-route-policy]apply ?
cost 设置路由的cost
cost-type {type-1|type-2} 设置OSPF的开销类型
ip-address next-hop 设置IPv4路由信息的下一跳地址。
preference 设置路由协议的优先级
tag 设置路由信息的标记域
……

路由控制案例

对接收的路由进行过滤

R1、R2、R3运行OSPF,R1将192.168.1.0/24、192.168.2.0/24、192.168.3.0/24和192.168.4.0/24宣告进OSPF。

现在要求R2不能访问R1上192.168.1.0/24网段。

为实现该需求,可以在R2上对接收的路由使用Filte-Policy进行过滤。

image-16

对发布的路由进行过滤

R1、R2、R3运行OSPF,R1将直连网段192.168.1.0/24、192.168.2.0/24、192.168.3.0/24和192.168.4.0/24引入OSPF。

现在要求R2、R3只能学习到191.168.1.0/24网段的路由,学习不到其他三个网段的路由。

为实现该需求,可以在R1上使用Filter-Policy对引入的路由在发布时进行过滤。

image-17

修改路由属性

R1、R2、R3运行OSPF,R1将直连网段192.168.1.0/24引入OSPF。

现在要求R2、R3学到的OSPF路由192.168.1.0/24为external-type 1路由(默认为external-type 2路由)。

为实现该需求,可以在R1上使用Route-Policy在引入路由时修改外部路由的类型为external-type 1。

image-18

双节点双向路由重发布

在边界路由器上把两个路由域的路由相互引入,称之为双向路由重发布。

两个路由域存在两个边界路由器,并且都执行双向路由重分发,此时称为双点双向路由重发布。

双电双向路由重发布是一种经典的路由模型,因单点的双向路由重发布缺乏冗余性,一旦单点的边界路由器故障,那么两个路由域之间的通信可能就会出现问题,因此在大型网络部署中一般采用双电双向路由重发布。

双点双向重发布虽然增强了网络的可靠性,但是容易引发:次优路径,路由环路等问题。

image-19

次优路径问题

以10.1.1.0/24为例:

R1将直连路由10.1.1.0/24引入到OSPF中。

R2、R3执行双向路由重发布,R2先将10.1.1.0/24重发布到IS-IS中,R3将会学习到来自R4的IS-IS路由。对R3而言,IS-IS路由(优先级15)优于OSPF外部路由(优先级150),因此优选来自R4的IS-IS路由。后续R3访问10.1.1.0/24网段的路径为:R3→R4→R2→R1,这是次优路径。

image-20

解决方案1

在R3的IS-IS进程内,通过Filter-Policy进制来自R4的10.1.1.0/24路由加入本地路由表。

在R3上执行:

1
2
3
4
5
6
[R3]acl 2001
[R3-acl-basic-2001]rule 5 deny source 10.1.1.0 0.0.0.255
[R3-acl-basic-2001]rule 10 pemit
[R3-acl-basic-2001]quit
[R3]isis
[R3-isis-1]filter-policy 2001 import

image-21

解决方案2

R3通过ACL匹配10.1.1.0/24路由,在Route-Policy中调用该条ACL,将匹配这条ACL的路由的优先级设置为14(优于IS-IS)。在OSPF视图下使用preference ase命令调用Route-Policy修改外部路由的优先级。

在R3上执行以下操作:

1
2
3
4
5
6
7
8
9
[R3]acl 2000
[R3-acl-basic-2001]rule permit source 10.1.1.0 0.0.0.255
[R3-acl-basic-2001]quit
[R3]route-policy hcip permit node 10
[R3-route-policy]if-match acl 2000
[R3-route-policy]apply preference 14
[R3-route-policy]quit
[R3]ospf 1
[R3-ospf-1]preference ase route-policy hcip

image-22

路由环路问题

场景描述:

  • R1将直连路由10.1.1.0/24引入到OSPF中。
  • R1、R2、R3运行OSPF协议,10.1.1.0/24网段路由全在OSPF域内通告。
  • R2执行了双向路由重发布。
  • R2、R3、R4运行IS-IS协议,10.1.1.0/24网段路由全在IS-IS域内通告。
  • R3执行了双向路由重发布。
  • 10.1.1.0/24网段路由再次被通告进OSPF域内,形成路由环路。

image-23

解决方案1

在R3的OSPF中引入IS-IS路由时,通过Route-Policy过滤掉10.1.1.0/24路由。

在R3上执行以下操作:

1
2
3
4
5
6
7
8
[R3]acl 2001
[R3-acl-basic-2001]rule 5 deny 10.1.1.0 0.0.0.255
[R3-acl-basic-2001]rule 10 permit
[R3]route-policy RP permit node 10
[R3-route-policy]if-match acl 2001
[R3-route-policy]quit
[R3]ospf
[R3-ospf-1]import-route isis 1 route-policy RP

image-24

解决方案2

使用Tag实现有选择性地路由引入,在R2上将路由10.1.1.0/24从OSPF引入到IS-IS中时打上Tag 200,在R3上将IS-IS引入到OSPF中时,过滤携带Tag 200的路由。

在R2上执行的操作:

1
2
3
4
5
[R2]route-policy hcip permit node 10
[R2-route-policy]apply tag 200
[R2-route-policy]quit
[R2]isis 1
[R2-isis-1]import-route ospf route-policy hcip

在R3上执行的操作:

1
2
3
4
5
6
7
[R3]route-policy hcip deny node 10
[R3-route-policy]if-match tag 200
[R3-route-policy]quit
[R3]route-policy hcip permit node 20
[R3-route-policy]quit
[R3]ospf 1
[R3]import-route isis route-policy hcip

在路由重发布的实际应用中,通过IP前缀进行路由匹配固然可以,但当网络规模较大时,配置工作量较大;通过Tag进行路由匹配可以极大简化配置工作量。

image-25

路由控制实验

image-26

接口IP地址,OSPF,IS-IS配置省略。

注意:is-is的开销类型要改为wide才能实现tag标签。cost-type wide

在AR5的ospf视图下引入直连路由5.5.5.5并将其开销值设置为2模拟环路的生成。

1
2
[AR5]ospf 
[AR5-ospf-1]import-route direct cost 2

在AR2和AR3双向引入OSPF路由和IS-IS路由。

1
2
3
4
5
6
[AR2]ospf 
[AR2-ospf-1]import-route isis
[AR2-ospf-1]quit
[AR2]isis
[AR2-isis-1]import-route ospf
[AR2-isis-1]quit
1
2
3
4
5
6
[AR3]ospf
[AR3-ospf-1]import-route isis
[AR3-ospf-1]quit
[AR3]isis
[AR3-isis-1]import-route ospf
[AR3-isis-1]quit

AR1通过tracert可以验证环路的存在。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[AR1]tracert 5.5.5.5

traceroute to 5.5.5.5(5.5.5.5), max hops: 30 ,packet length: 40,press CTRL_C t
o break

1 13.1.1.3 850 ms 450 ms 350 ms

2 34.1.1.4 1110 ms 490 ms 420 ms

3 24.1.1.2 470 ms 340 ms 310 ms

4 12.1.1.1 780 ms 340 ms 500 ms

5 13.1.1.3 730 ms 550 ms 400 ms

6 34.1.1.4 400 ms 600 ms 370 ms

7 24.1.1.2 390 ms 710 ms 480 ms

8 12.1.1.1 430 ms 470 ms 540 ms

9 13.1.1.3 910 ms 420 ms 650 ms

10 34.1.1.4 910 ms 620 ms 540 ms

11 24.1.1.2 560 ms 500 ms 260 ms

12 12.1.1.1 530 ms 560 ms 640 ms

使用tag标签过滤

AR2:OSPF to IS-IS tag 100 deny tag 200,IS-IS to OSPF tag 300 deny tag 400

AR3:IS-IS to OSPF tag 200 deny tag 100,OSPF to IS-IS tag 400 deny tag 300

AR2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[AR2]route-policy ospftoisis deny node 10
Info: New Sequence of this List.
[AR2-route-policy]if-match tag 200
[AR2-route-policy]q
[AR2]route-policy ospftoisis permit node 20
Info: New Sequence of this List.
[AR2-route-policy]apply tag 100
[AR2-route-policy]quit
[AR2]route-policy isistoospf deny node 10
Info: New Sequence of this List.
[AR2-route-policy]if-match tag 400
[AR2-route-policy]quit
[AR2]route-policy isistoospf permit node 20
Info: New Sequence of this List.
[AR2-route-policy]apply tag 300
[AR2-route-policy]quit
[AR2]ospf
[AR2-ospf-1]import-route isis route-policy isistoospf
[AR2-ospf-1]quit
[AR2]isis
[AR2-isis-1]import-route ospf route-policy ospftoisis
[AR2-isis-1]quit

AR3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[AR3]route-policy isistoospf deny node 10
Info: New Sequence of this List.
[AR3-route-policy]if-match tag 100
[AR3-route-policy]quit
[AR3]route-policy isistoospf permit node 20
Info: New Sequence of this List.
[AR3-route-policy]apply tag 200
[AR3-route-policy]quit
[AR3]route-policy ospftoisis deny node 10
Info: New Sequence of this List.
[AR3-route-policy]if-match tag 300
[AR3-route-policy]quit
[AR3]route-policy ospftoisis permit node 20
Info: New Sequence of this List.
[AR3-route-policy]apply tag 400
[AR3-route-policy]quit
[AR3]ospf
[AR3-ospf-1]import-route isis route-policy isistoospf
[AR3-ospf-1]quit
[AR3]isis
[AR3-isis-1]import-route ospf route-policy ospftoisis
[AR3-isis-1]quit

AR1使用tracert发现环路问题已经解决。

1
2
3
4
5
6
[AR1]tracert 5.5.5.5

traceroute to 5.5.5.5(5.5.5.5), max hops: 30 ,packet length: 40,press CTRL_C t
o break

1 15.1.1.5 650 ms 440 ms 520 ms

解决次优路径问题

AR2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[AR2]route-policy pre permit node 10
Info: New Sequence of this List.
[AR2-route-policy]if-match tag 200
[AR2-route-policy]apply preference 150
[AR2-route-policy]quit
[AR2]ospf
[AR2-ospf-1]preference ase route-policy pre 14
[AR2-ospf-1]quit
#查看路由表会发现修改优先级后,次优路径问题已经解决,访问4.4.4.4/32和5.5.5.5/32的下一跳地址都是最优路径
[AR2]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 15 Routes : 15

Destination/Mask Proto Pre Cost Flags NextHop Interface

4.4.4.4/32 ISIS-L1 15 10 D 24.1.1.4 GigabitEthernet
0/0/0
5.5.5.5/32 O_ASE 14 2 D 12.1.1.1 GigabitEthernet
0/0/1
12.1.1.0/24 Direct 0 0 D 12.1.1.2 GigabitEthernet
0/0/1
12.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
12.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
13.1.1.0/24 OSPF 10 2 D 12.1.1.1 GigabitEthernet
0/0/1
15.1.1.0/24 OSPF 10 2 D 12.1.1.1 GigabitEthernet
0/0/1
24.1.1.0/24 Direct 0 0 D 24.1.1.2 GigabitEthernet
0/0/0
24.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
24.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
34.1.1.0/24 ISIS-L1 15 20 D 24.1.1.4 GigabitEthernet
0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0

AR3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[AR3]route-policy pre permit node 10
Info: New Sequence of this List.
[AR3-route-policy]if-match tag 300
[AR3-route-policy]apply preference 150
[AR3-route-policy]quit
[AR3]ospf
[AR3-ospf-1]preference ase route-policy pre 14
[AR3-ospf-1]quit
#查看路由表,4.4.4.4/32和5.5.5.5/32的路由下一跳指向的是最优的路径
[AR3]dis ip rou
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 15 Routes : 15

Destination/Mask Proto Pre Cost Flags NextHop Interface

4.4.4.4/32 ISIS-L1 15 10 D 34.1.1.4 GigabitEthernet
0/0/1
5.5.5.5/32 O_ASE 14 2 D 13.1.1.1 GigabitEthernet
0/0/0
12.1.1.0/24 OSPF 10 2 D 13.1.1.1 GigabitEthernet
0/0/0
13.1.1.0/24 Direct 0 0 D 13.1.1.3 GigabitEthernet
0/0/0
13.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
13.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
15.1.1.0/24 OSPF 10 2 D 13.1.1.1 GigabitEthernet
0/0/0
24.1.1.0/24 ISIS-L1 15 20 D 34.1.1.4 GigabitEthernet
0/0/1
34.1.1.0/24 Direct 0 0 D 34.1.1.3 GigabitEthernet
0/0/1
34.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
34.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0

流量过滤与转发路径控制

策略路由

技术背景

在某些场景中我们希望一些特定的用户、特定业务的流量走指定的转发路径,而其余用户或业务的流量则依旧根据路由表进行转发。

image-27

PBR

基本概念

PBR(Policy-Based Routing,策略路由):PBR使得网络设备不仅能够基于报文的目的IP地址进行数据转发,更能基于其他元素进行数据转发,例如源IP地址、源MAC地址、目的MAC地址、源端口号、目的端口号、VLAN-ID等等。

用户还可以使用ACL匹配特定的报文,然后针对该ACL进行PBR部署。

若设备部署了PBR,则被匹配的报文优先根据PBR的策略进行转发,即PBR策略的优先级高于传统路由表。

image-28

结构

PBR与Route-Policy,由多个节点组成,每个节点由匹配条件(条件语句)和执行动作(执行语句)组成。

每个节点内可包含多个条件语句。

节点内的多个条件语句之间的关系为“与”,即匹配所有条件语句才会执行本节点内的动作。

节点之间的关系为“或”,PBR根据节点编号从小到大顺序执行,匹配当前节点将不会继续向下匹配。

image-29

命令语法

image-30

PBR与路由策略区别

image-31

PBR分类

image-32

PBR典型应用场景

内网防火墙旁挂部署在核心交换机,为防护内网在核心交换机的三层接口上部署PBR,将来自外部网络的流量牵引到防火墙上进行安全检查,检查完的流量再发送回核心交换机,由核心交换机依据路由表转发到内网。

将流量牵引到别的设备进行安全检查等类似的行为称为“引流”,PBR是一种常见的引流工具。

image-33

当企业存在多个网络出口时,若想指定部分网段访问Internet时的网络出口,可以使用PBR:在出口设备的内网接口配置PBR,匹配来自内网的流量,为其指定不同的下一跳公网地址。

image-34

配置介绍

创建PBR

创建策略路由和策略点,若策略点已创建则进入本地策略路由视图。

1
[Huawei]policy-based-route policy-name {deny|permit} node node-id
设置IP报文的匹配条件

缺省情况下,策略路由中未配置匹配条件,可以设置使用ACL匹配IP地址,也可以设置匹配报文长度。

1
2
[Huawei-policy-based-route-PBR-10]if-match acl acl-number
[Huawei-policy-based-route-PBR-10]if-match packet-length min-length max-length
指定PBR中报文的接口

缺省情况下,策略路由中未配置报文出接口。配置成功后,将匹配策略点的报文从指定出接口发送出去。报文的出接口不能为以太网接口等广播型接口。

1
[Huawei-policy-based-route-PBR-10]apply output-interface interface-type interface-number
设置PBR中报文的下一跳

用户可以指定报文的下一跳。当该策略点未配置出接口时,匹配策略点的报文被发往指定的下一跳。

1
[Huawei-policy-based-route-PBR-10]apply ip-address next-hop ip-address1 [ip-address2]
全局PBR调用
1
[Huawei]ip local policy-based-route policy-name
接口调用PBR
1
[Huawei-GigabitEthernet0/0/0]ip policy-based-route Policy-name

配置案例

需求:

  • 内网存在两个网段,网段1:10.1.1.0/24,网段2:10.1.2.0/24,在RTA的GE0/0/0接口部署PBR,实现网段1访问Internet通告ISP1、网段2访问Internet通过ISP2。
  • RTA上旁挂了一台服务器,要求在RTA上部署的策略路由不影响内网用户访问该服务器。

image-35

配置ACL 3000,其中rule 1 deny 网段1访问服务器的流量,rule 2匹配网段1访问Internet的流量。

1
2
3
[RTA]acl 3000
[RTA-acl-adv-3000]rule 1 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.3.254 0
[RTA-acl-adv-3000]rule 2 permit ip source 10.1.1.0 0.0.0.255 destination 0.0.0.0 0

配置ACL 3001,其中rule 1 deny 网段2访问服务器的流量,rule 2匹配网段2访问Internet的流量。

1
2
3
[RTA]acl 3001
[RTA-acl-adv-3001]rule 1 deny ip source 10.1.2.0 0.0.0.255 destination 10.1.3.254 0
[RTA-acl-adv-3001]rule 2 permit ip source 10.1.2.0 0.0.0.255 destination 0.0.0.0 0

创建PBR hcip,创建节点10,调用ACL 3000,指定其转发下一跳为202.1.2.3

1
2
3
[RTA]policy-based-route hcip permit node 10
[RTA-policy-based-route-hcip-10]if-match acl 3000
[RTA-policy-based-route-hcip-10]apply ip-address next-hop 202.1.2.3

创建PBR hcip,创建节点20,调用ACL 3001,指定其转发下一跳为154.1.2.3

1
2
3
[RTA]policy-based-route hcip permit node 20
[RTA-policy-based-route-hcip-10]if-match acl 3001
[RTA-policy-based-route-hcip-10]apply ip-address next-hop 154.1.2.3

在GE0/0/0接口调用PBR hcip

1
2
[RTA]interface GigabitEthernet0/0/0
[RTA-GigabitEthernet0/0/0]ip policy-based-route hcip

MQC

介绍

MQC(Modular QoS Command-Line Interface,模块化QoS命令行)是指通过将具有某类共同特征的数据流划分为一类,并为同一类数据流提供相同的服务,也可以对不同类的数据流提供不同的服务。

MQC包含三个要素:流分类(traffic classifier)、流行为(traffic behavior)和流策略(traffic policy)。

MQC的流行为支持重定向报文,因此可以使用MQC实现IP单薄策略路由。

image-36

流策略:将流分类的流行为绑定,对分类后的报文执行对应流行为中定义的动作。

一个流策略可以绑定多个流分类和流行为。

image-37

流分类

流分类:定义一组流量匹配规则,以对报文进行分类。流分类支持的匹配项如下所示。

image-38

流行为

流行为:用来定义执行的动作,支持报文过滤、重标记优先级、重定向、流量统计等动作。

image-39

流策略

流策略:流策略支持在接口上调用。

流策略存在方向(inbound、outbound)的概念,策略中的流行为匹配入、出方向的报文,对匹配中的报文执行相应的流动作。

image-40

配置介绍

创建分类

缺省情况下,流分类中各规则之间的关系为“或”(or)。流分类中的匹配规则配置可查阅产品手册。

1
[Huawei]traffic classifier classifier-name [operator {and | or}]
创建流行为

根据实际情况定义流行为中的动作,只要各动作不冲突,都可以在同一流行为中配置。流行为具体配置可查阅产品手册。

1
[Huawei]traffic behavior behavior-name
创建流策略

创建流策略并绑定流分类与流行为。

1
2
[Huawei]traffic policy policy-name
[Huawei-trafficpolicy-policyname]classifier classifier-name behavior behavior-name

配置案例

需求:

  • 内网存在两个网段,网段1:10.1.1.0/24,网段2:10.1.2.0/24,在RTA上通过MQC实现策略路由,实现网段1访问Internet通过ISP1、网段2访问Internet通过ISP2.
  • 将MQC调用在RTA的GE0/0/0接口。

image-41

配置如下:

配置ACL 3000、3001分别匹配网段1、网段2访问Interet的流量。

1
2
3
4
[RTA]acl 3000
[RTA-acl-adv-3000]rule 2 permit ip source 10.1.1.0 0.0.0.255 destination 0.0.0.0 0
[RTA]acl 3001
[RTA-acl-adv-3000]rule 2 permit ip source 10.1.2.0 0.0.0.255 destination 0.0.0.0 0

创建流分类1、2分别匹配ACL3000、ACL3001。

1
2
3
4
[RTA]traffic classifier 1
[RTA-classifier-1]if-match acl 3000
[RTA]traffic classifier 2
[RTA-classifier-2]if-match acl 3001

创建流行为1、2分别执行将报文重定向到202.1.2.3、154.1.2.3的动作。

1
2
3
4
[RTA]traffic behavior 1
[RTA-behavior-1]redirect ip-nexthop 202.1.2.3
[RTA]traffic behavior 2
[RTA-behavior-2]redirect ip-nexthop 154.1.2.3

创建流策略Redirect,将流分类1、2与流行为1、2一一绑定。

1
2
3
[RTA]traffic policy Redirect
[RTA-trafficpolicy-Redirect]classifier 1 behavior 1
[RTA-trafficpolicy-Redirect]classifier 2 behavior 2

在GE0/0/0接口入方向调用流策略Redirect

1
2
[RTA]interface GigabitEthernet0/0/0
[RTA-GigabitEthernet0/0/0]traffic-policy Redirect inbound

流量过滤

为提高网络安全性,管理人员需要控制进入网络的流量,将不信任的报文丢弃在网络边界。所谓的不信任报文是指对用户来说存在安全隐患或者不愿意接收的报文。同时保证数据访问安全性,企业网络中经常会要求一些部门之间不能相互访问。

image-42

流量过滤工具

image-43

Traffic-Filter部署位置

使用Traffic-Filter过滤流量可以灵活地选择部署位置,在流量进入设备或者离开设备的接口上执行过滤动作,双向访问的业务禁止其中一个方向即可实现阻断业务的需求。

image-44

使用Traffic-Filter过滤流量

image-45

RTA配置如下:

配置ACL拒绝部门2访问部门3,并放行其余所有流量。

1
2
3
[RTA]acl 3000
[RTA-acl-adv-3000]rule 1 deny ip source 10.1.2.0 0.0.0.255 destination 10.1.3.0 0.0.0.255
[RTA-acl-adv-3000]rule permit ip

在GE0/0/2接口调用Traffic-Filter

1
2
[RTA]interface GigabitEthernet0/0/2
[RTA-GigabitEthernet0/0/2]traffic-filter outbound acl 300

使用MQC过滤流量

image-45

RTA配置如下:

配置ACL匹配部门2访问部门3的流量

1
2
[RTA]acl 3000
[RTA-acl-adv-3000]rule 1 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.3.0 0.0.0.255

创建流分类2_3、流行为2_3

1
2
3
4
[RTA]traffic classifier 2_3
[RTA-classifier-2_3]if-match acl 3000
[RTA]traffic behavior 2_3
[RTA-behavior-2_3]deny

为匹配ACL规则的报文指定报文过滤动作时,如果此ACL中的rule规则配置为permit,则设备对此报文采取的动作由流行为中配置的deny或permit,则设备对此报文采取的动作由流行为中配置的deny或permit决定;如果此ACL中的rule规则配置为deny,则无论流行为中配置了dney或permit,此报文丢弃。

创建流策略,绑定流分类2_3与流行为2_3

1
2
[RTA]traffic policy 2_3
[RTA-trafficpolicy-2_3]classifier 2_3 behavior 2_3

在接口GE0/0/1入向调用流策略2_3

1
2
[RTA]interface GigabitEthernet0/0/1
[RTA-GigabitEthernet0/0/1]traffic-policy 2_3 inbound