问题描述
ACL 仅能匹配路由条目的 Prefix(网络前缀)信息,无法用于匹配 Mask(前缀长度),鉴于此,通过 ACL 无法更好的进行路由匹配;
解决方案
IP-Prefix List(IP 前缀列表)是将路由条目的网络地址、掩码长度作为匹配条件的过滤器,能在各路由协议发布和接收路由时使用;
IP Prefix 是专门用于匹配路由条目的工具(但是不能用于过滤流量),在路由过滤时,通常建议使用 IP Prefix 工具;
语法格式
与 ACL 不同,IP-Prefix List 能够同时匹配 IP 地址前缀长度 以及 掩码长度,增强了匹配的精确度;
[Huawei] ip ip-prefix <ip-prefix-name> index <INDEX> <action> <prefix> <mask> greater-equal <start> less-equal <end> [Huawei] ip ip-prefix test index 10 permit 192.168.1.0 22 greater-equal 24 less-equal 26
1)ip-prefix-name:地址前缀列表名称
2)INDEX:本匹配项在地址前缀列表中的序号,匹配时根据序号从小到大进行顺序匹配
3)action:permit/deny,地址前缀列表的匹配模式为允许 / 拒绝,表示匹配 / 不匹配
4)prefix/mask:匹配路由的网络地址,并限定网络地址的前多少位需严格匹配
5)start/end:匹配路由前缀长度,掩码长度的匹配范围 mask-length<=greater-equal-value<=less-equal-value<=32
匹配机制
默认规则
针对某条路由,若无与其匹配的规则,则默认拒绝;
简单示例
1.1.1.1/32、1.1.1.0/27、1.1.1.0/26、1.1.1.0/25、1.1.1.0/24 || vv ip ip-prefix myList index 10 permit 1.1.1.0 24 greater-equal 24 less-equal 27 || VV 1.1.1.0/27、1.1.1.0/26、1.1.1.0/25、1.1.1.0/24
所有掩码长度在 8 到 32 的路由都被 Permit:
ip ip-prefix aa index 10 permit 10.0.0.0 8 less-equal 32
屏蔽某几条,并允许其他所有:
ip ip-prefix aa index 10 deny xxxxxxxxx ip ip-prefix aa index 10 permit 0.0.0.0 0 less-equal 32
允许缺省路由:
ip ip-prefix aa index 10 permit 0.0.0.0 0