前缀列表 (prefix-list)使用详解
- 格式:doc
- 大小:39.00 KB
- 文档页数:5
路由重分布基本配置1实验目的通过本实验可以掌握种子度量值的配置路由重分布参数的含义静态路由重分布直连路由重分布RIP和EIGRP的重分布EIGRP和OSPF的重分布重分布路由的查看和调试2实验拓扑3实验步骤配置路由器R1router ripversion 2no auto-summarynetwork 172.16.0.0redistribute static metric 3ip route 192.168.1.0 255.255.255.0 Null0R2router eigrp 1no auto-summarynetwork 172.16.23.2 0.0.0.0redistribute rip metric 1000 100 255 1 1500//将rip 重分布到EIGRP 中router ripversion 2no auto-summarynetwork 172.16.0.0redistribute eigrp 1default-metric 4//配置重分布进行RIP协议所有的默认种子度量值R3router eigrp 1no auto-summarynetwork 172.16.23.3 0.0.0.0redistribute ospf 1 metric 1000 100 255 1 1500distance eigrp 90 150//将ospf 重分布到EIGRP中router ospf 1router-id 3.3.3.3network 172.16.34.3 0.0.0.0 area 0redistribute eigrp 1 metric 30 metric-type 1 subnetsredistribute maximum-prefix 100 50R4access-list 1 permit 172.16.0.0 0.0.254.0//该ACL用于匹配172.16.X.0 X代表偶数access-list 2 permit 172.16.1.0 0.0.254.0//该ACL用于匹配172.16.X.0 X代表奇数route-map CONN permit 10 //配置路由映射表match ip address 1 //匹配ACL 1set metric 200 //匹配度量值route-map CONN permit 20match ip address 2set metric 100set metric-type type-1//设置ospf 路由类型为OE1 默认为OE2route-map CONN permit 30//以上路由映射表CONN是为在OSPF 重分布直连路由器时调用的其含义是:对于172.16开头的第三位是偶数的路由条目设置度量值为100 路由类型为OE2 (默认不用配置)对于172.16 开头的第三位是奇数的路由条目,设置度量值为200 路由类型为OE1 ,而其他路由条目采用默认即度量值为20 路由类型为OE2router ospf 1router-id 4.4.4.4network 172.16.34.4 0.0.0.0 area 0redistribute connected subnets route-map CONN//重分布时调用路由映射表4实验调试R1:前缀列表和路由映射表控制路由更新1实验目的通过本实验可以掌握前缀列表的使用和含义在路由映射表中用前缀列表匹配用路由映射表控制路由更新2实验拓扑3实验步骤R1ip prefix-list CONN1 seq 5 permit 172.16.0.0/16 ge 24 le 28ip prefix-list CONN2 seq 5 permit 172.16.0.0/16 ge 29route-map CONN permit 10match ip address prefix-list CONN1set metric 100set metric-type type-1route-map CONN permit 20match ip address prefix-list CONN2set metric 200set tag 200route-map CONN permit 30router ospf 1router-id 1.1.1.1network 172.16.12.1 0.0.0.0 area 0redistribute connected subnets route-map CONNR2router ospf 1router-id 2.2.2.2network 172.16.12.2 0.0.0.0 area 0network 172.16.23.2 0.0.0.0 area 1R3route-map TAG permit 10match tag 200router ospf 1router-id 3.3.3.3network 172.16.3.3 0.0.0.0 area 1network 172.16.23.3 0.0.0.0 area 1distribute-list route-map TAG in//R3通过分布列表在入向过滤,只把TAG为200 的路由从数据库中提取道路由表中4实验调试以上3条E1 路由条目匹配前缀列表CONN1以上2条E2 路由条目匹配前缀列表CONN2以上2条路由条目的tag 值为200从R3 的链路状态数据库中可以看出,从R1重分布直接进入ospf的5条条目都有,但是由于针对R3的seria1/1 接口的入方向的分布列表要求匹配tag值为200的路由条目所以OSPF 只把tag 值为200 的放入路由表中试验总结:首先需要依照拓扑图划分好区域,不同的区域类型配置。
IBGP_EBGP_IGP_BGP区别IBGP、EBGP、IGP、BGP区别我们知道,在自治系统内部使用IGP路由协议,而在不同自治系统之间使用BGP路由协议(严格来讲,BGP不是路由协议).BGP产生的原因是为了在不同自治系统(AS)之间进行路由转发,而其中又提出了EBGP 和IBGP两种,EBGP用于在不同自治系统之间,但IBGP,书上说它是应用于自治系统内部,可是在自治系统内部我们是使用IGP.这就和"BGP是应用于不同自治系统之间"产生矛盾,那么IBGP存在的意义,比如说某种情况,需要使用到IBGP,它在网络中起到的作用.EBGP与IBGP之间的区别,EBGP在网络中又起什么作用?为什么要有IBGP,原因如下:1、IGP的能力限制,IGP处理路由的条目有限,而目前internet 上核心路由器的路由表已经超过10万条。
假如没有IBGP,那么这些路由只能采取重分发的方式直接导入到IGP 中,这样做的缺点很明显:第一,IGP协议的作者并没有打算让IGP来处理如此大量的路由,IGP 本身也无法处理这样大的路由数量;第二,如果非要让IGP来处理,那么根据IGP的处理原则,假如这10万路由中任何一条路由发生变化,那么运行IGP的路由器就不得不重新计算路由,更为严重的是,假如其中某一条路由出现路由抖动的情况,例如端口反复UP/DOWN,这会导致所有的IGP路由器每时每刻都不得不把10万条路由重新计算一遍,这种计算量对于绝大多数路由器来说是无法负担的。
另外对于运行RIP V1的路由器来说,10万条路由的定期更新,这根本就是无法接受的事情,除去带宽占用率不谈,我想,也只有少量高端的GSR 以及TSR能够有这样的性能吧。
很显然,我们不可能让网络中所有的路由器都是GSR和TSR,如果真是这样,那么Cisco、juniper以及华为等厂家就要偷笑了。
例如:AS100----AS200---AS300,假定AS100/200/300各有100台路由器,而AS100中有1W 条路由要传递要AS300中,而AS200的路由器不需要学习AS100的路由。
华为技术命令(四)RIP配置命令配置命令【命令】checkzeroundo checkzero【视图】RIP 视图【参数】无【描述】checkzero 命令用来配置对RIP-1 报文的零域进行检查,undo checkzero命令用来取消对RIP-1 报文进行零域检查。
缺省情况下,对RIP-1 报文缺省进行零域检查。
根据协议(RFC1058)规定RIP-1 的报文中有些区域必须为零,称之为零域(zero field)。
可以使用checkzero 命令来启动和禁止对RIP-1 报文的查零*作。
由于RIP-2 的报文没有零域,所以此命令对RIP-2 不起作用。
【举例】# 配置RIP-1 对报文不进行零域检查。
Quidway-rip] undo checkzero【命令】debugging rip { packet | receive | send }【视图】所有视图【参数】packet:打开RIP 报文调试信息开关。
receive:打开RIP 接收报文情况调试开关。
send:打开RIP 发送报文情况调试开关。
【描述】debugging rip 命令用来打开RIP 调试信息开关,undo debugging rip 命令用来关闭RIP 调试信息开关。
该命令可使用户可了解当前各接口收发RIP 配置报文的情况.【命令】default-cost costundo default-cost【视图】RIP 视图【参数】cost:如果在RIP 引入其他协议(例如OSPF)发现的路由时,如果没有设置路由的花费,则命令default-cost 所带参数cost 值将作为这些路由的花费,取值范围为1~16. 【描述】default-cost 命令用来设置RIP 引入其它协议路由的缺省路由权,undo default-cost 命令用来恢复RIP 在引入其它协议路由时路由权的缺省值。
缺省情况下,RIP 引入其它协议路由的缺省路由权值为16。
思科Cisco策略路由与路由策略实例详解本⽂讲述了思科Cisco策略路由与路由策略。
分享给⼤家供⼤家参考,具体如下:⼀、策略路由1. 路由策略与策略路由2. 策略路由的特点3.策略路由的配置3.1 接⼝下配置3.2 全局配置3.3 策略路由的冗余设置3.4 default语句3.5 为流量打ToS标记⼆、路由策略1.抓取流量的列表1.1 ACL访问控制列表1.2 prefix-list前缀列表2. 路由策略⼯具2.1 distribute-list分发列表2.2 route-map路由镜像2.3 OSPF filter-list⼀、策略路由1. 路由策略与策略路由路由策略是对路由信息本⾝的参数进⾏修改、控制等,最终影响路由表的⽣成,说⽩了路由策略就是告诉设备怎么学,⼀般与BGP结合使⽤⽐较多。
策略路由PBR,策略基于路由重点在路由,就是通过策略控制数据包的转发⽅向。
也有⼈把策略路由称之为⼀个复杂的静态路由。
⼀般来讲,策略路由是先于路由表执⾏的。
即设备在转发报⽂时,⾸先将报⽂与策略路由的匹配规则进⾏⽐较。
若符合匹配条件,则按策略路由进⾏转发;如果报⽂⽆法匹配策略路由的条件,再按照普通路由进⾏转发。
策略路由在转化层⾯不如路由表。
原因是匹配的东西过多,底层芯⽚处理⽀持有限。
使⽤原则是能不⽤就不⽤。
如果出现⾮⽬的地址的转发策略,果断⽤。
2. 策略路由的特点传统的路由表转发只能通过数据的⽬标地址做决策;策略路由可以根据源地址、⽬的地址、源端⼝、⽬的端⼝、协议、TOS等流量特征来做策略提供路由,灵活性⾼。
为QoS服务。
使⽤route-map及策略路由可以根据数据包的特征修改其相关QoS项,进⾏为QoS服务。
负载均衡。
使⽤策略路由可以设置数据包的⾏为,⽐如下⼀跳、下⼀接⼝等,这样在存在多条链路的情况下,可以根据数据包的应⽤不同⽽使⽤不同的链路,进⽽提供⾼效的负载均衡能⼒。
策略路由PBR默认只对穿越流量⽣效,不能处理本路由器产⽣流量3.策略路由的配置3.1 接⼝下配置接⼝下只能捕获该接⼝的⼊接⼝流量做策略(不能处理本路由器产⽣流量)R1(config)#access-list 100 permit ip host 1.1.1.1 any //⽤ACL捕获流量R1(config)#route-map pbr permit 10 //定义route-mapR1(config-route-map)#match ip add 100 //调⽤被ACL捕获的流量R1(config-route-map)#set ip next-hop 10.1.1.1 //设置下⼀跳R1(config-route-map)#exitR1(config)#int f0/0R1(config-if)#ip policy route-map pbr //接⼝下调⽤3.2 全局配置能够捕获所有⼊接⼝流量以及本路由器产⽣的流量(源地址是本路由器流量)R1(config)#access-list 100 permit ip host 1.1.1.1 any //⽤ACL捕获流量R1(config)#route-map pbr permit 10 //定义route-mapR1(config-route-map)#match ip add 100 //调⽤被ACL捕获的流量R1(config-route-map)#set ip next-hop 10.1.1.1 //设置下⼀跳R1(config-route-map)#exitR1(config)#ip local policy route-map pbr //全局下调⽤3.3 策略路由的冗余设置R1(config)#route-map PBR permit 10R1(config-route-map)#set ip next-hop verify-availability 10.1.24.2 1 track 1 //设置track监控,若track监控成功,执⾏该语句;若失败,则转为执⾏下条语句R1(config-route-map)#set ip next-hop 10.1.34.3R1(config-route-map)#exitR1(config)#ip local policy route-map PBRR1(config)#track 1 ip sla 1 //定义⼀个track监控 sla的探测结果R1(config-track)#ip sla 1 //定义⼀个slaR1(config-ip-sla)#icmp-echo 10.1.12.1 source-ip 10.4.4.4 //设置其探针R1(config)#ip sla schedule 1 life forever start-time now //设置sla 1的执⾏时间3.4 default语句在route-map的set ip default这个位置输⼊,定义为被捕获的流量先查路由表,如果能精确匹配(如果抓的为10.5.5.5,路由表中有10.5.5.5/24这不叫精确匹配;如果10.5.5.5/32则叫精确匹配)就执⾏路由表;如果不能则执⾏策略路由。
Prefix-list与ACL比较一、普通access-list。
Router#Router#configure terminalRouter(config)#Router(config)#access-list 1 permit 172.16.2.0 0.0.0.255配置的访问列表是允许来自网络172.16.2.0的流量0.0.0.255=0.0.0.1111 1111定义了一个范围172.16.2.0,0表示match,1表示不关心。
二、access-list的扩展运用。
语句:access-list 1 permit 192.168.16.0 0.0.2.0192.168.16.0=192.168.0001 0000.00.0.2.0=0.0.0000 0010.0.0 定义了一个范围,0表示match,1表示不关心。
匹配功能如下:192.168.0001 0000. 00. 0.0000 0010. 0匹配192.168.0001 0000.0,第2位(从左到右第3个8位组的倒数第2位0(红色标)),也就是说,不做匹配的IP段为:192.168.16.0(192.168.0001 0000.0),192.168.18.0(192.168.0001 0010.0)结合access-list 1 permit 192.168.16.0 0.0.2.0 就是说,[192.168.16.0与192.168.18.0]=A 网段不做严格匹配,ACL可以过滤192.168.16.0和18.0两条路由,但有引出一个问题:ACL 不能准确的描述掩码。
那么,我们要想描述掩码及精确配的一些内容就需要使用Prefix-list。
三、Prefix-list。
Prefix-list是为了执行网段的过滤行为,主要用在路由表抓取的时候。
格式:ip prefix-list [name] [permit | deny] [prefix]/[len]name为任意的名字或者数字,prefix是指定的路由前缀(网段),len是指定的前缀长度(子网掩码)。
关于前缀列表ip-prefix的几个重要运用场合分析关于ip ip-prefix,此命令用于配置地址前缀列表。
地址前缀列表即可以作为过滤器被各协议使用,也可以和路由策略配合使用:本笔记主要编入了下面的(一)中的4个使用示例,其他的简述。
(一)ip ip-prefix命令通过与下列命令配合使用,可以以地址前缀列表为过滤条件对全局发布的路由信息进行过滤。
▪filter-policy export(RIP视图下)▪filter-policy export(OSPF视图下)▪filter-policy export (IS-IS视图下)▪filter-policy export(BGP视图下)(二)ip ip-prefix命令通过与下列命令配合使用,可以以地址前缀列表为过滤条件对全局接收的路由信息进行过滤。
▪filter-policy import(RIP视图下)▪【命令格式】filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name [ gateway ip-prefix-name ] } import [ interface-type interface-number ]filter-policy gateway ip-prefix-name import请注意,与下面三种协议有点不同,就是RIP可以根据接口和网关做过滤。
▪【用法要点】▪filter-policy import命令用来过滤接收的RIP路由信息:对报文中的指定路由进行过滤;不侦听来自指定设备的路由更新报文。
▪filter-policy import(OSPF视图下)通过filter-policy import命令对接收的路由设置过滤策略,只有通过过滤策略的路由才被添加到路由表中,没有通过过滤策略的路由不会被添加进路由表,但不影响对外发布出去。
OSPF的路由信息记录在LSDB中,filter-policy import命令实际上是对OSPF计算出来的路由进行过滤,不是对发布和接收的LSA进行过滤。
路由重分发/各种列表介绍RIP*******A协议分布到RIP =A协议的直连接口地址和打A协议都被引入到RIP中,SEED-METRIC 默认是无穷大,需要手工添加METRIC直连分布到RIP =直连分布到RIP中SEED-METRIC默认是1 不用手工添加。
静态/默认分布到RIP =静态分布到RIP中SEED-METRIC默认是1 不用手工添加。
OSPF*******A协议分布到OSPF =A协议的直连接口地址和打A协议都被引入到OSPF中,必须手工添加SUBNETS,SEED-METRIC默认是20直连分布到OSPF =直连分布到OSPF必须手工添加SUBNETS,SEED-METRIC默认是20静态/默认分布到OSPF =静态分布到OSPF必须手工添加SUBNETS,SEED-METRIC默认是20,(默认路由不能被分布进去*)EIGRP*******A协议分布到EIGRP =A协议的直连接口地址(ISIS除外,有BUG)和打A协议都被引入到EIGRP中。
SEED-METRIC默认是无穷大,需要手工添加METRIC,直连分布到EIGRP =直连分布到EIGRP中,不用手工添加静态/默认分布到EIGRP =静态分布到EIGRP中,不用手工添加ISIS*******A协议分布到ISIS =A协议的直连接口地址和打A协议都被引入到ISIS中,SEED-METRIC 默认是0直连分布到ISIS =直连分布到ISIS中,SEED-METRIC默认是0静态/默认分布到ISIS =静态分布到ISIS中,SEED-METRIC默认是0,(默认路由不能被分布进去*)实验任务1:双点双向重分发出现次优路径选择,解决方法实验任务2:重分发问题:在R4上show ip route能学习到几条路由!!结论:两条,在路由器协议A引入协议B动作:R上的所有运行A的协议和直连路由(除ISIS,ODR)以及R上的所有学习到的A的协议路由,都会重分布的B协议中实验任务3:passive-interface interfaceX被动接口命令总结:RIP:此命令不主动发送路由更新,但接收路由更新EIGRP: 此命令不发送和接收HELLO信息OSPF:此命令不发送和接收HELLO信息ISIS:此命令不发送和接收HELLO信息以RIP举例:R1:router ripversion 2passive-interface Serial1/0--------------配置被动接口network 1.0.0.0network 13.0.0.0no auto-summaryR3:R3#show ip route ----------------没有学习到R1的1.1.1.0/24的路由3.0.0.0/24 is subnetted, 1 subnetsC 3.3.3.0 is directly connected, Loopback013.0.0.0/24 is subnetted, 1 subnetsC 13.1.1.0 is directly connected, Serial1/0查看R1的路由表:R1#show ip route ---------------可以接收到R3的3.3.3.0/24的路由3.0.0.0/24 is subnetted, 1 subnetsR 3.3.3.0 [120/1] via 13.1.1.3, 00:00:09, Serial1/0开启R1的debug开关R1#debug ip ripR1#clear ip route *-------清除路由表*Mar 1 01:05:30.767: 3.3.3.0/24 via 0.0.0.0, metric 2, tag 0-----------接收到R3的路由分发列表:distribute-list {access–list-number | name} out ------------出方向[interface–name| routing–process [routing-process parameter]]distribute-list [access–list-number | name] | [route-map map-tag] in [interface-type interface-number]]------------进方向分发列表的作用是影响到控制层,可以灵活的指定那些路由可以进入,那些路由被拒绝!实验任务4:两台路由器运行EIGRP协议,并宣告所有的接口到EIGRP中。
前缀列表(p r e f i x-l i s t)使用详解不同于用于匹配流量的IP访问列表,IP前缀列表主要是用来指定具体的网络可达的。
前缀列表用来匹配前缀(网段)和前缀长度(子网掩码)。
前缀列表有两个参数很难理解。
下面是普通的前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len]name为任意的名字或者数字,prefix是指定的路由前缀(网段),len是指定的前缀长度(子网掩码)。
例子如下: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/32ip prefix-list LIST permit 0.0.0.0/0上面的例子指定匹配网段0.0.0.0和子网掩码0.0.0.0。
这个列表用来匹配默认路由。
通常情况下,在使用前缀列表的时候加上“GE”(大于或等于)和“LE”(小于或等于)时比较容易发生混淆。
这是因为当使用“GE”和“LE”时,列表的长度(len)发生了改变。
另外一种前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len] ge [min_length] le [max_length]name为任意的名字或者数字,prefix是将要进行比较的路由前缀(网段),len是指从最左边开始的比特位,min_length为最小的子网掩码的值,max_length为最大的子网掩码的值使用GE和LE,必须满足下面的条件:len < GE <= LE上面的参数很容易混淆,简单的说就是一个匹配前缀或子网的地址的范围。
看下面的例子:ip prefix-list LIST permit 1.2.3.0/24 le 32上面的例子表示前缀1.2.3.0前面的24位必须匹配。
OSPF学习笔记:1. ASBR的产生:区域中产生LSA5和LSA7的路由器将成为ASBR。
* 重分配(REDISTRIBUTE)可以将路由器变成ASBR。
*将某个区域变成NSSA区域,则区域的ABR将变成ASBR,因为这个ABR必须有能力将LSA7转变成LSA5,换而言之,该路由器将产生LSA5,那么此路由器会变成ASBR.2LSA4 是ABR 用于定位ASBR的。
(LSA的作用及表现)3 STUB区域阻挡LSA4和LSA5,TOTALL Y STUB区域将阻挡LSA3 LSA4 LSA5, 仅仅保留一条LSA3的默认路由。
4 对于下图,R1与R2 R3的连接都是帧中继,并且R1的S0接口采用NBMA的连接方式,在增加帧中继的广播命令后,解决了此拓扑的二层广播问题,但是由于OSPF的LSA的TTL=1,那么LSA不能穿越路由器,导致一个问题,如果R1不能被选成DR,则R2 R3将不能学习到对方的LSA,从而它们对全网拓扑不能形成共识。
实际上对于HUB&SPOKE类型的NBMA网络,直接将HUB路由器设置为DR,把其他路由器的优先级设置为0 即可。
5对于点到多点,OSPF对于直连网段的描述是32位的,通过对LSA 1数据库的查看可以发现路由器对于网段的理解是一个点一个点发现的。
(有待试验)6虚链路是用于连接骨干区域的一条链路,它穿越AREA,ABR将通过LSA1了解到下一个虚链路端点的位置,如果存在多条通路,则通过比较COST来选择一条最短路径,用于连接虚链路。
虚链路是不能穿越STUB和NSSA区域的。
7OSPF的认证:3种AREA认证VIRTUAL-LINK 认证和LINK 认证认证的方式:2种明文和MD5*OSPF的认证动作分为两步:1 检查认证的开启或关闭 2 密钥的配置在认证开启,密码未配置的情况下,实际执行的密码为NULL区域认证的配置:AREA 0 authentication (打开明文认证开关)再在接口模式下使用命令:ip ospf authentication-key (密码)AREA 0 authentication message-digest (打开MD5认证)再在接口模式下使用命令: IP ospf message-digest-key 1 md5 (密码)注意:当区域0 认证使用后,作为虚链路两端的路由器都必须使用认证,因为这两个路由器都是ABR.链路认证的配置:接口下直接使用IP OSPF authentication 开启明文认证Ip ospf authentication-key (密码) 用于设置密码接口下直接使用IP OSPF authentication message-digest 开启MD5认证IP OSPF message-digest-key 1 MD5 (密码)虚链路认证:area 1 virtual-link x.x.x.x authentication authentication-key (密码)用来设置明文密码。
IP prefix-list及與ACL, route-map的比較Cisco 2011-03-12 23:07:43 阅读6 评论1 字号:大中小订阅下面是一條標準的prefix-list, 我們對其進行分析:ip prefix-list 100 permit 128.0.0.0/2 ge 16 le 24ge=greater or equal le=less or equal1、R1(config)#ip prefix-list ?WORD Name of a prefix listsequence-number Include/exclude sequence numbers in NVGENR1(config)#ip prefix-list 100 ?deny Specify packets to rejectdescription Prefix-list specific descriptinpermit Specify packets to forwardseq sequence number of an entry基本的格式上和ACL還是差不多的。
2、關鍵的對於128.0.0.0/2的這個/2代表了什麼含義?128.0.0.0 換成2進制數為10 000000 00000000 00000000 00000000/2代表只對前面的2位必須match,即,前2位是不變的,在不帶ge 16 le 24的情況下,prefix-list裏的128.0.0.0/2 代表的是一個範圍,是從128.0.0.0/7到191.255.255.252/30,而加上ge 16 le 24 的意思就是ip地址mask從/16到/24下面是幾個例:prefix-list 100 permit 0.0.0.0/0 代表的是所有路由prefix-list 100 permit 0.0.0.0/32 代表的是預設路由prefix-list 100 permit 0.0.0.0/0 ge 32代表的是所有host路由3、在ACL裏,128.0.0.0/2是什麼含義?下面是128.0.0.0的2進表達表示10 000000 00000000 00000000 00000000在ACL裏,permit 128.0.0.0/2,那就沒意義了,要使用128.0.0.0,最小的mask 位數為7位(2的7次是128)4、其實ACL也有方法定義一個範圍,以實現類似prefix-list的功能。
prefix-list与access-list下面是一条标准的prefix-list,我们着重对之进行分析:ip prefix-list 100 permit 128.0.0.0/2 ge 16 le 24ge=greater or equal le=less or equal1、R1(config)#ip prefix-list ?WORD Name of a prefix listsequence-number Include/exclude sequence numbers in NVGENR1(config)#ip prefix-list 100 ?deny Specify packets to rejectdescription Prefix-list specific descriptinpermit Specify packets to forwardseq sequence number of an entry基本的格式上和ACL还是差不多的。
2、关键的对于128.0.0.0/2的这个/2代表了什么含义?128.0.0.0 换成2进制数为10 000000 00000000 00000000 00000000/2代表只对前面的2位必须match,即,前2位是不变的,在不带ge 16 le 24的情况下,prefix-list 里的128.0.0.0/2 代表的是一个范围,是从128.0.0.0/8到191.255.255.254/32,而加上ge 16 le 24,的意思就是ip地址mask从/16到/24下面是几个例:prefix-list 100 permit 0.0.0.0/0 代表的是所有路由prefix-list 100 permit 0.0.0.0/32 代表的是默认路由prefix-list 100 permit 0.0.0.0/0 ge 32代表的是所有host路由3、在ACL里,128.0.0.0/2是什么含义?下面是128.0.0.0的2进表达表示10 000000 00000000 00000000 00000000在ACL里,permit 128.0.0.0/2,那就没意义了,要使得128.0.0.0,最小的mask位数为7位(2的7次是128)4、其实ACL也有方法定义一个范围,以实现类似prefix-list的功能。
配置BGP过滤器充分利用BGP过滤器,可以灵活地对发布的路由进行过滤。
背景信息目前提供以下六种过滤器供BGP使用:∙访问控制列表ACL(Access Control List)∙地址前缀列表(IP-Prefix List)∙AS路径过滤器(AS-Path-Filter)∙团体属性过滤器(Community-Filter)∙扩展团体属性过滤器(Extcommunity-Filter)∙Route-Policy操作步骤∙配置访问控制列表ACL访问控制列表ACL是由permit和deny语句组成的一系列有顺序的规则,这些规则根据数据包的源地址、目的地址、端口号等来描述。
ACL通过这些规则对数据包进行分类,这些规则应用到路由器接口上,路由器根据这些规则判断哪些数据包可以接收,哪些数据包需要拒绝。
ACL的有关配置请参见《HUAWEI NetEngine5000E 核心路由器配置指南-IP业务》中的描述。
访问控制列表ACL可以做为Route-policy的一个匹配条件,也可以在filter-policy{ acl-number| acl-name acl-name} export[protocol[ process-id] ]或peer{ group-name| ipv4-address} filter-policy{ acl-number| acl-name acl-name} export命令中直接使用。
∙配置地址前缀列表地址前缀列表是一种针对路由目的地址信息做过滤的工具,它使用名字作为地址前缀列表的标识。
地址前缀列表比较灵活,可以实现精确过滤,比如,可以对某一条路由或某一网段的路由进行过滤。
但是当需要过滤的路由数量较大,且没有相同的前缀时,配置地址前缀列表会比较繁琐。
地址前缀列表可以做为Route-policy的一个匹配条件,也可以在filter-policy ip-prefix ip-prefix-name export[ protocol[process-id] ]或peer{ group-name| ipv4-address} ip-prefix ip-prefix-name export 命令中直接使用。
路由策略和策略路由一、路由策略简介路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。
路由协议在发布、接收和引入路由信息时,根据实际组网需求实施一些策略,以便对路由信息进行过滤和改变路由信息的属性,如:1、控制路由的接收和发布只发布和接收必要、合法的路由信息,以控制路由表的容量,提高网络的安全性。
2、控制路由的引入在一种路由协议在引入其它路由协议发现的路由信息丰富自己的路由信息时,只引入一部分满足条件的路由信息。
3、设置特定路由的属性修改通过路由策略过滤的路由的属性,满足自身需要。
路由策略具有以下价值:通过控制路由器的路由表规模,节约系统资源;通过控制路由的接收、发布和引入,提高网络安全性;通过修改路由属性,对网络数据流量进行合理规划,提高网络性能。
、基本原理路由策略使用不同的匹配条件和匹配模式选择路由和改变路由属性。
在特定的场景中,路由策略的6种过滤器也能单独使用,实现路由过滤。
若设备支持BGP to IGP功能,还能在IGP引入BGP路由时,使用BGP私有属性作为匹配条件。
图1路由策略原理图如图1,一个路由策略中包含N(N>=1)个节点(Node)。
路由进入路由策略后,按节点序号从小到大依次检查各个节点是否匹配。
匹配条件由If-match子句定义,涉及路由信息的属性和路由策略的6种过滤器。
当路由与该节点的所有If-match子句都匹配成功后,进入匹配模式选择,不再匹配其他节点。
匹配模式分permit和deny两种:permit:路由将被允许通过,并且执行该节点的Apply子句对路由信息的一些属性进行设置。
deny:路由将被拒绝通过。
当路由与该节点的任意一个If-match子句匹配失败后,进入下一节点。
如果和所有节点都匹配失败,路由信息将被拒绝通过。
过滤器路由策略中If-match子句中匹配的6种过滤器包括访问控制列表ACL(Access Control List)、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器。
BGP路由协议BGP是一种自治系统间的动态路由协议,它的基本功能是在自治系统之间提供自动交换无环路由信息,通过交换带有自治区域号(AS)序列属性的路径可达信息,来构造自治区域的拓朴图,从设计上消除了路由环。
BGP基本概念:BGP特点:●BGP是一种外部路由协议,与OSPF、RIP不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。
●BGP通过携带AS路径信息,可以彻底的解决路由循环问题。
●为了控制路由的传播和路由的选择,为路由附带属性信息。
●使用TCP作为其传输层协议,提高了协议的可靠性。
端口号179。
●BGP-4支持CIDR(无类别域间选路),CIDR的引入简化了路由聚合,减化了路由表。
●BGP更新时只发送增量路由,减少了BGP传播路由占用的带宽。
●提供了丰富的路由策略。
1、自治系统定义:由同一技术管理机构管理,使用统一选路策略的一些路由器的集合。
每一个自治系统都有唯一的自治系统编号,这个编号是由因特网授权管理机构分配的。
引用自治系统的思想是:通过不同的编号来区分不同的自治系统。
自治系统的编号范围是1到65535,其中1到65411是注册的因特网编号,65412到65535是专用网络编号。
2、BGP工作机制BGP作为一个应用层协议运用在一台特定的路由器上,系统启动时通过发送整个BGP 路由表交换路由信息,之后为了更新路由表,只交换更新信息,在系统运行过程中,通过接收和发送keep-alive消息来检测相互之间连接是否正常。
自治系统分为过渡自治系统和SUTB自治系统。
BGP发送优选的BGP路由和引入的IGP路由给对等体(peer)。
3、BGP的两种邻居IBGP:对等体之间不一定是物理直连的,但必须保证逻辑上的全连接。
(TCP连接)EBGP:对等体之间有物理上的直接链路。
4、BGP的路由通造原则多条路径时,BGP speaker 只选择最优的路径给自己使用。
BGP speaker只将自己使用的路由通告给相邻体。
不同于用于匹配流量的IP访问列表,IP前缀列表主要是用来指定具体的网络可达的。
前缀列表用来匹配前缀(网段)和前缀长度(子网掩码)。
前缀列表有两个参数很难理解。
下面是普通的前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len]name为任意的名字或者数字,prefix是指定的路由前缀(网段),len是指定的前缀长度(子网掩码)。
例子如下:上面的例子中指定匹配网段1.2.3.0,并且指定子网掩码为255.255.255.0,这个列表不匹配,也不匹配上面的例子指定匹配网段0.0.0.0和子网掩码0.0.0.0。
这个列表用来匹配默认路由。
通常情况下,在使用前缀列表的时候加上“GE”(大于或等于)和“LE”(小于或等于)时比较容易发生混淆。
这是因为当使用“GE”和“LE”时,列表的长度(len)发生了改变。
另外一种前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len] ge [min_length]le[max_length]name为任意的名字或者数字,prefix是将要进行比较的路由前缀(网段),len是指从最左边开始的比特位,min_length为最小的子网掩码的值,max_length为最大的子网掩码的值使用GE和LE,必须满足下面的条件:len < GE <= LE上面的参数很容易混淆,简单的说就是一个匹配前缀或子网的地址的范围。
看下面的例子:上面的例子表示前缀1.2.3.0前面的24位必须匹配。
此外,子网掩码必须小于或等于32位上面的例子意味着0位需要匹配,此外子网掩码必须小于或等于32位。
因为所有的网段的掩码都小于或等于32位,并且一位都不用匹配,所以这句话等于permit any上面的例子说明网段10.0.0.0的前8位必须匹配,此外子网掩码必须在21位和29位之间。
前缀列表练习题1. 只允许192.168.1.0/24网络ip prefix-list test permit 192.168.1.0/242. 拒绝网络119.0.0.0/8及其所有子网,允许其他所有网络ip prefix-list test deny119.0.0.0/8 le 32 ip prefix-list test permit 0.0.0.0/0 le 323. 只允许缺省路由ip prefix-list test permit 0.0.0.0/04. 拒绝缺省路由,其他全部允许ip prefix-list test deny 0.0.0.0/0 ip prefix-list testpermit 0.0.0.0/0 le 325. 只允许172.16.0.0/8和其他所有子网ip prefix-list test 172.16.0.0/8 le 326. 只允许以下前缀10.2.8.32/2710.2.8.32/2810.2.8.32/29 ip prefix-list test permit 10.2.8.32/27 le 3010.2.8.32/307. 满足以下条件:允许197.25.94.128/25拒绝197.25.94.192/26允许197.25.94.224/27拒绝197.25.94.240/28允许197.25.94.248/29拒绝197.25.94.252/30允许其他所有前缀,除了198.82.0.0/168. 允许所有前20bit是175.29.64.0,掩码是26到29位之间的网络,拒绝其他所有网络。
ip prefix-list test permit 175.29.64.0/20 ge 26 le 29 ip prefix-list test deny 0.0.0.0/0 le329. 拒绝前19bit是15.26.96.0,掩码小于32位的所有子网,允许其他所有网络。
minio prefix方法一、作用在Minio中,prefix方法用于指定一个前缀,返回以该前缀开头的所有对象。
通过使用prefix方法,可以快速筛选出符合条件的对象,提高数据检索的效率。
二、用法使用prefix方法需要传入一个前缀参数,该参数可以是任意字符串。
Minio会根据该前缀来筛选对象。
以下是使用prefix方法的示例代码:```pythonfrom minio import Minio# 初始化Minio客户端client = Minio('play.min.io',access_key='minio',secret_key='minio123',secure=True)# 获取以prefix为前缀的对象列表objects = client.list_objects('mybucket', prefix='images/')# 遍历对象列表并打印对象名称for obj in objects:print(obj.object_name)```在上述示例中,我们首先初始化了一个Minio客户端,然后通过list_objects方法获取了以'images/'为前缀的对象列表。
最后,我们遍历对象列表并打印出每个对象的名称。
三、注意事项在使用prefix方法时,需要注意以下几点:1. 前缀参数不区分大小写。
例如,'images/'和'Images/'会被视为相同的前缀。
2. 前缀参数可以是一个文件夹路径,也可以是一个文件名的前缀。
例如,'images/'可以用来筛选以'images/'开头的文件夹或文件。
3. 如果指定的前缀没有匹配的对象,则返回的对象列表为空。
4. prefix方法只能获取到直接以指定前缀开头的对象,无法获取到子文件夹或子文件下的对象。
不同于用于匹配流量的IP访问列表,IP前缀列表主要是用来指定具体的网络可达的。
前缀列表用来匹配前缀(网段)和前缀长度(子网掩码)。
前缀列表有两个参数很难理解。
下面是普通的前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len]name为任意的名字或者数字,prefix是指定的路由前缀(网段),len是指定的前缀长度(子网掩码)。
例子如下: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/32ip prefix-list LIST permit 0.0.0.0/0上面的例子指定匹配网段0.0.0.0和子网掩码0.0.0.0。
这个列表用来匹配默认路由。
通常情况下,在使用前缀列表的时候加上“GE”(大于或等于)和“LE”(小于或等于)时比较容易发生混淆。
这是因为当使用“GE”和“LE”时,列表的长度(len)发生了改变。
另外一种前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len] ge [min_length] le [max_length]name为任意的名字或者数字,prefix是将要进行比较的路由前缀(网段),len 是指从最左边开始的比特位,min_length为最小的子网掩码的值,max_length 为最大的子网掩码的值使用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 anyip prefix-list LIST permit 10.0.0.0/8 ge 21 le 29上面的例子说明网段10.0.0.0的前8位必须匹配,此外子网掩码必须在21位和29位之间。
注意:使用前缀列表不能像访问列表那样匹配具体的应用流。
前缀列表也不能用来具体匹配奇数或偶数的前缀,或什么可以被15整除的前缀在前缀列表中,比特位必须是连续的,并且从左边开始ip prefix-list fuck permit 0.0.0.0/0 ge 1 表示除了默认路由外的所有路由ip prefix-list test16 seq 5 permit 0.0.0.0/1 ge 8 le8 配置A类地址ip prefix-list test16 seq 10 permit 128.0.0.0/2 ge 16 le 16 配置B类地址ip prefix-list test16 seq 15 permit 192.0.0.0/3 ge 24 le 24 配置C类地址一、前缀列表的特点:(1)、可以增量修改,我们知道对于普通访问控制列表,我们不能删除该列表中的某个条目,如果想删除列表中的某个条目只能将该访问列表全部删除,而前缀列表中,一个条目可以单独地删除或添加。
(2)、前缀列表在Cisco IOS 12.0及其以后的版本中可以使用。
(3)、在大型列表的加载和路由查找方面比访问控制列表有显著的性能改进。
(4)、前缀列表用于BGP路由。
二、前缀列表的命令描述(1)、ip prefix-list list-name [seq seq-value] {deny|permit} network/len [ge ge-value] [le le-value]list name 代表被创建的前缀列表名(注意该列表名是区分大小写的)seq-value 代表前缀列表语名的32bit序号,用于确定过滤语句被处理的次序。
缺省序号以5递增(5,10,15等等)。
deny|permit 代表当发现一个匹配条目时所要采取的行动network/len 代表要进行匹配的前缀和前缀长度。
Network是32位的地址,长度是一个十进制的数。
ge-value 代表比“network/len”更具体的前缀,要进行匹配的前缀长度的范围。
如果只规定了“ge”属性,该范围被认为是从“ge-value”到32。
le-vlaue 代表比“network/len”更具体的前缀,要进行匹配的前缀长度的范围。
如果只规定了“le”属性,该范围被认为是从“len”到“le-value”。
(2)、neighbor {ip-address | peer-group-name} prefix-listprefix-listname {in|out}ip-address 代表要为之进行路由过滤的BGP邻居的IP地址。
peer-group-name 代表BGP对等体组的名称。
prefix-listname 代表要被用来过滤路由的前缀列表的名称。
in 说明前缀列表要被应用在来自邻居的入路由通告。
out 说明前缀列表要被应用在发送给邻居的外出的路由通告。
三、在“ip prefix-list”命令中“ge”和“le”任选项的使用可能令人迷惑,理解起来比较难,下面我们做了一个测试,以便更好的了解这些选项的含义。
网络拓朴描述如下:路由器A属于AS65000,路由器B与路由器C是路由器A的邻居,路由器A从路由器B学到了,172.16.10.0/24, 172.16.11.0这两条路由,路由器C接路由器A的端口地址是:10.1.1.1在这个测试中使用了3台路由器:路由器B,路由器A和路由器C,路由器C是路由器A的EBGP邻居,路由器C的接口地址为10.1.1.1,如上所示。
假设配置前缀列表之前,路由器A学到了下面的路由(从路由器B那里学来的):172.16.0.0 subnetted:172.16.10.0/24172.16.11.0/24我们测试了如下5种情况:第一种情况、在这种情况下,对路由器A做了如下配置:router bgp 65000aggregate-address 171.16.0.0 255.255.0.0neighbor 10.1.1.1 prefix-list tenonly outin prefix-list tenonly permit 172.16.10.0/8 le 24当用“show run”命令查看路由器的配置时,我们将看到路由器A自动地将这个配置的最后一行改为下面这样:ip prefix-fix tenonly permit 172.0.0.0/8 le 24这时路由器C学到了三个路由器,即:172.16.0.0/16172.16.10.0/24172.16.11.0/24下面就祥细的说明一下路由器C为什么会学到这三条路由:因为我们在路由器A中用aggregate创建了一条聚合路由器172.16.0.0/16,而且在使用这个命令的时候没有加参数summary-only所以,路由器A的EBGP邻居,即路由器C有可能学到三条路由,即聚合路由172.16.0.0/16,具体路由172.16.10.0/24,具体路由172.16.11.0/24。
在命令“in prefix-list tenonly permit 172.16.10.0/8 le 24”中, len等于8,len-value等24,。
前面我们说过对于比“network/len”更具体的前缀,要加上参数len-value,如果只规定了“le”属性,该范围被认为是从“len”到“le-value”,这里的8和24是长度的概念,即可以精确匹配前8位,前9位,前11位,…….一直到可以精确匹配前24位。
172.16.0.0/16被认为是精确匹配了前16位,而172.16.10.0/24和172.16.11.0/24则被认为是精确匹配了前24位,如果是172.0.0.0/8则被认为是精确匹配了前8位,即这里的8至24可是掩码位的概念,就是说从路由器C的角度上来说,我可以学到路由器A 的BGP路由表中的掩码为/8,/9,/10,/11,/12,/13,/14,/15,/16,/17,/18,/19,/20, /21,/22,/23,/24的路由器,所以在这种情况下路由器C 学到了三条路由即:172.16.0.0/16172.16.10.0/24172.16.11.0/24第二种情况、在这种情况中,对路由器A做了如下配置:router bgp 65000aggregate-address 171.16.0.0 255.255.0.0neighbor 10.1.1.1 prefix-list tenonly outin prefix-list tenonly permit 172.16.10.0/8 le 16在这里从路由器C的角度来说,我有可能学到的路由是172.16.0.0/16 ,172.16.11.0/24,172.16.10.0/24,但实际我只学到172.16.0.0/16这一条路由器,原因是,len-value的值已经改为16,即我只能学到掩码为/8,/9,/10,/11,/12,/13,/14,/15,/16的路由,在上面的三条路由中,符合条件的只有 172.16.0.0/16,所以路由器C只学到172.16.0.0/16这一条路由。
第三种情况、在这个情况中,对路由器A做了如下配置:router bgp 65000aggregate-address 171.16.0.0 255.255.0.0neighbor 10.1.1.1 prefix-list tenonly outin prefix-list tenonly permit 172.16.10.0/8 ge 17在这里从路由器C的角度来说,我有可能学到的路由是172.16.0.0/16 ,172.16.11.0/24,172.16.10.0/24,但路由器C只学到172.16.11.0/24,172.16.10.0/24这两条路由,为什么呢,这是因为这里ge-value 的值为17,它精确匹配前17位,前19位,前20位,一直可以精确匹配前32位,即从路由器C的角度上来看,我能说到路由器A中的BGP路由表中的掩码为/17,/18,/19,/20,/21,/22,/23,/24,/25,/26,/27,/28,/29,/30,/31,/32的路由,所以路由器C学到了两条路由:172.16.11.0/24,172.16.10.0/24。