<ccie实现考试distribute-list>分部控制列表只一直某些特定的路由不被发送或接受
发送列表只是一个指令,指示路由器在交换路由信息时对路由信息进行过滤,它本身不定义过滤条件,它通过调用访问控制列表(acl)或前缀列表对路由信息更新进行过滤,使路由器由条件地发送或收发路由信息。
注意,做distribute-list的目的不在于禁止路由器学习到链路状态,而是禁止了路由器把某些路由条目加入到路由表去。
当我要影响自己用in,当我影响别人要用out.
命令格式:
(1)适用于进入路由更新(in方向)
(config-router)#distribute-list access-list number in {interfacename}
适用于(除ospf和is-is)的ip路由协议,因为发布列表不能禁止lsa(lsp)的发送和接收,它只能禁止将某些路由安放在路由表里,如果要禁用ospf(is-is)的某些路由北安防到路由表里,要使用router-map,
interfacename:在指定的接口上过滤路由信息,如果不指定接口,对所有接口进来的路由信息过滤
(2)应用于出口路由更新(out方向)(config-router)#distribute-list access-list number out (interface name|routing pro|as-number)
分布列表只能用于距离矢量协议[比如rip,eigrp,ospf的abr(ospf区域间路由类似于dv的原理),或者asbr中的充分配],在链路状态写一下没有意义。
例一:
r1(config)#access-list 2 permit 2.2.2.0
r1(config-router)#distribute-list 2 in s0(只允许2.2.2.0路由从so进)
例二:
r1(config)#access-list 2 deny 2.2.2.0
r1(config)#access-list 2 permit any
r1(config-router)#distribute-list 2 out s1(不允许2.2.2.0路由从s1接口出去)
例三:协议间重分布时过滤
r1(config)#access-list 1 permit 2.2.2.0
r1(config)#router ospf 110
r1(config-router)#distribute-list 1 out eigrp 90
注意:当借助进程进行过滤时,仅允许使用关键字out,后面可以跟上协议名,但不能跟接口,因为无意义,详见卷一496页(注意:in后面不能跟协议,只有out后跟)
在ospf中使用分部列表,(没啥意义)
使用in关键字时后面可以跟接口
out关键字后面只能跟进程,不能跟接口
实际上并不能对lsa进行过滤,不能对自己的lsdb进行过滤。
实验:
1、在r1上写一个访问列表
access-list 1 permit 172.16.1.1
2、在r1的ospf进程下调用
distribute-list 1 in s1
3、查看r1和r3的路由表,比较有啥不同
<ccie实验开始ip prefix-list>前缀列表
设计用于抓路由,不仅抓网络号,还可以抓掩码
也有deny any的隐藏拒绝
不同于用于匹配流量的ip访问列表,ip前缀列表主要是用来指定具体的网络可达的,前缀列表用来匹配前缀(网段)和前缀长度(子网掩码)。前缀列表有两个参数很难理解。
假如现在又三条路由:
2.2.2.0/24
2.2.2.0/25
2.2.2.0/26
我想用acl只控制2.2.2.0/24的路由能不能做到?
access-list 1 permit 2.2.2.0 0.0.0.255
这样是不是把2.2.2.0/25 2.2.2.0/26下的路由也控制了?
ip prefix-list 1 permit 2.2.2.0/24
下面是普通的前缀列表的参数:
ip prefix-list [name] [permit | deny] [prefix]/[len] ge [min_length] le [max_length]
name为任意的名字或数字,prefix是将要进行比较的路由前缀(网段),len是指从最左边开始的比特位(指定的前缀长度),min_length为最小的子网掩码的值,max_length为最大的子网掩码的值。
例子如下:
ip prefix-list list permit 1.2.3.0/24
上面的例子中指定匹配网段1.2.3.0,并且指定子网掩码位255.255.255.0这个列表不匹配1.2.0.0/24,也不匹配1.2.3.4/32
ip prefix-list list permit 0.0.0.0/0
上面例子指定网段0.0.0.0和子网掩码0.0.0.0/这个列表用来匹配默认路由
通常情况下,在使用前缀列表的时候加上"ge"(大于或等于)和"le"(小于或等于)时比较容易发生混淆,这是因为当使用"ge"和"le"时,列表的长度(len)发生了变化。
使用ge和le,必须满足下面条件。
len < ge <=le
上面的参数很容易混淆,简单的说就是一个撇配前缀或子网的地址的范围
看下面的例子:
ip prefix-list list permit 1.2.3.0/24 le 32
上面的例子标识前缀1.2.3.0前面的24位必须匹配,此外,子网掩码必须小于或等于32位。
ip prefix-list list permit 0.0.0.0/0 le 32
上面的例子意味着0位需要匹配,此外子网掩码必须小于或等于32位,一位所有的网段的掩码都小于或等于32位,并且一位都不用匹配,所以这句话等于permit any
ip prefix-list list permit 10.0.0.0/8 ge 21 le 29
上面的例子说明网段10.0.0.0的前8位必须匹配,此外子网掩码必须在21位和29位之间。
注意:
(1)使用前缀列表不能像访问控制列表那样匹配具体的应用流
(2)前缀列表也不能用来具体匹配奇数或偶数的前缀,或什么可以被15整除的前缀
(3)在前缀列表中,比特位必须是连续的,并且从左边开始
r4(config)#ip prefix-list 2 (用名字也行) permit 2.2.2.0/24
r4(config-router)#distribute-list prefix 2 in s1
ip prefix-list 2 permit 2.2.2.0/24 (两个含义-匹配前24位:2.2.2.*,掩码必须为24位)
ip prefix-list 2 permit 2.2.2.0/24 ge 25 le 30(匹配前24位:2.2.2.*,掩码必须为25-30位)
ip prefix-list 2 permit 2.2.2.0/24 le 32(匹配前24位:2.2.2.*,掩码必须为24-32位)
ip prefix-list 2 permit 2.2.2.0/24 ge 26(匹配前24位:2.2.2.*,掩码必须为26-32位)
ip prefix-list 3 permit 0.0.0.0/0 le 32(匹配所有)不能像access-list 那样用any参数
用前缀列表过滤a、b、c类路由
ip prefix-list fuck permit 0.0.0.0/0 ge 1 表示出了默认路由外的所有路由
a类路由:ip prefix-list 1 permit 0.0.0.0/1 le 32
b类路由:ip prefix-list 1 permit 128.0.0.0/2 le 32
c类路由:ip prefix-list 1 permit 192.0.0.0/3 le 32
route maps-思科最强大最灵活的工具之一
route-map类似一种脚本语言
自顶向下
有匹配,就停止
使用序列号编辑
采用命令替代编号更方便归档
语句类似于脚本的"if.....then...."
route map应用
1.专门用来冲发布做过滤,更复杂并替代distribute-list
2.pbr(策略路由)根据条件而不是目的网络来确定路由策略
3.定义bgp路由策略的主要工具
route-map的使用分三步操作:
1、定义acl或prefix抓出路由
2、定义route-map说明对匹配的路由所采取的处理方式
3、调用route-map(正在冲发布中调用route-map)配置命令:
route-map myroutemap permit 10
macht ip address prefix-list mylist
set interface e0
实验:
r1:
int s1/0
ip add 12.1.1.1 255.255.255.0
no sh
int lo0
ip add 1.1.1.1 255.255.255.0
router ospf 1
route-id 1.1.1.1
net 12.1.1.1 0.0.0.0 area 0
net 1.1.1.1 0.0.0.0 area 0
r2:
int s1/0
no sh
ip add 12.1.1.2 255.255.255.0
int s1/1
no sh
ip add 23.1.1.2 255.255.255.0
router ospf 1
router-id 2.2.2.2
net 12.1.1.2 0.0.0.0 area 0
router rip
ver 2
no au
net 23.1.1.2
r3:
int lo3
ip add 3.3.3.3 255.255.255.0
int lo8
ip add 8.8.8.8 255.255.255.0
int lo9
ip add 9.9.9.9 255.255.255.0
int lo10
ip add 10.10.10.10 255.255.255.0
int s1/1
no sh
ip add 23.1.1.3 255.255.255.0
router rip
ver 2
no au
net 23.0.0.0
ridistribute connected metric 1
router-map l10 deny 10
match int 10
router rip
redistribute connected router-map l10 metric 1
router-map l10 permit 20
r2:
router ospf 1
redistribute rip subnets
router rip
redistribute ospf 1 metric 1
ip prefix-list qq permit 3.3.3.0/24
route-map r2o permit 10
macht ip address prefix-list qq
set metric-type type-1
route-map r2o permit 20
router ospf 1
redistribute rip subnets route-map r2o metric-type 2
标签:0.0,Map,38,ip,Route,list,prefix,permit,路由 From: https://www.cnblogs.com/smoke520/p/18362025