【计算机网络】--路由控制
写在前面:本人是一名计算机系大二的学生,会不定时的将我的学习笔记分享给大家!如果需要更多的学习资源可以通过我的GitHub自行下载!
路由控制
一、路由策略
定义:
- 通过一系列工具或方法进行控制的策略
- 影响路由的产生、发布、选择等,进而影响报文的选择路劲
目的:
- 对路由进行过滤:要不要这条路由
- 修改路由属性:将这条路由的耨个属性值修改为一个特定值
作用:
- 控制路由的接受、发布、引入,提高安全性
- 修改路由属性,合理规划,提高性能
实现机制:路由策略的核心内容就是过滤器
过滤器 | 应用范围 |
---|---|
访问控制列表(ACL) | 各动态路由协议 |
地址前缀列表(filter- | 各动态路由协议 |
AS路径过滤器(AS-PATH-filter) | bgp协议 |
团体属性过滤器(community-filter) | bgp协议 |
扩展团体属性过滤器(extcommunity-filter) | vpn |
RD属性过滤器(route distinguisher-filter) | vpn |
路由策略(route-policy) | 各种路由协议 |
- route-policy可以使用前面六种过滤器定义自己的匹配规则,可以匹配路由属性,还可以改变路由属性
类型 | 备注 |
---|---|
条件工具 | 把需要的路由器抓取出来 |
策略工具 | 把抓取的路由器质性动作,允许、拒绝、只改属性等 |
调用工具 | 将路由策略应用到某个具体的路由协议里面,使其生效 |
1、ip-prefix list
-
ip-prefix list :能同时精确匹配网络号和前缀长度
-
性能可控性比acl高(acl无法匹配掩码\前缀掩码)
-
前缀列表不能路由过滤
-
最后一条默认拒绝
ip ip-prefix test index 10 permit 10.0.0.0 16 greate-equnal 24 less-equal 28 //前缀长度是24-28,16的意思就是ip地址前面的16位要一样,掩码是24-28
地址范围,10.0.x.x
24<=掩码长度<=28
eg : 10.0.1.0/24,10.0.2.0/25,10.0.2.192/26
语法规则
语法规则 | |
---|---|
不配置greater-equal和less-equal | 前缀长度=16 |
只配置greater-equal | 前缀长度=24-32 |
只配置less-equal | 前缀长度=16-28 |
同时配置greater-equal和less-equal | 前缀长度=24-28 |
注意事项
- 其他允许访问的路由要写明允许所有,不然会影响其他的路由表
例子1
匹配所有路由
#
permit 0.0.0.0 0 less 32
#
匹配主机路由:1.1.1.1/32
#
permit 1.1.1.1 32
#
匹配缺省路由
#
permit 0.0.0.0 0
例子2
匹配下面的路由(用最精准最简洁的方式)
192.168.4.0/24
192.168.5.0/24
192.168.6.0/24
192.168.7.0/24
方案一:
permit 192.168.4.0 24
permit 192.168.5.0 24
permit 192.168.6.0 24
permit 192.168.7.0 24
方案二:
ip ip-prefix ab index permit 192.168.4.0 22 gr 24 le 24
null
:黑洞接口,数据包丢弃
ip route-sta xxxx xxxx null 0 //数据包丢弃
2、filter -policy
- 一种常用的路由过滤工具,只能过滤路由,无法过滤lsa,不能修改路由属性。
路由类型 | 路由传递原理 |
---|---|
距离矢量 | 过滤路由器的发送和接受 |
链路状态 | 过滤路由器的生成,不影响lsdb的生成 |
命令
filter-policy 2000 export //在协议簇方向调用策略,acl
fiter-policy prefix-list rourou import //在协议出方向调用过滤策略,前缀列表
- 一类lsa是在路由的基上,同一区域的无法过滤
3、route-policy
- 强大而又复杂的过滤器
规则
route-policy policy_a permit node 10 //策略名称、条件模式、节点
if-macth ip-address prefix pre_a //节点匹配规则
apply cost 100 //通过节点过滤的规则
- 有若干个节点,节点中方包含了子句
- 由若干个节点node构成,node之间的关系是‘或’
- node下可以有n个if-macth,apply
- if-macth之间的关系‘与’
匹配规则(if-match)
acl
:路由信息的目的ip地址范围的匹配条件prefix-list
:路由信息的目的ip地址范围的匹配条件ip next-hop
:路由表的下一跳地址的匹配条件interface
:路由信息的出接口的匹陪条件route-type
:路由信息类型的匹配条件tag
:rip、ospf、isis路由信息的标记域的匹配条件cost
:路由信息的路由开销的匹配条件
二、策略路由
1、路由策略和策略路由的区别
路由策略
- 基于
目的地址
按路由表转发 - 基于
控制面板
,为路由协议和路由表服务 - 与
路由协议
结合完成路由策略 - 应用命令:route-policy
策略路由
- 基于
策略
的转发,失败后再查找路由表 - 基于
转发平面
,为转发策略服务 - 需要
手工逐跳配置
,以保证报文按策略转发 - 应用命令:policy-based-route
路由策略中,拒绝的将不会被通过
策略路由中,拒绝的将做正常转发
2、策略路由
规则
policy-bsed-route pbr_a permit node 10 //策略路由的名称、匹配模式、节点编号
if-match acl 3000 //节点匹配规则
apply output-interface serial 2\0 //通过节点过滤后的动作
policy-based-route pbr_a deny node 20
-
prb中包含了若干个节点,节点中包含了子句
-
策略路由中拒绝的会按正常的路由流量转发
-
节点之间的过滤关系是‘或’
-
节点if-match之间是‘与’
本地策略路由
- 仅对
本机
下发的报文进行处理。对转发的不起作用
接口策略路由
仅对转发
对的报文其作用,对本地转发的报文不起作用
本地策略路由配置
- 使用
policy-based-route
工具
命令 | 备注 |
---|---|
policy-based-route rourou perMIT node 10 | 创建pbr |
if-macth acl xxxx | 配置IP地址匹配条件 |
if-macth packet -length 64 100 | 配置长度 |
apply output-interface g0/0/0 | 适配动作在出接口 |
apply ip-address next-hop 12.0.0.2 | 配置ip地址的下一跳 |
ip local policy-based-route rourou | 配置prb的名称 |
接口策略路由配置
-
用
traffic-policy
工具实现 -
通过流策略技术实现
流策略
- 将
流分类
和流行为
关联,就是流策略
,形成了‘’模块化‘’的配置方式,最大优点就是可以节省配置,支持批量修改
技术 | 备注 |
---|---|
traffic classifier,流分类 | if-macth语句设定流分类的匹配规则 |
traffic behavior ,流动作 | 执行动作,如、重标记、重定向、流量限速、统计等 |
traffic policy,流策略 | 将流量分类和流动作关联,应用到流量的入\出接口 |
命令
命令 | 备注 |
---|---|
traffic classifier rourou | 创建流分类 |
traffic policy Disney | 创建流策略 |
traffic -policy Disney inbound | 调用流策略 |
验证
dis traffic-policy applied-record //查看流策略信息
三、路由引入
1、路由引入
-
技术背景:存在多种路由技术并存的现象
-
引入概述:
import
,使不同技术或进程可以相互兼容、学习的技术 -
引入原则:假设路由协议a引入b,a–>b,则会导致:
- 跟a相关的所有路由引入了b
- 从a学习到的路由会引入到b
- 启用了a的接口所在网络路由会进入b
- 引入的路由必须位于路由表中
- 引入是外向的,即负责引入的路由不会改变自身路由表
- 跟a相关的所有路由引入了b
2、带来的问题
a、次优路由
解决方法
- 方法一:利用路由过滤避免次优路由
#
import-route xxx
#
acl xxx
rule x deny/permit source xxxx xxxx
isis\ospf xx
filter-policy xxx import //利用acl进行路由过滤
#
- 方法二:调整协议优先级避免次优路由
#
import-route xxx
#
isis xx
preference xxx //调整优先级
#
b、路由环路
- 方法一:利用路由过滤避
#
acl 2001
rule 0 deny source 2.0.0.0 0.255.255.255
rule 1 permit
#
ospf 1
import-route isis 1 route-policy RP1
#
route-policy RP1 permit node 10
if-match acl 2001
#
- 方法二:调整协议优先级
#
isis 1
preference 160
#
ospf 1
import-route isis 1
#
本文均属肉肉原创!如有错误欢迎评论指出!
谢谢你的喜欢!