IP 策略路由配置
IP 策略路由简介
策略路由是一种不经过路由表,根据策略发送、转发报文的机制,它是比根
据数据包的目的地址进行路由更为灵活。路由器通过策略路由转发一个数据
包时,先通过一个routing policy 进行过滤,由该routing policy 决定哪些
包将被转发和转发的下一跳路由器。
策略路由是由用户配置的,由一组if-match 子句和一组apply 子句组成,只
有IP 报文满足策略路由器中的全部if-match 子句时,才按一定顺序执行策略
中的apply 子句,以达到影响报文转发的效果。
目前提供两种的if-match 子句为if-match length 和 if-match ip address 。
apply 子句定义策略的动作。目前有5 种apply 子句:apply ip precedence,
apply interface, apply ip next-hop, apply default interface, apply ip
default next-hop,五个子句按优先顺序执行,直到不能继续为止。
有两种策略路由:接口策略路由和本地策略路由。前者在接口视图下配置,
对来自该接口的报文进行策略路由;后者在系统视图下配置,对本机产生的
报文进行策略路由。
策略路由可用于安全、负载分担等目的。
IP 策略路由的配置
IP 策略路由配置包括:
? 创建策略
? 定义策略路由的if-match 子句
? 定义策略路由的apply 子句
? 使能/禁止本地策略路由
? 使能/禁用接口策略路由
创建策略
一条策略可以包含若干策略点,每个策略点由seq-number 来指定,
seq-number 值越小优先级越高,其定义的策略会被先执行。该策略可以用来
引入路由以及对IP 报文转发进行策略路由。当重复创建routing policy 时,
新创建策略将覆盖原有策略的配置信息,该策略的具体内容由if-match 和
apply 子句来指定。
有关路由策略的详细介绍请参考“IP 路由策略的配置”。
请在系统视图下进行下列配置。
设置策略路由的if-match 子句
IP 策略路由提供两种if-match 子句,可根据IP 报文长度或根据IP 地址来匹
配策略。一条策略中可以包含多条if-match 子句,多条if-match 子句可以组
合使用。
请在路由策略视图下进行下列配置。
if-match ip address(策略路由配置)
【命令】
if-match ip address { acl-number | ip-prefix prefix-list-name }
undo if-match ip address [ ip-prefix ]
【视图】
路由策略视图
【参数】
acl-number:地址访问控制列表号。
prefix-list-name:显示指定名称的地址前缀列表。
【描述】
if-match ip address 命令用来设置IP 地址匹配条件,undo if-match ip
address 命令用来删除IP 地址匹配条件。
缺省情况下,无匹配值。
access-list 可以是标准ACL,也可以是扩展ACL。
【举例】
[Quidway-route-policy] if-match ip address 2000
if-match length
【命令】
if-match length min-len max-len
undo if-match length
【视图】
路由策略视图
【参数】
min-len:最短的报文长度,取值范围为0∼65535。
max-len:最长的报文长度,取值范围为0∼65535。
【描述】
if-match length 命令用来设置IP 报文长度的匹配条件,undo if-match
length 命令用来删除IP 报文长度的匹配条件。
缺省情况下,任何长度的报文都不会被匹配。
【举例】
# 设置报文长度在100 字节~200 字节之间报文被匹配。
[Quidway-route-policy] if-match length 100 200
设置策略路由的apply 子句
IP 策略路由提供五种apply 子句。一条策略中可以包含多条apply 子句,多
条apply 子句可以组合使用。
请在路由策略视图下进行下列配置。
apply interface
【命令】
apply interface type number
undo apply interface
【视图】
路由策略视图
【参数】
type:接口类型。
number:接口编号。
【描述】
apply interface 命令用来用来设置报文发送接口,undo apply interface 命
令用来取消已设置的发送接口。
本命令对已经匹配的IP 报文设置报文发送接口。
相关配置可参考命令apply ip precedence,apply ip next-hop,apply
default interface,apply ip default next-hop。
【举例】
[Quidway-route-policy] apply interface serial 0
apply ip next-hop
【命令】
apply ip next-hop ip-address
undo apply ip next-hop
【视图】
路由策略视图
【参数】
ip-address:报文下一跳的IP 地址。
【描述】
apply ip next-hop 命令用来设置报文下一跳,undo apply ip next-hop 命令
用来取消已设置的下一跳。
本命令对已经匹配的IP 报文设置报文下一跳。
【举例】
[Quidway-route-policy] apply ip next-hop 1.1.1.1
使能/禁用接口策略路由
请在接口视图下进行下列配置。
ip policy route-policy
【命令】
ip policy route-policy policy-name
undo ip policy route-policy
【视图】
接口视图
【参数】
policy-name:指定的策略名。该名称是由route-policy 定义的。
【描述】
ip policy route-policy 命令用来使接口启用策略路由,undo ip policy
route-policy 命令用来删除已有的接口策略路由。
【举例】
# 在Ethernet 0 接口上启用策略路由“AAA”。
[Quidway-Ethernet0] ip policy route-policy AAA
IP 策略路由典型配置举例
配置基于源地址的策略路由
配置需求
? 定义策略aaa,该策略包括两个节点,使所有TCP 报文通过串口0 转发,
其它报文通过串口1 转发。
? 10 号节点,表示匹配access list 3002 的报文将被发往串口serial 0。
? 20 号节点,表示所有其它报文将被发往串口serial 1。
配置步骤
# 定义访问控制列表
[Quidway]acl 3001
[Quidway-acl-3001]rule deny tcp source any destination any
[Quidway-acl-3001]acl 3002
[Quidway-acl-3002]rule permit tcp source any destination any
# 定义10 号节点,表示匹配access ist 3002 的报文将被发往串口serial 0。
[Quidway-acl-3001]route-policy aaa permit 10
[Quidway-route-policy]if-match ip address 3002
[Quidway-route-policy]apply interface serial 0
# 定义20 号节点,表示所有其它报文将被发往串口serial1。
[Quidway-route-policy]route-policy aaa permit 20
[Quidway-route-policy]if-match ip address 3001
[Quidway-route-policy]apply interface serial 1
# 在以太网口上应用策略aaa
[Quidway-route-policy]interface ethernet 0
[Quidway-Ethernet0]ip policy route-policy aaa
配置基于报文大小的策略路由
1. 配置需求
? 路由器A 将大小为64~100 字节的报文从serial 0 发送;而将大小为
101~1000 字节的报文从serial 1 发送;所有其它长度的报文均按正常
方式路由。
? 在路由器A 的E0 接口上应用IP 策略路由lab1。这个策略将将大小为
64~100 字节的报文设置150.1.1.2 作为下一转发IP 地址;而将大小为
101~1000 字节的报文设置151.1.1.2 作为下一转发IP 地址。所有其它
程度的报文都按基于目的地址的路由方法路由。
配置步骤
(1) 配置路由器Router A
[RouterA]interface ethernet 0
[RouterA-Ethernet0]ip address 192.1.1.1 255.255.255.0
[RouterA-Ethernet0]ip policy route-policy lab1
[RouterA-Ethernet0]interface serial 0
[RouterA-Serial0]ip address 150.1.1.1 255.255.255.0
[RouterA-Serial0]interface serial 1
[RouterA-Serial1]ip address 151.1.1.1 255.255.255.0
[RouterA-Serial1]quit
[RouterA]rip
[RouterA-rip]network 192.1.1.0
[RouterA-rip] network 150.1.1.0
[RouterA-rip] network 151.1.1.0
[RouterA-rip]route-policy lab1 permit 10
[RouterA-route-policy] if-match length 64 100
[RouterA-route-policy] apply ip next-hop 150.1.1.2
[RouterA-route-policy]route-policy lab1 permit 20
[RouterA-route-policy]if-match length 101 1000
[RouterA-route-policy]apply ip next-hop 151.1.1.2
(2) 配置路由器Router B
[RouterB]interface serial 0
[RouterB-Serial0]ip address 150.1.1.2 255.255.255.0
[RouterB-Serial0]interface serial 1
[RouterB-Serial1]ip address 151.1.1.2 255.255.255.0
[RouterB-Serial1]quit
[RouterB]rip
[RouterB-rip]network 150.1.1.0
[RouterB-rip]network 151.1.1.0
在路由器A 打开debugging ip policy-routing 命令监视策略路由。注意:
64 字节的报文与路由策略lab1 的序号为10 的入口项匹配,因此向150.1.1.2
转发。
[RouterA]debugging ip policy-routing
IP: s=151.1.1.1(local),d=152.1.1.1, len 64, policy match
IP: route map lab1, item 10, permit
IP: s=151.1.1.1(local),d=152.1.1.1, len 64, policy routed
IP: local to serial 150.1.1.2
在路由器A 上改变报文长为101 字节,再用debugging ip policy-routing
命令监视策略路由。注意:101 字节的报文与路由策略lab1 序号为20 的入口
项匹配,向151.1.1.2 转发。
[RouterA]debugging ip policy-routing
IP: s=151.1.1.1(local),d=152.1.1.1, len 101, policy match
IP: route map lab1, item 20, permit
IP: s=151.1.1.1(local),d=152.1.1.1, len 101, policy routed
IP: local to serial 151.1.1.2
在路由器A 上改变报文长为1001 字节,再打开debugging ip policy-routing
命令监视策略路由。注意这个报文不匹配lab1 中的任何入口项,所以按正常
方式转发。
[RouterA]debugging ip policy-routing
IP:s=151.1.1.1(local),d=152.1.1.1, len 1001, policy rejected-normal
forwarding
IP:s=151.1.1.1(local),d=152.1.1.1, len 1001, policy rejected-normal
forwarding
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21173334/viewspace-592657/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21173334/viewspace-592657/