路由策略与策略路由
使用场景
- 需要对路由进行过滤,比如不希望外部访问内网
- 网络传递过程中某些路由的属性修改
- 多种路由协议相互注入时,改开销/打标签等
- 生产流量和办公流量分开,并且带宽充分利用,希望更加严格地控制流量
路由策略和策略路由
都可以影响数据包的转发过程,影响方式不同
分场景理解
-
控制网络流量可达性:
为保证网络安全性,客户提出一些部门之间不可互访的需求-
修改路由条目(对接受和发布的路由进行过滤)来控制流量可达性
——路由策略 -
直接通过依据用户指定的策略进行转发,且改策略优于路由表转发
——策略路由
-
-
调整网络流量路径:
后期对网络做优化,提出调整网络流量路径的需求-
通过路由策略方式修改协议属性来控制路由表条目,从而调整流量路径
-
采用策略路由方式在查找路由表之前控制流量行为
-
两者对比
- 【路由策略】
基于目的地址按路由表转发
基于控制平面,为路由协议和路由表服务
与路由协议结合完成策略
应用命令:route-policy
——————————————————————
【策略路由】
基于策略的转发,失败后再查找路由表转发
基于转发平面,为转发策略服务
需要手工逐跳配置,以保证报文按策略转发
应用命令:policy-based-route(PBR)
路由策略
定义
-
通过一系列工具或方法对路由进行各种控制的“策略”
-
影响路由的产生、发布、选择等,进而影响报文的转发路径
目的
-
对路由进行过滤
-
修改路由属性
(开销/优先级/度量值等)
作用
-
控制路由的接收、发布和引入,提高网络安全性
-
修改路由属性,对网络数据流量进行合理化规划,提高网络性能
实现机制
1. 条件工具 - 把需要的路由“抓取”出来
- AS路径过滤器(AS-Path-Filter)——应用于BGP协议
- 团体属性过滤器(Community-Filter)——应用于BGP协议
- 拓展团体属性过滤器(Extcommunity-Filter)——应用于VPN协议
- RD属性过滤器(Route Distinguisher-Filter)——应用于VPN协议
- 访问控制列表(ACL) ——应用于各动态路由协议
- 地址前缀列表(IP-Prefix List)——应用于各动态路由协议
- 能够精准匹配网络号和前缀长度
- 特点
- 性能和可控性比ACL更高(ACL通过地址形式和通配符,匹配地址的规则,无法限定掩码长度)
- 不能用于数据包的过滤
- 逐个匹配表项(按照索引号大小),没有匹配上的最后默认拒绝(ACL默认允许)——不同厂商默认动作不同
- 配置命令
- ip ip-prefix test(名字) [index 10(索引号 )] permit/deny 10.0.0.0 16 [greater-equal 24 less-equal 28] 24<=掩码长度<=28首先前16位一致,其次看掩码长度
- 特殊通配地址
- 0.0.0.0 0 只匹配缺省路由
- 0.0.0.0 0 less-equal 32 匹配所有路由
- 0.0.0.0 0 greater-equal 32 匹配所有主机路由
2. 调用工具
- 将路由策略应用到某个具体的路由协议里面,使其生效。
- Import-Route
- Filter-Policy
- 一种常用的路由过滤工具,只能过滤路由,无法过滤LSA,不能修改路由属性。可以直接调用ACL或地址前缀列表
- 距离矢量RIP
- 过滤路由的发送和接收,出口过滤/入口过滤都可,根据实际使用需求
- 链路状态OSPF
- 过滤路由表的生成,不影响LSDB的完整性
- 一个区域内,做入方向的过滤。LSDB同步,路由表不一定同步
- 跨区域,ABR入方向过滤,影响基于该路由的3类LSA。不同区域LSDB不同
- 出方向只能过滤外部路由
- 配置命令
- filter-policy 2000 export 协议出方向调用ACL2000
- filter-police prefix-list wakin import 协议入方向调用地址前缀列表wakin
3. 策略工具
- 把“抓取”出来的路由执行某个动作,如:允许、拒绝、修改属性等
- Route-Policy 一种强大而又复杂的过滤器,用于路由过滤和修改路由属性
- 匹配规则if-match
- ACL:路由信息的目的ip地址范围的匹配条件
- prefix-list:路由信息的目的ip地址范围的匹配条件
- ip next-hop:路由信息的下一跳地址的匹配条件
- interface:路由信息的出接口的匹配条件
- tag:RIP\OSPF\ISIS-路由信息的标记域的匹配条件
- cost:路由信息的路由开销的匹配条件
- 动作apply
- ip-address next-hop:设定通过过滤后路由信息的下一跳地址
- preference:设定通过过滤后路由协议的优先级
- tag:设定通过过滤后RIP/OSPF/IS-IS路由信息的标记域
- cost:设定通过过滤后路由信息的路由开销
- cost-type :设定通过过滤后路由信息的路由开销类型
- 规则
- 节点索引号0-65535,必须定义
- node的值小的节点先进行匹配
- 包含若干个节点,节点中包含子句 子句中匹配规则是“与”关系,节点之间是“或”关系 每个节点中内容不同,一个节点下可以什么都没有,也可以一个/多个规则或动作
- 最后未匹配上则拒绝 +空语句:route-policy permit node 30
- 条件工具允许,策略工具允许——匹配上的允许通过
- 条件工具允许,策略工具拒绝——匹配上的不允许通过
- 条件工具拒绝,策略工具允许——下一节点
- 条件工具拒绝,策略工具拒绝——下一节点
- 调用:常用import-route
- 过滤器——核心内容,定义一组匹配原则
- 把需要的路由“抓取”出来
- 访问控制列表(ACL) ——应用于各动态路由协议
- 地址前缀列表(IP-Prefix List)——应用于各动态路由协议
- AS路径过滤器(AS-Path-Filter)——应用于BGP协议
- 团体属性过滤器(Community-Filter)——应用于BGP协议
- 拓展团体属性过滤器(Extcommunity-Filter)——应用于VPN协议
- RD属性过滤器(Route Distinguisher-Filter)——应用于VPN协议
- 路由策略(Route-Policy)——应用于各动态路由协议,可以使用前面6种过滤器定义自己的匹配规则,不仅可匹配路由属性,也可改变路由属性
策略路由
PBR:Policy-Based-Route,打破路由表传统选路规则,根据管理员定义的策略条件来选择性转发数据包
-
策略路由手工逐条配置,在哪个设备上配了就会对流量进行单独处理。
-
有策略则按照策略转发,没有则按照普通报文正常转发。
-
apply动作一般指定出接口或下一跳
分类
-
本地策略路由:
仅对本机下发的报文进行处理,对转发报文不起作用- 配置命令:
policy-based-policy wakin(名字) permit node 10(节点号)
if-match acl 2000
if-match packet-length 64 1000
apply output-interface g0/0/1
apply ip-address next-hop 12.0.0.2
ip local policy-based-route wakin #调用
- 配置命令:
-
接口策略路由:
仅对转发的报文起作用,对本地下发的报文不起作用(通过流策略技术实现)-
流策略:
关联流分类和流行为 (CB对)-
Traffic Classifier :用if-match语句设定流分类匹配规则
-
Traffic Behavior:执行动作,重标记、重定向、负载分担、报文分片、流量限速、流量统计等
- car限速;mirroring端口镜像;redirect重定向;remark重标记 -
Traffic Policy:将流分类和流行为关联,应用到流量入接口
- traffic policy wakin(名字)
classifier http bahavior redirect
——
traffic-policy wakin inbound #入接口调用
- traffic policy wakin(名字)
-
-
路由引入
概述:import,使不同的路由技术或进程可以互相兼容、学习的技术
原则:
(假设把路由协议A引入进B,A→B)
-
引入是在关键设备上(边界路由器)配置的
- 直连/静态
-
跟A有关的所有路由会引入进B
1.从A学习到的路由会引入进B
2.启用了A接口所有的网络路由会进入B -
引入的路由必须位于路由表中 (一定是最优的)
-
引入是外向的,即负责引入的路由器不会改变自身路由表
规则
- 种子度量值(把一种路由引入进其他协议后的默认度量值)
-
单向路由引入:边缘网络,使用静态或缺省路由指向核心网络
-
双向路由引入:知道对方的具体路由
配置命令
-
import direct/static/rip/ospf/bgp
数字:进程号
cost:指定开销
route-policy:调用路由策略
tag:配置标签
type:配置类型
default cost 20 配置种子度量值
default-route originate 开启RIP的缺省路由宣告
default-route-advertise 开启ospf的缺省路由宣告- 引入静态路由时,不会引入缺省路由,需要开启缺省路由宣告