应用场景:
当您的网络中的汇聚与核心设备,或者是核心与出口路由器之间有多条链路互联时,普通的路由表的负载或者主备的结果可能无法满足你的需求,或
者你的网络中又引人了一些新的业务,这些网段在你原先的网络设计时没有考虑到,此时出现新的路由访问的需要,您不想去调整前期规划的,复杂
的OSPF路由控制选路的策略,此时就可以利用策略路由这种技术来针对这部分新的需求进行一个重新的路由选择,可以按照你的意愿选择一条指定
的链路转发数据,而不依赖于传统的路由表;
还有另外一种常见的应用场景就是核心到网络出口设备有多台路由器或者防火墙,他们对应的多家不同的运营商链路,比如电信(100M),联通
(50M),教育网(1G)等,此时您希望根据每台链路的负载程度,带宽利用率等情况来将内网中的流量分流到这三条链路上,比如各教学楼,科研
所,教师办公区的用户上网全部走教育网出口,图书馆,电教中心,学校行政楼的区域上网全部走联通,其他流量(比如学生宿舍区)全部都走电
信,另外访问教育网资源的数据全部走教育网出口,基于上面的业务类型进行分流,同时电信,联通,教育网又彼此作为各自的链路故障时候的备
份,起到冗余,如果您有这样的组网需求,就可以考虑采用策略路由进行选路。
功能简介:
策略路由(PBR:Policy-Based
Routing)提供了一种比基于目的地址进行路由转发更加灵活的数据包路由转发机制。策略路由可以根据 IP/IPv6 报
文源地址、目的地址、端口、报文长度等内容灵活地进行路由选择,优先级比普通的路由高,这样就可以按照管理员的意志针对部分感兴趣的流量重
新定义报文的转发路径,满足一些特殊场景下的需求。
一、组网需求
如下网络拓扑,SW1到外网有2个出口 R3和R4,需要实现内网 172.16.1.0/24 访问外网走R3出口,内网 172.16.2.0/24
访问外网走R4出口。
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、基本的ip路由配置,使全网可达
3、在SW1上配置ACL,把内网的流量匹配出来
4、配置策略路由
5、应用策略路由
四、配置步骤
1、基本ip地址配置
Ruijie>en
Ruijie#config ter
Ruijie(config)#hostname
SW1
SW1(config)#interface
gigabitEthernet 0/25
SW1(config-GigabitEthernet
0/25)#no switchport
SW1(config-GigabitEthernet
0/25)#ip address 192.168.1.1 255.255.255.0
SW1(config-GigabitEthernet
0/25)#exit
SW1(config)#interface
gigabitEthernet 0/1
SW1(config-GigabitEthernet
0/1)#no switchport
SW1(config-GigabitEthernet
0/1)#ip address 192.168.2.1 255.255.255.0
SW1(config-GigabitEthernet
0/1)#exit
SW1(config)#interface
gigabitEthernet 0/2
SW1(config-GigabitEthernet
0/2)#no switchport
SW1(config-GigabitEthernet
0/2)#ip address 192.168.3.1 255.255.255.0
SW1(config-GigabitEthernet
0/2)#exit
Ruijie(config)#hostname
SW2
SW2(config)#interface
gigabitEthernet 0/25
SW1(config-GigabitEthernet
0/25)#no switchport
SW2(config-GigabitEthernet
0/25)#ip address 192.168.1.2 255.255.255.0
SW2(config-GigabitEthernet
0/25)#exit
SW2(config)#interface
gigabitEthernet 0/1
SW2(config-GigabitEthernet
0/1)#no switchport
SW2(config-GigabitEthernet
0/1)#ip address 172.16.1.1 255.255.255.0
SW2(config-GigabitEthernet
0/1)#exit
SW2(config)#interface
gigabitEthernet 0/2
SW2(config-GigabitEthernet
0/2)#no switchport
SW2(config-GigabitEthernet
0/2)#ip address 172.16.2.1 255.255.255.0
SW2(config-GigabitEthernet
0/2)#exit
Ruijie(config)#hostname
R3
R3(config)#interface
fastEthernet 0/0
R3(config-if-FastEthernet
0/0)#ip address 192.168.2.2 255.255.255.0
R3(config-if-FastEthernet
0/0)#exit
Ruijie(config)#hostname
R4
R4(config)#interface
fastEthernet 0/0
R4(config-if-FastEthernet
0/0)#ip address 192.168.3.2 255.255.255.0
R4(config-if-FastEthernet
0/0)#exit
2、基本的ip路由配置,使全网可达
SW1(config)#ip route 172.16.0.0 255.255.0.0 192.168.1.1
SW2(config)#ip route 100.1.1.0 255.255.255.0 192.168.1.2
R3(config)#ip
route 172.16.0.0 255.255.0.0 192.168.2.1
R4(config)#ip
route 172.16.0.0 255.255.0.0 192.168.3.1
注:R3跟R4到外网的的路由配置忽略
3、在SW1上配置ACL,把内网的流量匹配出来
SW1(config)#ip
access-list standard 10 ----->配置ACL 10,匹配内网172.16.1.0/24
SW1(config-std-nacl)#10
permit 172.16.1.0 0.0.0.255
SW1(config-std-nacl)#exit
SW1(config)#ip
access-list standard 20 ----->配置ACL 20,匹配内网172.16.2.0/24
SW1(config-std-nacl)#10
permit 172.16.2.0 0.0.0.255
SW1(config-std-nacl)#exit
4、配置策略路由
SW1(config)#route-mapruijie permit 10 ----->配置route-map
ruijie
SW1(config-route-map)#match
ip address 10 ----->匹配内网acl 10的流量
SW1(config-route-map)#set
ip next-hop 192.168.2.2 ----->强制设置ip报文的下一跳为
192.168.2.2,走R3出口
SW1(config-route-map)#exit
SW1(config)#route-mapruijie permit 20
SW1(config-route-map)#match
ip address 20
SW1(config-route-map)#set
ip next-hop 192.168.3.2
SW1(config-route-map)#exit
注意:
1)route-map的匹配顺序为从上往下匹配,当流量匹配到策略后,就按匹配的策略转发数据,不会继续往下匹配。
2)route-map
最后有一条deny所有的语句,对于没有匹配到策略路由的流量,不会把内网的流量丢弃,而是做正常的ip 路由转发。
3)set
ip next-hop 可以设置下一跳ip地址,也可以设置数据包的出接口,建议设置为下一跳的ip地址。
5、应用策略路由
SW1(config)#interface
gigabitEthernet 0/0
SW1(config-GigabitEthernet
0/0)#ip policy route-map ruijie ----->应用策略路由
SW1(config-GigabitEthernet
0/0)#exit
注意:
策略路由一定要应用到数据包的in方向接口,不能应用到数据包的out方向接口。因为策略路由实际上是在数据包进路由器的时候,强制设置数据包的下一跳,out方向接口,路由器已经对数据包做完ip路由,把数据包从接口转发出去了,故out方向策略路由不生效。
6、各种路由优先级比较如下:
不带default的策略路由>静态路由>ospf>rip>default的策略路由>缺省路由
五、配置验证
在SW2上带源地址到外网100.1.1.0/24做路由跟踪,若172.16.1.0/24访问外网走R3,172.16.2.0/24访问外网走R4,则策略路由配置正确。
SW2#traceroute 100.1.1.1 source 172.16.1.1
< press Ctrl+C to break
>
Tracing the route to 100.1.1.1
1 192.168.1.1 0 msec 0 msec 0
msec
2 192.168.2.2 10 msec 0 msec 10 msec ----->172.16.1.0/24
访问外网走R3出口
其它路径省略
SW2#traceroute 100.1.1.1 source 172.16.2.1
< press Ctrl+C to break
>
Tracing the route to 100.1.1.1
1 192.168.1.1 0 msec 0 msec 0
msec
2 192.168.3.2 10 msec 0 msec 10 msec ----->172.16.2.0/24
访问外网走R4出口
其它路径省略