XCIE-HUAWEI-前缀列表
上一章说, ACL无法匹配掩码
so
万一我现在有独立的同网络号不同网段的路由呢?
1.192.168.0.0 /16
2.192.168.0.0 /24
3.192.168.0.0 /25
4.192.168.0.0 /26
5.192.168.0.0 /30
以现在的
ACL没办法搞
filter-policy,也没办法搞
那么,前缀列表,就出来了
什么叫前缀呢
看上面的,是不是开头的全都是192.168的呢?
这个就叫前缀
前缀列表
首先说说特点
前缀列表既可以抓前缀,也可以抓掩码长度
前缀列表只能作为抓取工具,无法抓取报文信息
首先他长啥样呢?
他是固定格式的
ip ip-prefix
首先举个例子
[AR1]ip ip-prefix NAME index 10 permit 192.168.1.0 24 greater-equal 25 less-equa
l 26
[AR1]
上面就是完整的前缀列表
首先
NAME=前缀列表的名字
index=索引号,类似ACL的rule,也是从上往下执行,默认步长=10
啥叫步长?
就是他的默认值
在ACL里面的默认步长=5,rule=默认5=可以不写,但是他会自己给你加上去
以这个倍数为例子,ACL如果不写,第一次5第二次10,第三次15
在前缀列表里面,第一次10,第二次20,第三次30
跟ACL一样,从上往下匹配
premit/deny=行为
没啥好说的
permit抓
deny不抓
如果先deny就是不抓什么
然后permit就=要抓什么
跟ACL逻辑一样
192.168.1.0 24 =路由前缀长度
其中,这个24不是掩码的意思
是用来固定前面的网段长度的
也就是说固定192.168.1=这个长度
greater-equal=需要匹配的掩码长度大于等于多少
less-equal=需要匹配的掩码长度大于等于多少
这两个一起讲
简单的说
这个就是匹配掩码的
以我上面的为例子
然后!!!
我这里不是三个数嘛
24 25 26
他是有规定的
必须24<25<26
25<= X <=26
那不就是25和26么
考考哈
192.168.1.0/24
能被匹配上吗?
answer
不行
虽然前缀可以了
但是掩码不对呀
掩码要25-26才行
条件要同时满足哦!!!
写GE不写LE
如果写了GE没写 LE,那么LE默认=32
举例ip ip-prefix NAME index 10 permit 192.168.7.0 24 greater-equal 25
那么抓的范围是192.168.7.0/25-32
写LE不写GE
如果写了LE,没有写GE,那么GE=LE
举例ip ip-prefix NAME index 10 permit 192.168.90.0 24 less-equal 26
那么这个的抓的范围是192.168.80.0/24-26
GE和LE都不写=匹配单条路由
如果说GE和LE都不写
那么GE=LE=前面的固定长度
举例
举例ip ip-prefix NAME index 10 permit 11.11.11.0 24
那么抓的就是11.11.11.0/24
小总结
1.跟ACL差不多
2.功能上的区别
3.初始值从5变成10
4.先满足前缀
5.在满足掩码
6.匹配要从小到大,比如前面写的24,后面就必须是24或者24以上
7.才能匹配上
8.看上面的GE,LE什么时候写,什么时候不写的规则
9.抓取的时候默认都是拒绝所有
9.特殊写法
ip ip-prefix huawei index 100 permit 0.0.0.0 0
这个匹配的是缺省路由,不是全部数据的意思
用法和acl一致
就是deny xxx
然后permit any
总结完了就要出题了哈
1.ip ip-prefix huawei index 10 premit 192.168.1.0 24
2.ip ip-prefix huawei index 20 premit 192.168.0.0 16 g 24 l 26
3.ip ip-prefix huawei index 30 premit 192.2.3.0 8 g 31 l 32
4.ip ip-prefix huawei index 40 premit 1.1.1.1 32
5.ip ip-prefix huawei index 50 premit
1.2.3.0 24 g 26 l 27
6.ip ip-prefix huawei index 60 premit
2.3.4.0 16 l 32
7.ip ip-prefix huawei index 70 permit 1.0.0.0 1 g 8 l 8
(这个拆分成2进制的子网掩码的去理解就会了)
8.ip ip-prefix huawei index 80 permit 128.0.0.0 2 g 8 l 8
9.ip ip-prefix huawei index 90 permit
192.0.0.0 3 g 8 l 8
原理和第七个一样的,慢慢理解吧
请讲出以上前缀列表对应的抓取,答案会在末尾或者下一章,看作者心情...
目前时间:2022年10月19日01:12:24
实验
简简单单,就两个设备
需求
ip route-static 192.168.0.0 16 null 0
ip route-static 192.168.0.0 24 null 0
ip route-static 192.168.0.0 25 null 0
ip route-static 192.168.0.0 26 null 0
ip route-static 192.168.0.0 30 null 0
1.R2上引入五条外部路由
2.R1上用filter-policy+前缀列表过滤让192.168.0.0和192.168.0.0/30加表
然后192.168.0.0/24-26不能加表
对于发布的路由默认加表
这里引入之后路由就过来了
然后就第一个需求就满足了
然后到第二个
首先,抓了先
前缀列表
ip ip-prefix ospf index 10 deny 192.168.0.0 16 greater-equal 24 less-equal 26
ip ip-prefix ospf index 20 permit 192.168.0.0 16
ip ip-prefix ospf index 30 permit 192.168.0.0 30
ip ip-prefix ospf permit 0.0.0.0 0 l 32
这里真的要注意哈,加了L-32和不加,真的不一样
不加:匹配默认路由
加:匹配所有的路由
因为前缀列表和ACL一样,做过滤的时候默认拒绝所有,所以需要有一条最后的兜底
引入
这个地方,之前是用acl做引入,现在则是直接联动上前缀列表了
ospf是前缀列表的名字,然后import是入方向的意思
我直接贴上路由表
[AR1]dis ospf routing
OSPF Process 1 with Router ID 1.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
1.1.1.0/24 1 Transit 1.1.1.1 1.1.1.1 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
192.168.0.0/16 1 Type2 1 1.1.1.2 1.1.1.2
192.168.0.0/24 1 Type2 1 1.1.1.2 1.1.1.2
192.168.0.0/25 1 Type2 1 1.1.1.2 1.1.1.2
192.168.0.0/26 1 Type2 1 1.1.1.2 1.1.1.2
192.168.0.0/30 1 Type2 1 1.1.1.2 1.1.1.2
Total Nets: 6
Intra Area: 1 Inter Area: 0 ASE: 5 NSSA: 0
[AR1]dis ip rou
[AR1]dis ip routing-table pr
[AR1]dis ip routing-table protocol o
[AR1]dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 2 Routes : 2
OSPF routing table status : <Active>
Destinations : 2 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.0.0/16 O_ASE 150 1 D 1.1.1.2 GigabitEthernet
0/0/0
192.168.0.0/30 O_ASE 150 1 D 1.1.1.2 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
[AR1]
注意看,虽然LSDB一样可以计算的出来但是
能加表的只有前缀列表匹配的permit的那个16和30才能加表哦
前缀列表呢就写完了
答案
1.抓取192.168.1.0/24
2.抓取192.168 掩码为24/26
3.抓取 192 掩码为31-32
4.抓取1.1.1.1/32
5.抓取1.2.3 掩码为26-27
6.抓2.3.0.0/16-32
7.匹配所有A类的路由(其实挺烧脑子的)
8.匹配所有B类路由
9.匹配所有C类路由
出题也很烧脑啊!!!