BGP管理距離和后門(mén)路由、條件注入及屬性
一)、管理距離和后門(mén)路由
distancebgpexternalinternallocal修改EBGPIBGPlocalbgp的AD從而對(duì)選路產(chǎn)生影響;
在兩個(gè)AS間可以存在一條單獨(dú)鏈路交換相互間的數(shù)據(jù)量,但并不通告給其他AS,此時(shí)對(duì)于這條鏈路兩端路由器可以加入network192.1.12.2backdoor即可,稱為"后門(mén)路由":backdoor屬性是使router優(yōu)選從IGP學(xué)過(guò)來(lái)的路由而不是優(yōu)選從IBGP鄰居學(xué)過(guò)來(lái)的路由,因?yàn)槿笔∏闆r下EBGP鄰居的AD為20,會(huì)始終優(yōu)先選擇,而不會(huì)選擇其他AD的IGP路由協(xié)議傳過(guò)來(lái)的路由。
后門(mén)路由用于一些特殊的情況將IGP路由的優(yōu)先級(jí)調(diào)高于EBGP,下面看一種比較特殊的情況
例如如上拓?fù)浣Y(jié)構(gòu),BB2中的199.172.0.0網(wǎng)段,通過(guò)重分布進(jìn)入OSPF路由。在R5和R3上將會(huì)學(xué)到來(lái)自R4的IGP路由,同時(shí)R5做為R4的IBGP鄰居將會(huì)學(xué)到一條IBGP的路由,由于IBGP路由管理距離大,在R5上對(duì)于選路沒(méi)有影響,但對(duì)于R3而言,它將學(xué)到一條來(lái)自R5的EBGP路由,同時(shí)收到R4的IGP路由,此時(shí),R3將把199.172.0.0的下一跳定義為R5,此時(shí)就產(chǎn)生了環(huán)路了。解決此問(wèn)題的方法就是在R5和R3上的neighbor后掛接backdoor參數(shù):neiip-addressbackdoor
產(chǎn)生這種現(xiàn)象的原因無(wú)非是BGP學(xué)習(xí)條目時(shí)候next-hop屬性,默認(rèn)的下一跳規(guī)則如下,自己產(chǎn)生的路由的下一跳為0.0.0.0,收到來(lái)自EBGP路由將下一跳改為EBGP對(duì)端的IP,對(duì)IBGP通告時(shí)不修改下一跳的值。但是可以通過(guò)next-hop-self修改此規(guī)則,將對(duì)IBGP也通告下一跳地址為自己。另可以采用next-hop-unchanged,防止收到EBGP路由后,修改下一跳的值,例如如上環(huán)路問(wèn)題,也可通過(guò)在R5和R4上宣告Next-hop-unchanged來(lái)解決對(duì)于下一跳屬性,還可以使用route-map來(lái)更改。
二)、條件路由注入
Bgpinject-maproutemap-nameexist-maproutemap-name[copy-attributes]
對(duì)于如上的拓?fù)浣Y(jié)構(gòu),AS100遵循***出口原則,即172.16.1.0走R2->R4172.16.2.0走R3->R5
有如下配置方法:
1.MED,在AS200上設(shè)置MED,使AS100識(shí)別
2.AS-PathPrepend,R4通告給R2的2.0路由,加長(zhǎng)AS-path,同理R5
3.使用條件路由注入
首先左邊as300,有更為細(xì)化的172.16.1.0/24的路由
那么,在as100內(nèi)收到172.16.0.0/16的路由,正常可能不是走r2-4的***路徑,可能是從r3-5ebgp走的
那么條件路由注入(bgpinject-maproute-mapnameexist-maproute-mapname)的含義就是:
當(dāng)r2bgp表中出現(xiàn)了172.16.0.0/16bgp路由,并且下一跳的路由更新源為192.168.24.4(r4)的時(shí)候,強(qiáng)行插入一個(gè)172.16.1.0/24的更為細(xì)化的bgp路由進(jìn)入你的as100IBGP
這樣,你的r1的ibgp路由選擇就會(huì)發(fā)生變化,他會(huì)從r2r3同時(shí)受到172.16.0.0/16和172.16.1.0/24,但是根據(jù)路由的最長(zhǎng)匹配原則,他會(huì)選擇r2宣告的172.16.1.0/24去往as300。配置如下:
R2:
routerbgp100
bgpinject-mapAS200-specificexist-mapAS200-aggregate/*調(diào)用路由圖
neighbor192.168.12.1remot-as100
nei192.168.12.1send-community
nei192.168.23.3remot-as100
nei192.168.23.3send-community
nei192.168.24.4remot-as200
nei192.168.24.4send-community
ipbgp-communitynex-format/*支持BGP新的團(tuán)體屬性格式
ipprefix-listAS200-R4permit192.168.24.4/32/*做路由器接口地址的前綴列表
ippreAggregatepre172.16.0.0/16/*做類的匯總條目的前綴列表
ippreSpecificper172.16.1.0/24/*做明細(xì)條目的前綴列表
route-mapAS200-specficper10/*做路由圖AS200-specfic并匹配所有
setipaddpreSpecific/*設(shè)置ip地址為Specific的前綴條目
setcommunity100:200no-export/*設(shè)置團(tuán)體屬性為no-export(不宣告給下一跳as以外的其他as)
route-mapAS200-aggregateper10/*做路由圖AS200-aggregate
matipaddpreAggregate/*匹配Aggregate前綴的路由條目
matiproute-sourceAS200-R4/*匹配路由源是AS200-R4的鄰居學(xué)到的路由條目
總體調(diào)用過(guò)程理解為:匹配第二個(gè)路由圖所匹配的條目(172.16.0.0/16和192.168.24.4/32),將其設(shè)置成***個(gè)路由圖的屬性(172.16.1.0/24并且no-export)
達(dá)到的效果就是:當(dāng)r2bgp表中出現(xiàn)了172.16.0.0/16bgp路由,并且下一跳的路由更新源為192.168.24.4(r4)的時(shí)候,強(qiáng)行插入一個(gè)172.16.1.0/24的更為細(xì)化的bgp路由進(jìn)入你的as100IBGP
這樣,你的r1的ibgp路由選擇就會(huì)發(fā)生變化,他會(huì)從r2r3同時(shí)受到172.16.0.0/16和172.16.1.0/24,但是根據(jù)路由的最長(zhǎng)匹配原則,他會(huì)選擇r2宣告的172.16.1.0/24去往as300
關(guān)于試驗(yàn),偶沒(méi)做出來(lái)效果,網(wǎng)絡(luò)搜索也沒(méi)查證到相關(guān)試驗(yàn)資料,有高手路過(guò)看到跪求指點(diǎn)。
三)、local_as屬性:
如果AS8的路由器Day將進(jìn)行遷移,假設(shè)為Day和Night合并為AS9,而不修改AS141~AS143的路由器(他們依舊認(rèn)為Day屬于AS8),這種遷移需要加入一個(gè)loca-as參數(shù),即將Day的BGP進(jìn)程改為9后,對(duì)指向的鄰居做如下修改:neighbor192.1.12.2remot-as200
neighbor192.1.12.2local-as8
但是8上的AS-Path將會(huì)為89…..在做As_path過(guò)濾時(shí)需要添加這個(gè)local-as可以在local-as后加入no-prepend參數(shù)修改這個(gè)屬性。
R6--R2--R4連接,R6為BGP6,R2為BGP12,R4為BGP345,將R2遷移至BGP6內(nèi),以下配置:
R2(config)#norouterb12
R2(config)#routerb6
R2(config-router)#bro2.2.2.2
R2(config-router)#noau
R2(config-router)#nosy
R2(config-router)#nei192.1.24.4remot345
R2(config-router)#nei192.1.26.6remot6
*Mar102:25:01.939:%BGP-3-NOTIFICATION:receivedfromneighbor192.1.24.42/2(peerinwrongAS)2bytes0006
R2(config-router)#nei192.1.24.4local-as?
<1-65535>ASnumberusedaslocalAS
<cr>
R2(config-router)#nei192.1.24.4local-as12
查看BGP鄰居建立情況:
R2#showipbsu
NeighborVASMsgRcvdMsgSentTblVerInQOutQUp/DownState/PfxRcd
1.1.1.141200000neverIdle
192.1.24.443458710000:02:140
192.1.26.64688000neverActive
可以發(fā)現(xiàn),沒(méi)有配置nei192.1.24.4local-as12前,R4上關(guān)于R2的鄰居關(guān)系還是BGP12的EBGP鄰居,但是R2已經(jīng)改變了BGP的AS號(hào),所以鄰居關(guān)系報(bào)錯(cuò),(peerinwrongAS)
配置nei192.1.24.4local-as12之后,R2就成功的過(guò)渡到AS6內(nèi),在AS6內(nèi)成功的與R4建立鄰居關(guān)系。
【編輯推薦】