路由重分發(fā)、操控路由管理距離和度量值的工具應(yīng)用場景:網(wǎng)絡(luò)割接、網(wǎng)絡(luò)遷移 --網(wǎng)絡(luò)的升級換代:RIPv1/IGRP升級到OSPF/EIGRP --網(wǎng)絡(luò)合并和重組:從EIGRP割接到OSPF 單點雙向重分發(fā):在單個區(qū)域邊界路由器ASBR上進(jìn)行的 單點雙向重分發(fā):路由器R1將協(xié)議A重分發(fā)進(jìn)協(xié)議B;包含宣告進(jìn)A的所有接口的直連路由以及通過協(xié)議A學(xué)習(xí)到的已經(jīng)加入路與表的協(xié)議A路由(IS-IS默認(rèn)不會重分發(fā)直連路由)。 優(yōu)點:安全,不存在路由反饋,不會產(chǎn)生次有路由和路徑環(huán)路(由于水平分割存在,路由不會回傳)。 缺點:沒有冗余,若R1 down了,兩邊的路由就沒了。 多點多向重分發(fā):在多個區(qū)域邊界路由器ASBR上進(jìn)行的 多點多向重分發(fā):配置過程遵循順時針+逆時針的順序,在每做一次重分發(fā)時,要檢查對端邊界路由器的路由表是否正常;若不正常,需修改管理距離。 優(yōu)點:提供了冗余和可靠性 缺點:不安全,存在路由反饋,會產(chǎn)生次有路由和路徑環(huán)路。 如圖中,OSPF和RIP做雙點雙向重分發(fā),由于OSPF的管理距離小于RIP,路由反饋將影響邊界路由器上的RIP域內(nèi)路由,原來打R的路由,現(xiàn)在打上了O E2 解決方法1:一邊使用EIGRP協(xié)議,可以解決路由反饋(D/90 D EX/170)。 解決方法2:修改邊界路由器R1和R4上的管理距離或者使用分發(fā)列表過濾路由;解決了路由反饋之后,還需要進(jìn)行路由優(yōu)化,防止不合理的負(fù)載均衡;通過修改使用Route Map或offer-list修改路由度量值。 注:建議不要用分發(fā)列表distribute list,原因在于使用分發(fā)列表過濾路由之后,就使得雙點雙向重分發(fā)優(yōu)勢不在,像單點一樣存在單點故障。 種子度量值Seed Metric / Default-metric RIP 0/16 infinity(不可達(dá)) EIGRP 0 infinity(不可達(dá)) OSPF 20/1 其他協(xié)議為20;BGP協(xié)議為1 IS-IS 0 infinity(可達(dá)) BGP BGP 路徑屬性/路徑矢量;利用MED繼承metric屬性。
-將靜態(tài)路由重分發(fā)進(jìn)RIP,Seed Metric為1,可達(dá),無需修改,并且0.0.0.0/0缺省路由可以進(jìn)入RIP進(jìn)程。 -將直連路由重分發(fā)進(jìn)RIP,Seed Metric為1,可達(dá),無需修改。 -Default-metric命令會影響協(xié)議A或靜態(tài)路由重分發(fā)進(jìn)RIP的路由,不影響直連路由重分發(fā)進(jìn)RIP,不建議使用,正確的做法是; (config-router)#redistribute rip metric 1(種子度量值) -重分發(fā)進(jìn)RIP協(xié)議的Seed Metric值從第二跳開始逐跳累加1
-(config-router)#redistribute rip subnets;默認(rèn)情況下,只會將主網(wǎng)路由重分發(fā)進(jìn)來,加了subnets命令就可以將子網(wǎng)重分發(fā)進(jìn)來。 -將路由協(xié)議A(RIP、EIGRP、ISIS)重分發(fā)至OSPF,Seed Metric為20,Metric-Type為O E2,可以修改Metric-Type為O E1 -將路由協(xié)議A(BGP)重分發(fā)至OSPF,Seed Metric為1 -將直連路由和靜態(tài)路由重分發(fā)至OSPF,Seed Metric為20,Metric-Type為O E2,只有明細(xì)和非缺省路由才可以重分發(fā); -將OSPF重分發(fā)進(jìn)其他協(xié)議時,默認(rèn)內(nèi)部路由O和O IA可以過去,外部路由OE1和OE2是過不去的;后面需要加上match參數(shù)才可以實現(xiàn); (config-router)#redistribute ospf 5match internal external 1 external 2
(config-router)#default-metric BW Delay Reliability loading mtu; (config-router)#default-metric 10000/1000 100 255 1 1500 -將路由協(xié)議A重分發(fā)至EIGRP ,Seed Metric為0,代表不可達(dá),需要手工修改;且需要同時修改5個參數(shù)(帶寬、延時、負(fù)載、可靠性、MTU) -將靜態(tài)路由/直連路由重分發(fā)進(jìn)EIGRP,Seed Metric不為0,可達(dá),并且0.0.0.0/0缺省路由也可以進(jìn)入EIGRP進(jìn)程。
-將路由協(xié)議A重分發(fā)進(jìn)IS-IS,Seed Metric為0,代表可達(dá)且路由類型默認(rèn)為L2;如果重分發(fā)的路由器為L1路由器時,則需要修改重分發(fā)路由類型為L1,否則重分發(fā)失??;將IS-IS重分發(fā)進(jìn)路由協(xié)議A時,默認(rèn)只攜帶L2路由;后面需要添加 L1、L1/2參數(shù)才能攜帶。 -重分發(fā)靜態(tài)路由進(jìn)IS-IS時,是不能攜帶默認(rèn)路由的。
-將路由協(xié)議A重分發(fā)進(jìn)BGP,BGP路由默認(rèn)沒有度量值,是使用MED繼承metric屬性。 路由反饋:路由反饋可能會產(chǎn)生次優(yōu)路徑、引起路由環(huán)路,是非常危險的;單點雙向重分發(fā)中,會不會產(chǎn)生路由反饋;路由協(xié)議A被重分發(fā)進(jìn)B,再重分發(fā)回A? 實驗結(jié)果:R1的路由表不會改變,R2只收到了R4的環(huán)回口路由和14.1.1.0/24網(wǎng)段路由;RIP重分發(fā)進(jìn)OSPF的路由,不會再被R1收到并重分發(fā)進(jìn)EIGRP。 注:由于內(nèi)部路由一般比外部路由準(zhǔn)確,因此建議被重分發(fā)的路由的Seed-Metric比路由域中的所有metric的最大值要大,這是一個路由優(yōu)化。 訪問控制列表ACL:標(biāo)準(zhǔn)ACL只能抓路由前綴而不能抓路由掩碼;擴展ACL可以抓取路由前綴和掩碼;分發(fā)列表只支持標(biāo)準(zhǔn)ACL;route-map支持標(biāo)準(zhǔn)和擴展ACL; 標(biāo)準(zhǔn)ACL抓取10.1.1.0/24的路由:access-list 5 permit 10.1.1.0 0.0.0.0; 標(biāo)準(zhǔn)ACL抓所有主A類路由:access-list 10 permit 0.0.0.0 127.0.0.0 標(biāo)準(zhǔn)ACL抓所有主B類路由:access-list 20 peimit 128.0.0.0 63.255.0.0 標(biāo)準(zhǔn)ACL抓所有主C類路由:access-list 30 permit 192.0.0.0.0 31.255.255.0 標(biāo)準(zhǔn)ACL抓主B路由中掩碼為24的,且第一段為偶數(shù),第二段為奇數(shù),第三段為偶數(shù)的路由:access-list 40 permit 128.1.0.0 62.254.254.0
access-list 100 permit ip 0.0.0.0 127.0.0.0 255.0.0.0(host)255.0.0.0
access-list 110 peimit ip 128.0.0.0 63.255.255.0 255.255.0.0 0.0.0.0
access-list 120 permit ip 192.0.0.0.0 31.255.255.0 255.255.255.0 注:標(biāo)準(zhǔn)ACL只能抓取特定前綴,對于2.2.2.0/24,2.2.2.0/25,2.2.2.0/26來說,只能抓到前綴2.2.2.0,抓不到掩碼,因此,要么全部放行,要么全部拒絕。 前綴列表Prefix List:用來抓取路由,前綴列表更加精確,可以同時抓取路由前綴和掩碼;需要注意的是,反碼表示的是多個前綴,而不是掩碼;GE是大于等于,LE是小于等于;分發(fā)列表和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的條目。
ip prefix-list 20 seq 30 permit 0.0.0.0/1 GE 8 LE 8
ip prefix-list 20 seq 40 permit 128.0.0.0/2 GE 16 LE 16
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 分發(fā)列表distribute-list;實現(xiàn)控制層面上的路由條目過濾,通過調(diào)用ACL或前綴列表使用;在距離矢量協(xié)議(RIP和EIGRP)中,使用分發(fā)列表可以基于入站和出站兩個方向做路由過濾;在鏈路狀態(tài)協(xié)議(OSPF)中,只能做入向,不能做出向;原因在于鏈路狀態(tài)協(xié)議發(fā)送的是LSA不是路由條目,分發(fā)列表不能基于ACL或前綴列表抓取LSA,但是可以在入站方向調(diào)用分發(fā)列表進(jìn)行本地抑制,但不能限制LSA的傳遞,因此只對本地路由器進(jìn)行抑制。 (config)#access-list 15 permit 192.168.1.0 0.0.0.0 (config-router)#distribute-list 15 out ospf 110 將ospf 110進(jìn)程中的路由重分發(fā)至eigrp中時,調(diào)用acl 15匹配,匹配成功的才能加入EIGRP中;這種方式對于重分發(fā)是最佳的。 Distribute-list gateway 10(前綴列表)in/out G0/0 過濾鄰居發(fā)過來的路由。 Distribute-list 10(前綴列表)in/out ospf 1 基于協(xié)議進(jìn)行路由過濾。 偏移列表offer-list:結(jié)合ACL在入站和出站時增大(只能改大不能改?。┩ㄟ^EIGRP、RIP獲取的路由度量值。 -只能在距離矢量協(xié)議中使用: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指的是控制層面路由流向而分?jǐn)?shù)據(jù)層面流向;ACL編號為0時代表將學(xué)到的全部路由條目的度量值修改; 泄露列表leak-map:用來在向別人發(fā)送匯總路由時泄漏一條或多條明細(xì)路由;同時也可以用在EIGRP的stub路由器向外通告的路由上,進(jìn)行適當(dāng)?shù)目刂啤?/p> 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)接口調(diào)用:ip summary-address eigrp 100 100.1.0.0 255.255.248.0 leak-map cisco Filter-list: 1、執(zhí)行BGP路由策略,可利用filter-list,結(jié)合bgp的正則表達(dá)式、as_path屬性,讓BGP路由器允許或拒絕BGP路由更新。 2、在OSPF中,利用filter-list針對在ABR上把lsa 1/lsa 2匯總成lsa 3的過程當(dāng)中進(jìn)行過濾。 路由映射表Route Map:用于路由的再發(fā)布和策略路由,還經(jīng)常使用在BGP中修改路由屬性;route-map這個工具很重要,且使用范圍非常廣泛。 1. 重分發(fā)期間進(jìn)行路由過濾或執(zhí)行策略--控制層面 2. 網(wǎng)絡(luò)地址轉(zhuǎn)換NAT--控制層面 3. BGP中的策略部署--控制層面 4. 策略路由PBR以及流量工程MPL TE(運營商環(huán)境中)--數(shù)據(jù)層面 注:策略路由實際上是復(fù)雜的靜態(tài)路由,靜態(tài)路由是基于數(shù)據(jù)包的目標(biāo)地址并轉(zhuǎn)發(fā)到指定的下一跳路由器;策略路由還利用ACL和prefix-list,以便提供更多功能的過濾和分類。 Route-map定義規(guī)則: 在每一個序列中,可定義供策略部署的兩個元素:匹配條件(match語句)和執(zhí)行動作(set語句);你也可以定義多個條件,在同一行match中,若使用多條ACL或者prefix-list,則是或的關(guān)系,只要有一條匹配,即該match匹配;當(dāng)條件被匹配時,就會去執(zhí)行set指定的相關(guān)動作(set語句并非必須,若route-map僅用于匹配感興趣流量,則不需要set語句);route-map被調(diào)用后,匹配動作將會從最小的序列號開始執(zhí)行,如果該序列號中的條件都被匹配了,則執(zhí)行set命令,若條件不匹配,則切換到下一個序列號繼續(xù)進(jìn)行匹配動作。 1、一個route map永遠(yuǎn)會擁有一個隱藏的空Entry。沒有Match,相當(dāng)于Match Any;沒有Set,相當(dāng)于Set Nothing。并且,該Entry執(zhí)行的策略是Deny。 2、在編寫語句的時候我們不寫編號則編號默認(rèn)為10;當(dāng)我們之前沒寫編號的語句,之后我們有寫了編號為10的語句則覆蓋之前的語句。 3、在編寫語句的時候我們不寫deny或permit;則默認(rèn)為permit 4、如果一條語句沒有match則意味著匹配所有條目 route-map配置步驟: 1、 全局配置命令創(chuàng)建一個route-map (config-router)#route-map test permit/deny 10 2、定義匹配條件,抓路由 match ip address/premix-list匹配訪問列表或前綴列表(支持標(biāo)準(zhǔn)和擴展ACL) match length根據(jù)分組的第三層長度進(jìn)行匹配 match interface匹配下一跳出接口為指定接口之一的路由 match ip next-hop匹配下一跳地址為特定訪問列表中被允許的那些路由 match metric匹配具有指定度量值的路由 match route-type匹配指定類型的路由 match tag根據(jù)路由的標(biāo)記進(jìn)行匹配 3、定義set動作,修改對應(yīng)的屬性 set metric設(shè)置路由協(xié)議的度量值 set metric-type設(shè)置目標(biāo)路由協(xié)議的度量值類型 set default interface指定如何發(fā)送這樣的分組 set interface指定如何發(fā)送這樣的分組 set ip next-hop指定轉(zhuǎn)發(fā)的下一跳 set next-hop指定下一跳的地址,指定BGP的下一跳 Set tag 修改路由標(biāo)記值 4、調(diào)用route-map redistribute eigrp 90 subnets route-map test Route Map在重分發(fā)中的應(yīng)用 要求:將RIP重分發(fā)進(jìn)OSPF,在R1上進(jìn)行路由過濾;放行1.1.1.0/24,并將Metric-Type設(shè)置為O E1;放行3.3.3.0/24,并將Seed Metric設(shè)置為10;過濾掉13.1.1.0/24 部署過程:1.設(shè)置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.設(shè)置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.重分發(fā)時應(yīng)用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可以調(diào)用標(biāo)準(zhǔn)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 |
|