重点一:前缀列表先根据掩码长度范围进行匹配(也就是说,不看IP,先看掩码,然后再按照Mask值进行匹配)
牛刀小试一:
ip prefix-list Myname permit
172.16.1.0/24 ge 25 le 30
这条前缀列表怎么匹配呢?
首先在匹配面前的24位不能变,即“172.16.1”这三个段的都不能改变。然后匹配的是这个路由的掩码。
如:
172.16.1.0/25 可以
172.16.1.0/26 可以
。。。。。。。。。。
172.16.1.0/30
可以
172.16.2.0/25/26/27/28/29/30
都是不可以的,因为172.16.2=172.16.1
172.16.1.0/24
这个也是不可以的,因为ge和le两个参数定义了"25<=mask<=30"
-
使用“GE”和“LE”需要满足一下条件:Mask < GE < LE
重点二:
ge :大于或者等于
// le :小于或者等于
重点三:
这个ge和le怎么定义?
牛刀小试二:
R1(config)#ip prefix-list name
permit 172.16.0.0/24 ge 24 le 30
% Invalid prefix
range for 172.16.0.0/24, make sure: len < ge-value <=
le-value
R1(config)#ip
prefix-list name permit 172.16.0.0/24 ge 25 le 30
这里例子里面说的是24这个mask位在配置的时候必须小于ge和le设置的。所以这里“/24 ge 24 le
30”提示配置错误。
这里我们可以使用:
R1(config)#ip
prefix-list name permit 172.16.0.0/24 le 30
//不指定ge位,那么在匹配掩码的时候就从24-30 匹配。
重点四:
-
只写le不写ge那么ge=mask
-
只写ge不写le那么le=32
重点五:
在前缀列表中,比特位必须是连续的,并且从左边开始
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 le 8
配置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/3”需要匹配的前缀呢?
如:
128=10 00
0000 , /2 不能表的意思是说【最前面的“10”这两个位不可以变,可以变的是后面剩下的“6个位”、“10 11
1111=191”】而且这里ge/le=16 限定了mask=16(B类地址)。所以地址为:128.0.0.0-191.255.255.255
/16
192=110 0
0000 ,/3 不能表的意思是说【最前面的“110”这两个位不可以变,可以变的是后面剩下的“5个位”、“110 1
1111=223”】而且这里ge/le=24 限定了mask=24(C类地址) 。所以地址为:192.0.0.0-223.255.255.255
/24
mask=0
//匹配前面的0位
mask=1
//匹配前面的第一位1
mask=2
//匹配前面的第一位和第二位
以此类推!!!
牛刀小试:匹配默认路由?
ip prefix-list name
permit 0.0.0.0/0
R1(config)#do sho
ip prefix-list
ip prefix-list
Myname: 1 entries
seq 5 permit 172.16.1.0/24 ge 25 le 30
ip prefix-list
Ruomo: 1 entries
seq 100 deny 0.0.0.0/0
//seq 序列号,越小越优先