码迷,mamicode.com
首页 > 其他好文 > 详细

[Lab4-1]抓路由练习题

时间:2015-07-09 23:00:19      阅读:502      评论:0      收藏:0      [点我收藏+]

标签:抓路由

[Lab4-1]抓路由练习题

问题1:

用ACL抓取172.18.0.0/16----172.29.0.0/16的路由

答案: 172.16.0.0 0.15.255.255,看上去很完美,但实际上框的范围有些大.

R1(f0/0)—(f0/0)R2

R1上的接口地址:

R1#sh ip int b

Interface IP-Address OK? Method Status Protocol

FastEthernet0/0 12.1.1.1 YES NVRAM up up

Loopback0 172.16.0.1 YES NVRAM up up

Loopback1 172.17.0.1 YES NVRAM up up

Loopback2 172.18.0.1 YES NVRAM up up

Loopback3 172.19.0.1 YES NVRAM up up

Loopback4 172.20.0.1 YES NVRAM up up

Loopback5 172.21.0.1 YES NVRAM up up

Loopback6 172.22.0.1 YES NVRAM up up

Loopback7 172.23.0.1 YES NVRAM up up

Loopback8 172.24.0.1 YES NVRAM up up

Loopback9 172.25.0.1 YES NVRAM up up

Loopback10 172.26.0.1 YES NVRAM up up

Loopback11 172.27.0.1 YES NVRAM up up

Loopback12 172.28.0.1 YES NVRAM up up

Loopback13 172.29.0.1 YES NVRAM up up

Loopback14 172.30.0.1 YES NVRAM up up

Loopback15 172.31.0.1 YES NVRAM up up

R2上ACL抓精确路有

R2#sh access-lists

Standard IP access list 10

10 permit 172.18.0.0, wildcard bits 0.1.255.255 (10 matches)

20 permit 172.20.0.0, wildcard bits 0.3.255.255 (20 matches)

30 permit 172.24.0.0, wildcard bits 0.3.255.255 (20 matches)

40 permit 172.28.0.0, wildcard bits 0.1.255.255 (10 matches)

R2:上配置

router rip

version 2

network 0.0.0.0

distribute-list 10 in FastEthernet0/0

no auto-summary

具体分析过程:

技术分享

题目分享: http://yun.baidu.com/share/link?shareid=2380926901&uk=4093942124

问题2:

怎么用抓以下路由或该网段?

192.168.0.1/24

192.168.1.1/25

192.168.2.1/26

192.168.3.1/27

解题思路,用prefix-list:

R1(f0/0)----(f0/0)R2

(全网跑rip)

ip prefix-list 10: 2 entries

seq 5 deny 192.168.0.0/16 ge 24 le 27

seq 10 permit 0.0.0.0/0 le 32

R2(config-router)#distribute-list prefix 10 in f0/0

技术分享

试验结果: R2 上只有一条打R的路由

R2#sh ip route rip

R 172.31.0.0/16 [120/1] via 12.1.1.1, 00:00:18, FastEthernet0/0

除了 用前缀列表,我们也可以用扩展ACL来抓,但一般来说扩展列表需要被router-map调用时才生效 (rip中没有该关键字)

分析过程:

===================================

192.168.0.1

255.255.255.0 X.X.X. 0000 0000

192.168.1.1

255.255.255.128 X.X.X. 1000 0000

192.168.2.1

255.255.255.192 X.X.X. 1100 0000

192.168.3.1

255.255.255.224 X.X.X. 1110 0000

===================================

前缀部分: 192.168.0.0 0.0.3.0

掩码部分: x.x.x. 1110 0000

: 255.255.255.0 0.0.0.224

技术分享

我们在R2 上做重分法并且过滤掉 上面的网段

access-list 100 permit ip 192.168.0.0 0.0.3.0 255.255.255.0 0.0.0.224

route-map lab deny 10

match ip address 100

!

route-map lab permit 20

router ospf 110

router-id 0.0.0.2

log-adjacency-changes

redistribute rip subnets route-map lab

network 23.1.1.0 0.0.0.255 area 0

在R3 上看ospf的路由表只有一条:

技术分享

http://pan.baidu.com/s/1eQ946kE \\下载试验

前缀列表书写规范:

ip prefix-list 1 permit 192.168.16.0/[mask] ge [value] le [value]

Len(mask)<ge-value<=le-value

前缀列表会先根据掩长度码范围进行匹配(也就是说,不看IP,先看掩码)

ge[value] 表示 大于等于 [value]

le[value] 表示 小于等于 [value]

再按期望的mask值进行匹配(使IP与MASK进行比较匹配)

len=mask(期望的mask值)

mask(前缀固定位)是如何进行匹配的?

192.168.00010000.0

192.168.00010010.0

255.255.11111101.0

mask = 22

我们只需把两个ip不同的位 置0,所得的结果就是我们所期待的前缀掩码

比如我们希望匹配

192.168.16.0 /24和192.168.18.0/24两条路由

那么我们的前缀列表应写为

ip prefix-list 1 permit 192.168.16.0/22 ge 24 le 24

以上命令的意思表示先把/24掩码的路由筛选出来,然后再按照mask值/22进行匹配

如果范围空着不写的话会有一些缺省值:

不写ge和le那么ge=le=mask

只写le不写ge那么ge=mask

只写ge不写le那么le=32 (隐藏的命令)

例:/24 le 32 表示掩码在24-32之间

      /24 ge 26 表示掩码在26到32之间

      /24 ge 26 le 30 表示掩码在 26到30之间

      /24 表示掩码等于24的路由去匹配/24的掩码

和ACL比Prefix-list的好处:

access-list 1 permit 192.168.16.0 0.0.2.0

以上ACL可以过滤192.168.16.0和18.0两条路由,但ACL不能准确的描述掩码

比如我们还有一条192.168.16.0/30的路由

那么ACL会把/24和/30的一起过滤掉

而前缀列表只会过滤掉/24的路由

附:在router-map里匹配前缀列表的写法

map# match ip address prefix-list [list num]

比如我们希望匹配

192.168.16.0 /24和192.168.18.0/24

那么我们的前缀列表应写为

ip prefix-list 1 permit 192.168.16.0/22 ge 24 le 24

匹配A类地址,且掩码大于16小于24(A类前缀0~127是0,B类128~191是10,C类是110,D类是1110)

ip prefix-list 1 permit 0.0.0.0/1 ge 16 le 24

不同于用于匹配流量的IP访问列表,IP前缀列表主要是用来指定具体的网络可达的。前缀列表用来匹配前缀(网段)和前缀长度(子网掩码)。前缀列表有两个参数很难理解。  
下面是普通的前缀列表的参数:    
ip prefix-list [name] [permit | deny] [prefix]/[len]    
name为任意的名字或者数字,prefix是指定的路由前缀(网段),len是指定的前缀长度(子网掩码)。例子如下:    
ip prefix-list LIST permit 1.2.3.0/24    
上面的例子中指定匹配网段1.2.3.0,并且指定子网掩码为255.255.255.0,这个列表不匹配1.2.0.0/24,也不匹配1.2.3.4/32    
ip prefix-list LIST permit 0.0.0.0/0    
上面的例子指定匹配网段0.0.0.0和子网掩码0.0.0.0。这个列表用来匹配默认路由。    
通常情况下,在使用前缀列表的时候加上“GE”(大于或等于)和“LE”(小于或等于)时比较容易发生混淆。这是因为当使用“GE”和“LE”时,列表的长度(len)发生了改变。    
另外一种前缀列表的参数:    
ip prefix-list [name] [permit | deny] [prefix]/[len] ge [min_length] le [max_length]    
name为任意的名字或者数字,prefix是将要进行比较的路由前缀(网段),len是指从最左边开始的比特位,min_length为最小的子网掩码的值,max_length为最大的子网掩码的值    
使用GE和LE,必须满足下面的条件:    
len < GE <= LE    
上面的参数很容易混淆,简单的说就是一个匹配前缀或子网的地址的范围。    
看下面的例子:    
ip prefix-list LIST permit 1.2.3.0/24 le 32    
上面的例子表示前缀1.2.3.0前面的24位必须匹配。此外,子网掩码必须小于或等于32位    
ip prefix-list LIST permit 0.0.0.0/0 le 32    
上面的例子意味着0位需要匹配,此外子网掩码必须小于或等于32位。一位所有的网段的掩码都小于或等于32位,并且一位都不用匹配,所以这句话等于permit any    
ip prefix-list LIST permit 10.0.0.0/8 ge 21 le 29    
上面的例子说明网段10.0.0.0的前8位必须匹配,此外子网掩码必须在21位和29位之间。    
注意:    
使用前缀列表不能像访问列表那样匹配具体的应用流。    
前缀列表也不能用来具体匹配奇数或偶数的前缀,或什么可以被15整除的前缀    
在前缀列表中,比特位必须是连续的,并且从左边开始

ip prefix-list fuck permit 0.0.0.0/0 表示默认路由    
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类地址

本文出自 “Erick WAY” 博客,谢绝转载!

[Lab4-1]抓路由练习题

标签:抓路由

原文地址:http://ericfu.blog.51cto.com/416760/1672533

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!