超详细的前缀列表“ipprefix-lis”详解(转)
2018-10-26 11:26阅读:
重点一:前缀列表先根据掩码长度范围进行匹配(也就是说,不看IP,先看掩码,然后再按照Mask值进行匹配)
牛刀小试一:
ip prefix-list Myname permit 172.16.1.0/24 ge 25 le 30
这条前缀列表怎么匹配呢?
首先在匹配面前的24位不能变,即“172.16.1”这三个段的都不能改变。然后匹配的是这个路由的掩码。
如:
1
72.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 g
e 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 序列号,越小越优先