策略路由简介
通过配置策略路由,可以用于提高网络的安全性能和负载分担。策略路由PBR(Policy-Based Routing)是一种依据用户制定的策略进行路由选择的机制。
传统的路由转发原理是首先根据报文的目的地址查找路由表,然后进行报文转发。但是目前越来越多的用户希望能够在传统路由转发的基础上根据自己定义的策略进行报文转发和选路。
策略路由具有如下优点:
1.可以根据用户实际需求制定策略进行路由选择,增强路由选择的灵活性和可控性;
2.可以使不同的数据流通过不同的链路进行发送,提高链路的利用效率;
3.在满足业务服务质量的前提下,选择费用较低的链路传输业务数据,从而降低企业数据服务的成本;
配置注意事项
1、本地策略路由(policy-based-route)
本地策略路由是指仅对本地发送的报文有效的策略路由,对转发的报文不起作用。并且只能配置一条本地策略,如果多次配置,后配置的会覆盖之前配置的内容。
一条本地策略路由可以配置多个策略点,并且这些策略的具有不同的优先级,本机发送的报文优先匹配优先级高的策略点。本地策略路由支持acl或报文长度匹配规则。
本地路由策略会根据本地策略路由节点的优先级依次匹配各个节点绑定的匹配规则发送报文,如果没有找到本地策略路由节点,则按照IP报文的一般流程根据目的地址查找路由。
本地策略路由节点优先级顺序为(高到低):报文优先级-出接口-下一跳-缺省出接口。
2、接口策略路由(traffic-policy)
仅对转发的报文生效,对本地发送的报文不起作用,且只对接口入方向的报文生效。接口策略路由是通过在流行为中配置重定向实现的。
组网需求
如下图所示,缺省情况下,AR1的接口GE0/0/0上收到的所有访问Server的报文根据路由表转发的下一跳均为10.4.1.2。现要求在AR1上配置本地策略路由,对于访问Server(1.1.1.1)的报文实现如下要求:
1.匹配接口GE0/0/0上收到的源IP地址为10.2.1.1的报文,将该报文的下一跳重定向到10.3.1.2。
2.匹配接口GE0/0/0上收到的HTTP报文,将该报文的下一跳重定向到10.3.1.2。
本地策略路由典型功能组网图
操作步骤
1.在LSW1上创建VLAN10、VLAN20和VLAN100,平且配置默认路由和接口的设置。
<Huawei>dis curr
vlan batch 10 20 100
interface Vlanif10
ip address 10.1.1.254 255.255.255.0
#
interface Vlanif20
ip address 10.2.1.254 255.255.255.0
#
interface Vlanif100
ip address 10.1.2.2 255.255.255.0
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 100
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
ip route-static 0.0.0.0 0.0.0.0 10.1.2.1
#
return
2.配置LSW2各接口的所属VLAN,连接终端PC的接口配置为Access类型,连接Switch的接口配置为Trunk类型。
<Huawei>dis curr
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 2 to 4094
#
return
3.配置PC1和PC2电脑的相关信息
4.在AR1上创建ACL、本地策略路由以及进行接口设置等。
<Huawei>dis curr
ip local policy-based-route pbr1 //在AR1上应用策略
#
acl number 3005
rule 5 permit ip source 10.2.1.0 0.0.0.255 //定义访问控制列表ACL3005,用于匹配源IP地址为10.2.1.0/24网段的报文
acl number 3006
rule 0 permit tcp destination-port eq www //定义访问控制列表ACL3006,用于匹配HTTP报文
acl number 3007
rule 5 permit ip source 10.1.2.0 0.0.0.255 //定义访问控制列表ACL3007,用于匹配源IP地址为10.1.2.0/24网段的报文
#
interface GigabitEthernet0/0/0
ip address 10.1.2.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.3.1.1 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.4.1.1 255.255.255.0
#
ip route-static 0.0.0.0 0.0.0.0 10.3.1.2 //配置静态路由,保证两条路径都可达,并且缺省下一跳为10.4.1.2
ip route-static 0.0.0.0 0.0.0.0 10.4.1.2 preference 40
ip route-static 10.1.1.0 255.255.255.0 10.1.2.2 //配置静态路由,保证可以返回10.1.1.0/24网段的路由
ip route-static 10.2.1.0 255.255.255.0 10.1.2.2 //配置静态路由,保证可以返回10.2.1.0/24网段的路由
#
policy-based-route pbr1 permit node 0 // 创建本地策略路由pbr1的0号节点,将匹配ACL3005的报文下一跳重定向到10.3.1.2
if-match acl 3005
apply ip-address next-hop 10.3.1.2
policy-based-route pbr1 permit node 1 // 创建本地策略路由pbr1的1号节点,将匹配ACL3006的报文下一跳重定向到10.4.1.2
if-match acl 3006
apply ip-address next-hop 10.4.1.2
policy-based-route pbr1 permit node 2 // 创建本地策略路由pbr1的2号节点,将匹配ACL3007的报文下一跳重定向到10.3.1.2
if-match acl 3007
apply ip-address next-hop 10.3.1.2
#
return
5.在AR2上创建loopback 0口(1.1.1.1)以及进行接口设置等。
<Huawei>dis curr
interface GigabitEthernet0/0/1
ip address 10.3.1.2 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.4.1.2 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
return
6.检查配置结果
通过display ip policy-based-route setup local命令可以查看到当前本地策略路由配置已经配置成功。
7.最终抓包验证配置
1)验证之前先想一下:由于路由器的出口默认下一跳是10.4.1.2(由于优先级为40),所以数据起初都应该走下一条路径。
2)但是从以上的配置来看,想法是让PC2到1.1.1.1走上一条路径,10.1.2.0/24网段到1.1.1.1也是走上一条路径的(到底能否实现呢?接下来抓包验证)
如果图片感觉太小,请把图片地址复制到浏览器地址栏打开,即可看到大图!!
从上面2幅图可以得出:
①本地策略路由是指仅对本地发送的报文有效的策略路由,对转发的报文不起作用;
②如果要完成起初的组网需求,还得使用接口策略路由,具体的配置可以参考:华为 | (接口)策略路由之Traffic-Policy(重定向到不同的下一跳)