標籤:抓路由
[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
具體分析過程:
650) this.width=650;" title="clip_image002" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image002" src="http://s3.51cto.com/wyfs02/M01/6F/80/wKiom1WeGGij09bSAAC6GuREL_M397.jpg" height="378" />
題目分享: 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
650) this.width=650;" title="clip_image004" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image004" src="http://s3.51cto.com/wyfs02/M02/6F/80/wKiom1WeGGmCPD8dAACsaMuYEgU353.jpg" height="129" />
實驗結果: 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
650) this.width=650;" title="clip_image006" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image006" src="http://s3.51cto.com/wyfs02/M00/6F/80/wKiom1WeGGqSAcqjAABPi8FxYMc078.jpg" height="138" />
我們在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的路由表只有一條:
650) this.width=650;" title="clip_image008" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image008" src="http://s3.51cto.com/wyfs02/M01/6F/80/wKiom1WeGGvTp3J4AABOWpfFyTg631.jpg" height="53" />
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]抓路由練習題