路由控制的介绍和应用(本文档比较详细)

路由控制

路由控制实际上是使用一系列工具对路由进行控制

一、路由策略
能够 影响路由的接收、发布、引入、选择等,进而影响报文的转发路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HnnM5fbc-1686101342926)(路由控制.assets/2023-04-06-11-23-29-image.png)]

1、ACL

acl就不多说了,

ACL根据编号可以分为一下几类:

            基本ACL:编号范围2000-2999,可以通过匹配源IP进行过滤。
            高级ACL:编号范围3000-3999,可以通过匹配源目IP、源目端口、协议等进行
匹配。
            二层ACL:编号范围4000-4999,可以通过匹配源目MAC等进行匹配。
            用户自定义ACL:编号范围5000-5999
            用户ACL:编号范围6000-6999

生产中使用高级acl较多,其他的比较少看到

2、IP-Prefix List

acl无法匹配掩码/前缀长度。但是IP-Prefix List可以。和acl相似,都是匹配工具,匹配特定网段的时候IP-Prefix精确度会更高

IP-Prefix List不能用于数据包过滤

需要使用route-policy调用之后,在协议或者接口上应用才可以生效

acl 2001
rule 5 deny source 192.168.0.0 255.255.0.0
rule 10 permit source 192.168.16.0 255.255.255.0
比如:
192.168.4.0/24
192.168.5.0/24
192.168.6.0/24
192.168.7.0/24
可以通过ip-prefix p1 permit 192.168.4.0 22 g 24 l 24  
22意思是前22位需要一样。g 24 l 24 意思是掩码大于或等于24位,小于或者等于
24位

小案例:

ip ip-prefix no_16 deny 192.168.16.0 24

route-policy no_16 deny
if-match ip-prefix no_16
 ospf 1
import-route static route-policy no_16
 匹配网络号是192.168.16且掩码是24的ip,动作是拒绝。并且在route-policy上引用
这个引用这个前缀。
在ospf 1里面的导入路由时应用该策略。

由于前缀列表不能过滤数据包,所以一般应用于路由策略里面筛选路由。

IP-prefix list最后有一条deny所有的隐形规则,所有前面需要匹配上需要匹配的网段

3、filter-policy

这个工具可以直接调用,但只能用于过滤路由,无法过滤LSA(一类和二类),不能修改路由属性

对ospf进行过滤,非外部路由只能对入方向的路由信息进行过滤 ,入方向对lsa3,4做过滤,lsdb不变,但是会使得做路由计算的时候不计算被过滤的路由,从而影响到路由表。实际上是对自己计算路由产生影响。出方向只能对外部路由进行过滤。比如5类和7类

import是对OSPF计算出来的路由进行过滤。
export是对OPSF引入路由进行过滤

小例子:

import:
ip ip-prefix huawei index 10 deny 192.168.10.0 24
ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32
ospf 1
filter-policy ip-prefix huawei import
这个例子的效果是在当前设备的ospf区域内,对192.168.10.0/24过滤,
即使计算出这个网段的ip也要对它进行过滤掉
-----------------------------------------
export:
ip ip-prefix huawei index 10 deny 192.168.10.0 24
ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32
ospf 1
filter-policy ip-prefix huawei export
这是对导入路由进行过滤。比如域间路由,外部路由都可以进行过滤。
-----------------------------------------
再次强调,ip-prefix只能对路由进行过滤,无法过滤lsa

实验:
在这里插入图片描述

在AR2上对13.0.0.0/24的路由进行过滤;
ospf 1 router-id 2.2.2.2 
 filter-policy ip-prefix no_13 import
 area 0.0.0.0 
  network 12.0.0.0 0.0.0.255 
 area 0.0.0.1 
  network 24.0.0.0 0.0.0.255 
#
ip ip-prefix no_13 index 10 deny 13.0.0.0 24
ip ip-prefix no_13 index 20 permit 0.0.0.0 0 less-equal 32
关于外部路由:

情况1:在AR1上导入外部直连路由8.8.8.8,在AR1上使用export过滤之后,整个ospf网络的路由表都没有外部路由。

情况2:当AR1上导入外部路由,只在AR2上使用import过滤之后,在area 1区域内的其他路由表里面已经存在8.8.8.8,但是已经无法ping通8.8.8.8。也就是说,数据包到ABR上的时候就已经被丢包了

在这里插入图片描述

关于域间路由:

在ABR2对13.0.0.0/24的路由进行过滤,在在area 1区域内的其他路由表里面已经存在13.0.0.0/24,但是已经无法ping通13.0.0.0/24。也就是说,数据包到ABR上的时候就已经被丢包了
在这里插入图片描述

总结:

根据实验,filter-policy使用export对外部路由过滤只能在ASBR上进行,才能达到整个网络没有这个路由。在ABR 上操作无法在整个区域内过滤目标路由。原因是filter-policy无法过滤lsa

使用import对默写路由进行过滤的时候,在ABS上进行过滤,区域内其他路由器的路由表还是有相关路由的,但是当数据包到达ABS时,由于ABS路由表内没有路由,也会进行丢包处理,实际上还是达到网络隔离的效果

在ABR上过滤外部路由也是一样,即使区域内有路由,但是数据包会在ABR上丢弃,实际上还是达到网络隔离效果

实际上,无论是外部路由还是域间路由都可以在ABS上其进行过滤,虽然区域内路由表有外部路由,但是ABR上没有该路由,最后也是会进行丢包处理

ps:似乎只有在ASBR上才会用到export,其他路由都是用import

4、Route-Policy

route-policy,复杂而强大的路由过滤器.可以过滤和修改路由属性

route-policy由四部分组成:

节点索引号(node 10或node 其他数字)
匹配模式(deny或permit)
if-match子句(条件语句)
apply子句(执行语句)
----------------------
route-policy A deny node 20
if-match acl 2000(ip-prefix [name])

在这里插入图片描述
执行route-policy过程,当

apply实际上就是执行动作

acl number 2001
rule 5 deny 192.168.1.0 0
acl number 2002
rule 5 permit 192.168.1.0 0
#
route-policy huawei permit node 10
if-match acl 2001
#
route-policy huawei permit node 20
if-match acl 2002
上面配置:
当192.168.1.0流量到达时,先通过node 10检测。由于node 10检测的时候使用的
是acl 2001,acl 2001的动作是deny,所以node 10就不对192.168.1.0的流量
就行操作。进入下一个node检测,由于node 20调用了acl 2002,acl 2002动作是
permit,所以node 20会对192.168.1.0的流量进行操作。node 20动作是permit
所以最后192.168.1.0流量可以通过
route-policy最后隐藏有一条deny all。所以需要其他路由通过就要写一条
route-policy [name] permit node [number]
强调:空语句是必须写的,不然后面的都会被过滤
这个图是有问题的,table-2里面应该有6.6.6.6/32的路由

在这里插入图片描述

5、策略路由
小例子:
policy-base-route pbr_a permit node 10
 if-match acl 3001
 apply output-interface g0/0/0
policy-base-route pbr_a deny node 20
解释:
这个策略用acl 3001匹配上对应的流量,这些流量下一跳出口是接口g0/0/0,其他流量不使用
该策略。

接口策略只能在入接口配置

路由策略影响路由表,策略路由不影响路由表
在这里插入图片描述
本地策略路由,似乎用的比较少
在这里插入图片描述

本地策略路由只对本设备产生的数据包生效

接口策略路由通过流策略技术实现的,

 traffic classifier vlan_10 operator or
 if-match acl 2001
#
traffic behavior vlan_10
 redirect ip-nexthop 192.168.100.2
#
traffic policy vlan_10
 classifier vlan_10 behavior vlan_10  
#
 interface GigabitEthernet0/0/0
  traffic-policy vlan_10 inbound 

解释:流策略分四个阶段,
 第一阶段就是调用匹配工具(这里以acl为例子)抓取到目标数据包,
 第二阶段,流行为定义动作,在这里是重定向,下一跳指向192.168.100.2。
 第三阶段,流策略关联类和行为
 第四阶段,在接口上调用流策略协议
 注意:一个流策略里面可以关联多个行为和类。一个接口只能调用一个流策略
6、路由引入

解释:

引入概述: import,使不同的路由技术或进程可以互相兼容、学习的技术。
引入原则: 假设把路由协议A引入进B,表示为A→B,则会导致:
跟A有关的所有路由会引入进B
    从A学习到的路由会引入进B
    启用了A的接口所在的网络路由会进入B
引入的路由必须位于路由表中
引入是外向的,即负责引入的路由器不会改变自身路由表

也就是说,负责引入的路由器只是根据自己的路由表,执行对应的引入。

ospf引入外部路由:

import-route static #引入静态路由,其他参数看需求改
default-route-advertise always  #宣告默认路由,要谨慎,避免出现环路

路由引入问题:优先级高的路由区域内引入优先级低路由可能会出现次优路径(isis里引入rip)。环路问题:多点双向的路由同时引入可能会出现环路(ospf和is-is同时相互引入路由,引入路由的边界路由器不止一台的情况下)

解决关键词:过滤,优先级,标签

使用标签可以防止环路,比如在is-is引入路由的时候打上tag ,在ospf引入is-is的时候通过过滤,禁止tag5的路由进来

 ospf 1
  preference 15 #设置区域内路由优先级改为15
  preference ase 140 #设置外部路由优先级为140
  preference route-policy no_5 10 #区域内路由,不被route-policy匹配上的改为10
  preference ase route-policy no_5 150  #外部路由,不被route-policy匹配上的改
 为150

PS:路由引入问题可以再看最后15分钟

指定下一跳配置:

route-policy name permit node 10

策略路由之引流

traffic classifier c1
if-match any

为140
preference route-policy no_5 10 #区域内路由,不被route-policy匹配上的改为10
preference ase route-policy no_5 150 #外部路由,不被route-policy匹配上的改
为150


PS:路由引入问题可以再看最后15分钟

指定下一跳配置: 

route-policy name permit node 10


策略路由之引流

traffic classifier c1
if-match any

**本文档主要是一个学习的笔记,防止文件丢失存放在博客上,欢迎指出错误的地方,相互学习**
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值