前言
策略路由 简称PBR(Policy-Based Routing),是针对某种数据包,直接制定的选路策略。与单纯依照IP报文的目的地址查询路由表进行转发不同,策略路由是一种依据用户制定的策略进行路由转发的机制 策略路由可以对满足一定条件的报文,执行指定的操作。
知识储备
-
if-match子句
-
在一个节点中可以配置多条if-match子句,同一类型的if-match子句只能配置一条。
-
同一个节点中的不同类型if-match子句之间是“与”的关系,即报文必须满足该节点的所有if-match子句才算满足这个节点的匹配规则。同一类型的if-match子句之间是“或”的关系,即报文只需满足一条该类型的if-match子句就算满足此类型if-match子句的匹配规则。
-
配置策略节点的匹配规则
if-match acl {acl-number | name acl-name} // 设置ACL匹配规则if-match子句中使用ACL时,将忽略ACL规则的permit/deny动作,只使用ACL中的匹配规则来匹配报文。如果使用的ACL不存在,则不匹配任何报文。
-
-
apply子句
-
同一个节点中可以配置多条apply子句,但不一定都会执行。
-
用户通过配置apply子句指导策略节点的动作。
影响报文转发路径的apply子句有四条,优先级从高到低依次为:
(1) apply next-hop // 设置报文转发的下一跳 (2) apply output-interface // 设置指导报文转发的出接口 (3) apply default-next-hop // 设置指导报文转发的缺省下一跳 (4) apply default-output-interface // 设置指导报文转发的缺省出接口 -
其他策略节点动作
(1) apply precedence // 设置IP报文优先级 (2) apply mirror-to-destination // 设置报文镜像到指定目的地址的隧道 (3) apply statistics // 设置策略节点统计匹配成功的次数
-
配置思路
-
创建策略节点
在系统视图下创建 创建成功进入策略节点视图
policy-based-route <policy-name> [ deny | permit] node <node-number> // policy-name 策略名称 node-name 节点序号 -
配置策略节点的匹配规则
进入策略节点视图 配置策略节点匹配规则
if-match acl { acl-number | name acl-name } // 设置ACL匹配规则 if-match qos-local-id local-id-value qppb-manipulation // 设置IP报文QoS本地ID值匹配规则 -
配置策略节点的动作
apply next-hop [ vpn-instance vpn-instance-name] { ip-address [direct] [track track-entry-number]} // 设置下一跳为VPN隧道|静态IP地址+Track联动 -
应用策略
当VLAN接口的类型为Super VLAN时,在该接口下发的策略路由会对Super VLAN关联的所有Sub VLAN接口生效。
4.1 本地报文应用策略
指导设备本身产生报文的发送
ip local policy-based-route <policy-name> // 对本地报文只能应用一个策略。应用新的策略前必须删除本地原来已经应用的策略。4.2 接口应用转发策略
// 接口视图下 ip policy-based-route <policy-name>4.3 全局应用转发策略
将已经配置的策略应用到设备的所有接口,指导这些接口接收的所有报文的转发。
ip global policy-based-route <policy-name> -
策略路由显示和维护

配置举例

CEA为园区出口路由器 PEA为运营商边界设备 CEA与PEA有两条链路 规定PCA走100.1.0.0 PCB走200.2.0.0 当其中一条链路中断时 走备份链路。
CE4配置
#
ip unreachables enable
ip ttl-expires enable
# 创建策略路由节点0
policy-based-route G1 permit node 0
if-match acl 3001
apply next-hop 100.1.0.1
# 创建策略路由节点5
policy-based-route G1 permit node 5
if-match acl 3002
apply next-hop 200.2.0.1
# S1/0 配置IP地址与NAT
interface Serial1/0
ip address 100.1.0.2 255.255.255.0
nat outbound
# S2/0 配置IP地址与NAT
interface Serial2/0
ip address 200.2.0.2 255.255.255.0
nat outbound
# G0/1应用策略路由配置IP地址
interface GigabitEthernet0/1
port link-mode route
combo enable copper
ip address 172.16.0.1 255.255.255.0
ip policy-based-route G1
# 配置静态路由与出口路由
ip route-static 0.0.0.0 0 100.1.0.1
ip route-static 0.0.0.0 0 200.2.0.1
ip route-static 192.168.0.0 16 172.16.0.2
# 配置192.168.1.0的ACL匹配规则
acl advanced 3001
rule 0 permit ip source 192.168.1.0 0.0.0.255
# 配置192.168.2.0的ACL匹配规则
acl advanced 3002
rule 0 permit ip source 192.168.2.0 0.0.0.255
SWA配置
#
ip unreachables enable
ip ttl-expires enable
#
vlan 10
#
vlan 20
#
vlan 30
#
interface Vlan-interface10
ip address 192.168.1.254 255.255.255.0
#
interface Vlan-interface20
ip address 192.168.2.254 255.255.255.0
#
interface Vlan-interface30
ip address 172.16.0.2 255.255.255.0
# 配置G1/0/1
interface GigabitEthernet1/0/1
port link-mode bridge
port access vlan 30
combo enable fiber
# 配置G1/0/11
interface GigabitEthernet1/0/11
port link-mode bridge
port access vlan 10
combo enable fiber
# 配置G1/0/12
interface GigabitEthernet1/0/12
port link-mode bridge
port access vlan 20
combo enable fiber
# 配置出口路由
ip route-static 0.0.0.0 0 172.16.0.1
PEA配置
#
ip unreachables enable
ip ttl-expires enable
#
interface Serial1/0
ip address 100.1.0.1 255.255.255.0
#
interface Serial2/0
ip address 200.2.0.1 255.255.255.0
#
interface GigabitEthernet0/1
port link-mode route
combo enable copper
ip address 115.1.0.1 255.255.255.0
验证策略路由配置
// PCA访问Server
<H3C>tracert -a 192.168.1.1 115.1.0.2
traceroute to 115.1.0.2 (115.1.0.2) from 192.168.1.1, 30 hops at most, 40 bytes each packet, press CTRL_C to break
1 192.168.1.254 (192.168.1.254) 0.831 ms 0.209 ms 0.188 ms
2 172.16.0.1 (172.16.0.1) 0.420 ms 0.477 ms 0.434 ms
3 100.1.0.1 (100.1.0.1) 0.589 ms 0.387 ms 0.561 ms
4
<H3C>
// CEA-S1/0-shutdown PCA访问Server
<H3C>tracert -a 192.168.1.1 115.1.0.2
traceroute to 115.1.0.2 (115.1.0.2) from 192.168.1.1, 30 hops at most, 40 bytes each packet, press CTRL_C to break
1 192.168.1.254 (192.168.1.254) 0.320 ms 0.208 ms 0.214 ms
2 172.16.0.1 (172.16.0.1) 0.570 ms 0.436 ms 0.446 ms
3 200.2.0.1 (200.2.0.1) 0.694 ms 0.517 ms 0.560 ms
4
<H3C>
// CEA查看策略路由命中次数
[CEA]dis ip policy-based-route interface g0/1
Policy based routing information for interface GigabitEthernet0/1:
Policy name: G1
node 0 permit:
if-match acl 3001
apply next-hop 100.1.0.1
Matched: 15
node 5 permit:
if-match acl 3002
apply next-hop 200.2.0.1
Matched: 0
Total matched: 15
[CEA]