一.前缀列表其实是访问列表的一个升级版本,主要是为了解决访问控制列表的子网难以准确的匹配,造成的难以准确地定位要控制的数据包。和其修改起来的非常的麻烦。但是
prefix-list
一般不用于对数据流的过滤,而用于对其他高级列表和
bgp
的支持。
二.匹配原则:(其本质上和
acl
的是否匹配原则的相似)
1.
从序列号较小的开始匹配到序列号比较大的。如果匹配则进行下一步的处理,
2.
若不匹配这丢弃。因此最精确的条件应该放到前面。
3.
因为
prefix-list
也有一条默认的
deny any
,所以若没有符合条件的
prefix-list
语句,则直接丢弃。
4.
其网段的匹配有点特殊,因为下面会加以解释所以在这里就不做解释。
三.前缀列表的配置
Route
(
config
)
#ip prefix-list{list-name|list-number}[seq seq-value]{deny|permit}network/length[eg ge-value][le le-value]
1.list-name|list-number
前缀列表的名字或者前缀列表的表号
2. seq seq-value
(可选)
前缀列表的序列号,若不加序列号则默认序列号为
5
倍数,而且序列号会以
5
的倍数递增,即第一个为
5
接下来以
5
的倍数递增。
3. deny|permit
允许或者拒绝,默认情况下有一
deny any
4. network/length
,
[eg ge-value]
(可选),
[le le-value]
(可选)
15.5.0
.0/A ge B le C
(make sure:len < ge-value <= le-value)
A B C
记得清路由表
clear ip route
例子
1
如果
A/B/C
15.5.0
.0/16 ge 20 le 30
表示
:
15.5.*.*(
前
16
位相同
)
而且满足路由掩码长度是大于等于
/20
,小于等于
/30
的所有路由
例子
2
如果只有
A/B
,没有
C
15.5.0
.0/16 ge 20 (le 32)
默认的
表示:
15.5.*.*
前
16
位相同
,
而且满足路由掩码长度是大于等于
/20,
小于等于
/32
的所有路由
例子
3
如果只有
A/C
15.5.0
.0/16 (ge 16) le 30
表示:
15.5.*.*
前
16
位相同,而且满足路由掩码长度大于等于
16
,小于等于
30
的所有路由
例子
4
如果只有
A
15.5.0
.0/16 (ge 16)(le 16)
表示:
15.5.*.*
相同,满足路由掩码长度是
16
位的路由
例子
5
0.0.0
.0/0 le 32=any
例子
6
0.0.0
.0/0 =
默认路由
0.0.0.0
四.前缀列表的修改
1.
要删除整个前缀列表,可用命令
no ip prefix-list list-name
2.
若要删除相应条目的前缀列表则可用
no ip prefix-list list-name seq seq-value
。
3.no ip prefix-list sequence-number
(此条命令书本上说可以用来关闭自动编号功能,但是本人试过并不能达到这个目的)
4,
。
Clear ip prefix-list
重置前缀列表命中的次数。
五.前缀列表的查看
1.show ip prefix-list[detail|summary]
显示所有的前缀了表,指定关键字
detail
可以输出完整的
prefix-list
信息。
2.show ip prefix-list prefix list-name
只显示相应名称的前缀列表。
3.show ip prefix-list prefix-list-name [seq number]
显示相应名称的相应序列号的前缀列表。
show ip prefix-list prefix-list-name [network/length]
显示前缀列表中完全符合指定网络和长度或更具体的所有条目
6.show ip prefix-list prefix-list-name [network/length]
first-match
显示前缀列表中完全符合指定网络和长度的路由条目。
转载于:https://blog.51cto.com/4460636/796784