路由策略之---ACL、前綴路由、route-map

一)、ACL相關

做路由條目的策略,我們方法很多。普通的一種辦法可以用ACL,但是我們建議不要用序列號的,而用命名規則的,這樣的好處是:可以修改,靈活、利於應用檢測及排錯。

那麼如何對各種路由條目做到最精確的匹配呢?舉例如下來總結規律:

子網:199.99.0.0/24                                           199.99.00000000.0/24                                           
           199.99.1.0/24                                          199.99.00000001.0/24                                           
           199.99.2.0/24                                           199.99.00000010.0/24 
           199.99.3.0/24                                           199.99.00000011.0/24 
    我們如何來做ACL呢,首先將子網段換算成二進制觀察,那麼我們可以如下來寫:

acce 1 per 199.99.00000000.0 0.0.00000011.0 換算後爲199.99.0.0 0.0.3.0

再看子網:199.99.0.0/24                               199.99.00000000.0/24                                           
                 199.99.1.0/24                               199.99.00000001.0/24                                           
                 199.99.2.0/24                               199.99.00000010.0/24                                           
                   199.99.3.0/24                             199.99.00000011.0/24                                           
                   199.99.16.0/24                           199.99.00010000.0/24                                           
                   199.99.17.0/24                           199.99.00010001.0/24                                           
                   199.99.18.0/24                           199.99.00010010.0/24                                           
                   199.99.19.0/24                           199.99.00010011.0/24                                           
    我們按照換算的二進制觀察,我們可以這樣來精確寫:

acc 1 per 199.99.00000000.0 0.0.00010011.0        換算後爲 199.99.0.0 0.0.19.0

我們觀察是否滿足,可以看後面所掩的段內有幾位置1,有3位,2^3=8,正好符合上面8條數目。

此規則理解爲:所有網段條目,將二進制格式內觀察,前段標識寫的格式爲相同的位挪下來,不同的位置爲0;後段標識寫的格式爲相同的位挪下來,不同的位置爲1,將其不同的位置掩起來以確需要匹配。

按照如此規則,我們寫奇數子網路由條目或偶數子網路由條目均可迎刃而解。

例子199.99.0.0/24的所有網絡中,奇數子網和偶數子網的寫法:

奇數:acce 1 per 199.99.00000001.0 0.0.11111110.0 換算後爲199.99.1.0 0.0.254.0

偶數:acce 1 per 199.99.00000000.0 0.0.11111110.0 換算後爲199.99.0.0 0.0.254.0

二)、前綴路由

但是通過ACL的標準寫法或命名寫法有的時候都會漏掉一部分子網,所以我們建議用前綴列表來寫

前綴列表:ip prefix-list aaa permit 199.99.0.0/24 ge 25 le 32

此格式:ip prefix-list {name} [permit|deny] <network>/<length> <ge> <le>

如例子含義:完全匹配199.99.0.0前面24位網絡位,而且子網掩碼也要精確匹配24位掩碼;

如果加上後面的ge和le來定義,那麼含義因此改變,精確匹配199.99.0.0前面24位網絡位,而且子網掩碼匹配範圍25位-32位的所有子網掩碼。

但是有的情況前綴列表一樣會漏掉子網,例如199.99.0.0/25 那麼199.99.0.128/25就漏掉了。值得注意。

想寫permit any如何寫呢?格式爲:ip prefix-list test permit 0.0.0.0/0 le 32

三)、route-map

關於route-map,應用範圍廣泛,其格式寫法基本三部曲,

1,先寫acces   1 per 199.99.0.0 0.0.0.255   這裏需要必須用per,因爲是route-map所匹配的

2,寫route-map {name}[ permit | deny ] seq ,route-map test permit 10                                         
     match ip add 1 ; set metric 100

3,最後調用,如redistribute rip route-map test

如上是應用在路由重分佈,進入匹配項match相關的,才進行set所設置的操做。

下來說明下route-map的PBR應用與重分佈的區別:                                         
1,acc 1 per 199.99.0.0 0.0.0.255

2,route-map PBR permit 10                                         
       match ip add 1 ; set ip next-hop 193.1.1.4

3,應用在數據包入向接口:int s 0/0; ip policy route-map PBR

這裏對數據的影響區別於對路由條目的影響:對路由條目的重分佈,如沒有被匹配,將全部執行默認deny語句;而對數據的PBR過濾,如沒有被匹配,將全部按照默認的路由條目去路由數據包,而非執行默認deny語句將所有數據包drop掉。

※過濾處理順序
入站, 過濾列表>Route-Map>distribute-list/Prefix-list
出站 distribute-list/Prefix-list>ORF接收到的前綴>過濾列表>Route-map

1.match ip address 匹配的是目的網絡號地址
2.match ip route-source 匹配的是在重分發路由器中已經被通告的路由.並且不能通告直連路由。

發佈了9 篇原創文章 · 獲贊 13 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章