02.28 動態路由聽多了?看這裡,5分鐘學會操控路由

路由重分發、操控路由管理距離和度量值的工具

應用場景:網絡割接、網絡遷移

--網絡的升級換代:RIPv1/IGRP升級到OSPF/EIGRP

--網絡合並和重組:從EIGRP割接到OSPF


單點雙向重分發:在單個區域邊界路由器ASBR上進行的

動態路由聽多了?看這裡,5分鐘學會操控路由

單點雙向重分發:路由器R1將協議A重分發進協議B;包含宣告進A的所有接口的直連路由以及通過協議A學習到的已經加入路與表的協議A路由(IS-IS默認不會重分發直連路由)。

優點:安全,不存在路由反饋,不會產生次有路由和路徑環路(由於水平分割存在,路由不會回傳)。

缺點:沒有冗餘,若R1 down了,兩邊的路由就沒了。


多點多向重分發:在多個區域邊界路由器ASBR上進行的

動態路由聽多了?看這裡,5分鐘學會操控路由

多點多向重分發:配置過程遵循順時針+逆時針的順序,在每做一次重分發時,要檢查對端邊界路由器的路由表是否正常;若不正常,需修改管理距離。

優點:提供了冗餘和可靠性

缺點:不安全,存在路由反饋,會產生次有路由和路徑環路。

如圖中,OSPF和RIP做雙點雙向重分發,由於OSPF的管理距離小於RIP,路由反饋將影響邊界路由器上的RIP域內路由,原來打R的路由,現在打上了O E2

解決方法1:一邊使用EIGRP協議,可以解決路由反饋(D/90 D EX/170)。

解決方法2:修改邊界路由器R1和R4上的管理距離或者使用分發列表過濾路由;解決了路由反饋之後,還需要進行路由優化,防止不合理的負載均衡;通過修改使用Route Map或offer-list修改路由度量值。

注:建議不要用分發列表distribute list,原因在於使用分發列表過濾路由之後,就使得雙點雙向重分發優勢不在,像單點一樣存在單點故障。


種子度量值Seed Metric / Default-metric

RIP 0/16 infinity(不可達)

EIGRP 0 infinity(不可達)

OSPF 20/1 其他協議為20;BGP協議為1

IS-IS 0 infinity(可達)

BGP BGP 路徑屬性/路徑矢量;利用MED繼承metric屬性。

1、 將路由協議A重分發至RIP,Seed Metric默認為0/16,代表不可達,需要手工修改;

-將靜態路由重分發進RIP,Seed Metric為1,可達,無需修改,並且0.0.0.0/0缺省路由可以進入RIP進程。

-將直連路由重分發進RIP,Seed Metric為1,可達,無需修改。

-Default-metric命令會影響協議A或靜態路由重分發進RIP的路由,不影響直連路由重分發進RIP,不建議使用,正確的做法是;

(config-router)#redistribute rip metric 1(種子度量值)

-重分發進RIP協議的Seed Metric值從第二跳開始逐跳累加1


2、 將路由協議A重分發進OSPF

-(config-router)#redistribute rip subnets;默認情況下,只會將主網路由重分發進來,加了subnets命令就可以將子網重分發進來。

-將路由協議A(RIP、EIGRP、ISIS)重分發至OSPF,Seed Metric為20,Metric-Type為O E2,可以修改Metric-Type為O E1

-將路由協議A(BGP)重分發至OSPF,Seed Metric為1

-將直連路由和靜態路由重分發至OSPF,Seed Metric為20,Metric-Type為O E2,只有明細和非缺省路由才可以重分發;

-將OSPF重分發進其他協議時,默認內部路由O和O IA可以過去,外部路由OE1和OE2是過不去的;後面需要加上match參數才可以實現;

(config-router)#redistribute ospf 5match internal external 1 external 2


3、將路由協議A重分發進EIGRP

(config-router)#default-metric BW Delay Reliability loading mtu;

(config-router)#default-metric 10000/1000 100 255 1 1500

-將路由協議A重分發至EIGRP ,Seed Metric為0,代表不可達,需要手工修改;且需要同時修改5個參數(帶寬、延時、負載、可靠性、MTU)

-將靜態路由/直連路由重分發進EIGRP,Seed Metric不為0,可達,並且0.0.0.0/0缺省路由也可以進入EIGRP進程。


4、將路由協議A重分發進IS-IS

-將路由協議A重分發進IS-IS,Seed Metric為0,代表可達且路由類型默認為L2;如果重分發的路由器為L1路由器時,則需要修改重分發路由類型為L1,否則重分發失敗;將IS-IS重分發進路由協議A時,默認只攜帶L2路由;後面需要添加 L1、L1/2參數才能攜帶。

-重分發靜態路由進IS-IS時,是不能攜帶默認路由的。


5、將路由協議A重分發進BGP

-將路由協議A重分發進BGP,BGP路由默認沒有度量值,是使用MED繼承metric屬性。


路由反饋:路由反饋可能會產生次優路徑、引起路由環路,是非常危險的;單點雙向重分發中,會不會產生路由反饋;路由協議A被重分發進B,再重分發回A?

動態路由聽多了?看這裡,5分鐘學會操控路由

實驗結果:R1的路由表不會改變,R2只收到了R4的環回口路由和14.1.1.0/24網段路由;RIP重分發進OSPF的路由,不會再被R1收到並重分發進EIGRP。

注:由於內部路由一般比外部路由準確,因此建議被重分發的路由的Seed-Metric比路由域中的所有metric的最大值要大,這是一個路由優化。


訪問控制列表ACL:標準ACL只能抓路由前綴而不能抓路由掩碼;擴展ACL可以抓取路由前綴和掩碼;分發列表只支持標準ACL;route-map支持標準和擴展ACL;

標準ACL抓取10.1.1.0/24的路由:access-list 5 permit 10.1.1.0 0.0.0.0;

標準ACL抓所有主A類路由:access-list 10 permit 0.0.0.0 127.0.0.0

標準ACL抓所有主B類路由:access-list 20 peimit 128.0.0.0 63.255.0.0

標準ACL抓所有主C類路由:access-list 30 permit 192.0.0.0.0 31.255.255.0

標準ACL抓主B路由中掩碼為24的,且第一段為偶數,第二段為奇數,第三段為偶數的路由:access-list 40 permit 128.1.0.0 62.254.254.0

擴展ACL抓所有主A類路由:

access-list 100 permit ip 0.0.0.0 127.0.0.0 255.0.0.0(host)255.0.0.0

擴展ACL抓所有主B類路由:

access-list 110 peimit ip 128.0.0.0 63.255.255.0 255.255.0.0 0.0.0.0

擴展ACL抓所有主C類路由:

access-list 120 permit ip 192.0.0.0.0 31.255.255.0 255.255.255.0

注:標準ACL只能抓取特定前綴,對於2.2.2.0/24,2.2.2.0/25,2.2.2.0/26來說,只能抓到前綴2.2.2.0,抓不到掩碼,因此,要麼全部放行,要麼全部拒絕。

前綴列表Prefix List:用來抓取路由,前綴列表更加精確,可以同時抓取路由前綴和掩碼;需要注意的是,反碼錶示的是多個前綴,而不是掩碼;GE是大於等於,LE是小於等於;分發列表和route-map都支持前綴列表。

ip prefix-list cisco seq 10 permit 10.1.1.0/24 GE 27 LE 30;該命令匹配的是掩碼長度在27和30之間的,前24位是10.1.1.0的條目。

抓所有主A類路由:

ip prefix-list 20 seq 30 permit 0.0.0.0/1 GE 8 LE 8

抓所有主B類路由:

ip prefix-list 20 seq 40 permit 128.0.0.0/2 GE 16 LE 16

抓所有主C類路由:

ip prefix-list 20 seq 50 permit 192.0.0.0/3 GE 24 LE 24

抓所有路由:

ip prefix-list any seq 60 permit 0.0.0.0/0 LE 32


分發列表distribute-list;實現控制層面上的路由條目過濾,通過調用ACL或前綴列表使用;在距離矢量協議(RIP和EIGRP)中,使用分發列表可以基於入站和出站兩個方向做路由過濾;在鏈路狀態協議(OSPF)中,只能做入向,不能做出向;原因在於鏈路狀態協議發送的是LSA不是路由條目,分發列表不能基於ACL或前綴列表抓取LSA,但是可以在入站方向調用分發列表進行本地抑制,但不能限制LSA的傳遞,因此只對本地路由器進行抑制。

(config)#access-list 15 permit 192.168.1.0 0.0.0.0

(config-router)#distribute-list 15 out ospf 110 將ospf 110進程中的路由重分發至eigrp中時,調用acl 15匹配,匹配成功的才能加入EIGRP中;這種方式對於重分發是最佳的。

Distribute-list gateway 10(前綴列表)in/out G0/0 過濾鄰居發過來的路由。

Distribute-list 10(前綴列表)in/out ospf 1 基於協議進行路由過濾。


偏移列表offer-list:結合ACL在入站和出站時增大(只能改大不能改小)通過EIGRP、RIP獲取的路由度量值。

-只能在距離矢量協議中使用:EIGRP、RIP

-人為的增大某條路由條目的度量值從而影響路由選路;

(config)#access-list 20 permit 1.1.1.0 0.0.0.0

(config-router)#offset-list 20(ACL編號)in/out metric (接口編號)

注:in/out指的是控制層面路由流向而分數據層面流向;ACL編號為0時代表將學到的全部路由條目的度量值修改;


洩露列表leak-map:用來在向別人發送彙總路由時洩漏一條或多條明細路由;同時也可以用在EIGRP的stub路由器向外通告的路由上,進行適當的控制。

leak-map的配置步驟:

(1)定義prefix:ip prefix-list 10 per 100.1.3.0/24 用來抓取想洩漏出去的路由。

(2)定義route-map:route-map cisco per 10 match ip address prefix 10

(3)接口調用:ip summary-address eigrp 100 100.1.0.0 255.255.248.0 leak-map cisco


Filter-list:

1、執行BGP路由策略,可利用filter-list,結合bgp的正則表達式、as_path屬性,讓BGP路由器允許或拒絕BGP路由更新。

2、在OSPF中,利用filter-list針對在ABR上把lsa 1/lsa 2彙總成lsa 3的過程當中進行過濾。


路由映射表Route Map:用於路由的再發布和策略路由,還經常使用在BGP中修改路由屬性;route-map這個工具很重要,且使用範圍非常廣泛。

1. 重分發期間進行路由過濾或執行策略--控制層面

2. 網絡地址轉換NAT--控制層面

3. BGP中的策略部署--控制層面

4. 策略路由PBR以及流量工程MPL TE(運營商環境中)--數據層面

注:策略路由實際上是複雜的靜態路由,靜態路由是基於數據包的目標地址並轉發到指定的下一跳路由器;策略路由還利用ACL和prefix-list,以便提供更多功能的過濾和分類。

Route-map定義規則:

動態路由聽多了?看這裡,5分鐘學會操控路由

在每一個序列中,可定義供策略部署的兩個元素:匹配條件(match語句)和執行動作(set語句);你也可以定義多個條件,在同一行match中,若使用多條ACL或者prefix-list,則是或的關係,只要有一條匹配,即該match匹配;當條件被匹配時,就會去執行set指定的相關動作(set語句並非必須,若route-map僅用於匹配感興趣流量,則不需要set語句);route-map被調用後,匹配動作將會從最小的序列號開始執行,如果該序列號中的條件都被匹配了,則執行set命令,若條件不匹配,則切換到下一個序列號繼續進行匹配動作。

1、一個route map永遠會擁有一個隱藏的空Entry。沒有Match,相當於Match Any;沒有Set,相當於Set Nothing。並且,該Entry執行的策略是Deny。

2、在編寫語句的時候我們不寫編號則編號默認為10;當我們之前沒寫編號的語句,之後我們有寫了編號為10的語句則覆蓋之前的語句。

3、在編寫語句的時候我們不寫deny或permit;則默認為permit

4、如果一條語句沒有match則意味著匹配所有條目

route-map配置步驟:

1、 全局配置命令創建一個route-map

(config-router)#route-map test permit/deny 10

2、定義匹配條件,抓路由

match ip address/premix-list匹配訪問列表或前綴列表(支持標準和擴展ACL)

match length根據分組的第三層長度進行匹配

match interface匹配下一跳出接口為指定接口之一的路由

match ip next-hop匹配下一跳地址為特定訪問列表中被允許的那些路由

match metric匹配具有指定度量值的路由

match route-type匹配指定類型的路由

match tag根據路由的標記進行匹配

3、定義set動作,修改對應的屬性

set metric設置路由協議的度量值

set metric-type設置目標路由協議的度量值類型

set default interface指定如何發送這樣的分組

set interface指定如何發送這樣的分組

set ip next-hop指定轉發的下一跳

set next-hop指定下一跳的地址,指定BGP的下一跳

Set tag 修改路由標記值

4、調用route-map redistribute eigrp 90 subnets route-map test


Route Map在重分發中的應用

動態路由聽多了?看這裡,5分鐘學會操控路由

要求:將RIP重分發進OSPF,在R1上進行路由過濾;放行1.1.1.0/24,並將Metric-Type設置為O E1;放行3.3.3.0/24,並將Seed Metric設置為10;過濾掉13.1.1.0/24

部署過程:

1.設置prefix list

R1(config)#ip prefix-list 20 permit 1.1.1.0/24

R1(config)#ip prefix-list 30 permit 3.3.3.0/24

2.設置route map

R1(config)#route-map R2O permit 10

R1(config-route-map)#match ip address prefix-list 20

R1(config-route-map)#set metric-type type-1

R1(config)#route-map R2O permit 20

R1(config-route-map)#match ip address prefix-list 30

R1(config-route-map)#set metric 10

3.重分發時應用route map

R1(config)#router ospf 110

R1(config-router)#redistribute rip subnets route-map R2O

注:由於隱藏的空Entry,13.1.1.0/24被deny了;也可以顯示deny13.1.1.0/24:

R1(config)#access-list 100 permit ip 13.1.1.0 0.0.0.0 255.255.255.0 0.0.0.0 (Router Map可以調用標準ACL或擴展ACL)

R1(config)#route-map R2O deny 30

R1(config-route-map)#match ip address 100

R1(config)#route-map R2O permit 40

R1(config-route-map)#exit

R1(config)#router ospf 110

R1(config-router)#redistribute rip subnets route-map R2O


分享到:


相關文章: