PBR 、 IPv6 PBR(基于策略的路由)原理与配置
PBR(Policy-Based Routing,策略路由)是根据 IP 包的源地址、目的地址、IP优先级、 TOS 值、IP协议、源端口号、目的端口号等信息来策略性的指定数据包转发的下一跳的一种 方法。
基于策略的路由为网络管理者提供了比传统路由协议对报文的转发和存储更强的控制 能力,传统上,路由器用从路由协议派生出来的路由表,根据目的地址进行报文的转发,基 于策略的路由比传统路由强,使用更灵活,它使网络管理者不仅能够根据目的地址而且能够 根据报文的大小,应用或 IP 源地址来选择转发路径。 策略可以定义为通过多路由器的负载 平衡或根据总流量在各线上进行转发的服务质量(QOS)。
1.PBR配置 举例
案例1:
在端口ethernet 1/0/1 上,设置源IP为192.168.1.0/24 网段内的报文进行策略路由,其下 一跳为218.31.1.119。同时,该网络的内网IP是在192.168.0.0/16 范围。为了保证内网正常 通信,对于源IP为192.168.1.0/24,目的 IP 为内网 IP192.168.0.0/16 范围内的报文不进行策 略路由,本设备192.168.1.0/24 段的接口地址为192.168.1.1。
Switch#config
Switch(config)#ip access-list extended a1
Switch(Config-IP-Ext-Nacl-a1)# permit ip 192.168.1.0 0.0.0.255 192.168.0.0 0.0.255.255
Switch(Config-IP-Ext-Nacl-a1)#exit
Switch(config)#ip access-list extended a2
Switch(Config-IP-Ext-Nacl-a1)# permit ip 192.168.1.0 0.0.0.255 any-destination
Switch(Config-IP-Ext-Nacl-a1)#exit
Switch(config)#mls qos
Switch(config)#class-map c1
Switch(Config-ClassMap-c1)#match access-group a1
Switch(Config-ClassMap-c1)# exit
Switch(config)#class-map c2
Switch(Config-ClassMap-c2)#match access-group a2
Switch(Config-ClassMap-c2)# exit
Switch(config)#policy-map p1
Switch(Config-PolicyMap-p1)#class c1
Switch(Config-PolicyMap-p1-Class-c1)#set ip nexthop 192.168.1.1
Switch(Config-PolicyMap-p1-Class-c1)#exit
Switch(Config-PolicyMap-p1)#class c2
Switch(Config-PolicyMap-p1-Class-c2)#set ip nexthop 218.31.1.119
Switch(Config-PolicyMap-p1-Class-c2)#exit
Switch(config)#interface ethernet 1/0/1
Switch(Config-If-Ethernet1/0/1)#service-policy input p1
配置结果:
先设置两个包含两个项的ACL a1、a2,a1匹配源IP网段192.168.1.0/24和目的地IP网 段192.168.0.0/16,a2 匹配源 IP 网段 192.168.1.0/24。
全局启动 QoS 功能,
创建两个class-map: c1 和c2,在 class-map c1 中匹配ACL a1,class-map c2 中匹配 ACL a2。再创建一个policy-map: p1,在P1 中引用c1,设置本设备192.168.1.0/24 段的接口地址为192.168.1.1,设置下一跳 IP 为218.31.1.119。
然后在端口ethernet 1/0/1 应用此 policy-map。设置后,端口ethernet 1/0/1上对于源IP为网段192.168.1.0/24的报文,除目的IP为网段192.168.0.0/16的报文进行正常 的L3转发之外,其余的报文经218.31.1.119转发。
案例2:
在端口ethernet 1/0/1 上,本设备默认网关地址为3000::1,设置源IP为2000::/64网段 内的报文进行策略路由,其下一跳地址为3100::2。
Switch#config
Switch(config)#interface vlan 1
Switch(Config-if-Vlan1)#ipv6 address 2000::1/64
Switch(Config-if-Vlan1)#ipv6 neighbor 2000::2 00-00-00-00-00-01 interface Ethernet 1/0/1
Switch(config)#interface vlan 2
Switch(Config-if-Vlan2)#ipv6 address 3000::1/64
Switch(Config-if-Vlan2)#ipv6 neighbor 3000::2 00-00-00-00-00-02 interface Ethernet 1/0/2
Switch(config)#interface vlan 3
Switch(Config-if-Vlan3)#ipv6 address 3100::1/64
Switch(Config-if-Vlan3)#ipv6 neighbor 3100::2 00-00-00-00-00-03 interface Ethernet 1/0/5
Switch(config)# ipv6 access-list extended b1
Switch(Config-IPv6-Ext-Nacl-b1)# permit 2000::/64 any-destination
Switch(Config-IPv6-Ext-Nacl-b1)#exit
Switch(config)#class-map c1
Switch(config-ClassMap)#match ipv6 access-group b1
Switch(config-ClassMap)#exit
Switch(config)#policy-map p1
Switch(config-PolicyMap)#class c1
Switch(config-Policy-Class)#set ipv6 nexthop 3100::2
Switch(config--Policy-Class)#exit
Switch(config-PolicyMap)#exit
Switch(config)#interface ethernet 1/0/1
Switch(Config-Ethernet1/0/1)#service-policy input p1
配置结果:
先设置一个包含一个项的ACL b1,匹配源IP网段2000::/64(允许)。
全局启动QoS功 能,创建一个class-map:c1,在class-map中匹配ACL b1,再创建一个policy-map:p1,在 p1 中引用c1,设置下一跳IP为3100::2。然后在端口ethernet 1/0/1 应用此policy-map。
设 置后,端口ethernet 1/0/1 上对于源IP为网段2000::/64的报文经3100::2转发。
注意:
目前策略表只支持绑定到入口,对出口不支持。
受硬件资源限制,如果策略过于复杂,配置不上,会提示用户相关信息。