實驗拓?fù)浼罢f明
設(shè)備編號及互聯(lián)線路如圖所示;所有設(shè)備的互聯(lián)地址段采用10.1.xy.0/24,其中xy為設(shè)備編號,x為編號較小的設(shè)備,y為編號較大的設(shè)備。例如R2及R3之間的直連鏈路,網(wǎng)段為10.1.23.0/24,這條鏈路上R2的接口IP地址為10.1.23.2/24,R3的接口IP地址為10.1.23.3/24。所有設(shè)備配置loopback0接口,ip地址為x.x.x.x/32,其中x為設(shè)備編號;
實驗需求一(完成基礎(chǔ)配置)
BGP鄰居關(guān)系如圖所示;除了圖中標(biāo)記的BGP鄰居關(guān)系外不得建立其他的BGP連接。
R1、R2、R3、R4運行OSPF,注意OSPF域的范圍;四臺路由器都將自己的Loopback0口宣告進(jìn)OSPF,AS之間的鏈路不宣告進(jìn)OSPF。
eBGP鄰居關(guān)系采用直連接口建立;iBGP鄰居關(guān)系采用loopback0口建立;
在R5上開設(shè)Loopback1至Loopback4,IP地址分別為100.1.1.0/24、100.2.2.0/24、200.1.1.0/24、200.2.2.0/24。
R1的配置如下:
[R1]interfaceGigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]ipaddress10.1.15.1255.255.255.0
[R1]interfaceGigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]ipaddress10.1.12.1255.255.255.0
[R1]interfaceGigabitEthernet0/0/2
[R1-GigabitEthernet0/0/2]ipaddress10.1.14.1255.255.255.0
[R1]interfaceLoopBack0
[R1-LoopBack0]ipaddress1.1.1.1255.255.255.255
[R1]ospf1router-id1.1.1.1
[R1-ospf-1]area0.0.0.0
[R1-ospf-1-0.0.0.0]network1.1.1.10.0.0.0
[R1-ospf-1-0.0.0.0]network10.1.12.10.0.0.0
[R1-ospf-1-0.0.0.0]network10.1.14.10.0.0.0
[R1]bgp200
[R1-bgp]router-id1.1.1.1
[R1-bgp]peer2.2.2.2as-number200
[R1-bgp]peer2.2.2.2connect-interfaceLoopBack0
[R1-bgp]peer2.2.2.2next-hop-local
[R1-bgp]peer4.4.4.4as-number200
[R1-bgp]peer4.4.4.4connect-interfaceLoopBack0
[R1-bgp]peer4.4.4.4next-hop-local
[R1-bgp]peer10.1.15.5as-number100
R2的配置如下:
[R2]interfaceGigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0]ipaddress10.1.12.2255.255.255.0
[R2]interfaceGigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]ipaddress10.1.23.2255.255.255.0
[R2]interfaceGigabitEthernet0/0/2
[R2-GigabitEthernet0/0/2]ipaddress10.1.26.2255.255.255.0
[R2]interfaceLoopBack0
[R2-LoopBack0]ipaddress2.2.2.2255.255.255.255
[R2]ospf1router-id2.2.2.2
[R2-ospf-1]area0.0.0.0
[R2-ospf-1-0.0.0.0]network2.2.2.20.0.0.0
[R2-ospf-1-0.0.0.0]network10.1.12.20.0.0.0
[R2-ospf-1-0.0.0.0]network10.1.23.20.0.0.0
[R2]bgp200
[R2-bgp]router-id2.2.2.2
[R2-bgp]peer1.1.1.1as-number200
[R2-bgp]peer1.1.1.1connect-interfaceLoopBack0
[R2-bgp]peer3.3.3.3as-number200
[R2-bgp]peer3.3.3.3connect-interfaceLoopBack0
[R2-bgp]peer10.1.26.6as-number300
R3的配置如下:
[R3]interfaceGigabitEthernet0/0/0
[R3-GigabitEthernet0/0/0]ipaddress10.1.35.3255.255.255.0
[R3]interfaceGigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]ipaddress10.1.34.3255.255.255.0
[R3]interfaceGigabitEthernet0/0/2
[R3-GigabitEthernet0/0/2]ipaddress10.1.23.3255.255.255.0
[R3]interfaceLoopBack0
[R3-GigabitEthernet0/0/0]ipaddress3.3.3.3255.255.255.255
[R3]ospf1router-id3.3.3.3
[R3-ospf-1]area0.0.0.0
[R3-ospf-1-0.0.0.0]network3.3.3.30.0.0.0
[R3-ospf-1-0.0.0.0]network10.1.23.30.0.0.0
[R3-ospf-1-0.0.0.0]network10.1.34.30.0.0.0
[R3]bgp200
[R3-bgp]router-id3.3.3.3
[R3-bgp]peer2.2.2.2as-number200
[R3-bgp]peer2.2.2.2connect-interfaceLoopBack0
[R3-bgp]peer2.2.2.2next-hop-local
[R3-bgp]peer4.4.4.4as-number200
[R3-bgp]peer4.4.4.4connect-interfaceLoopBack0
[R3-bgp]peer4.4.4.4next-hop-local
[R3-bgp]peer10.1.35.5as-number100
R4的配置如下:
[R4]interfaceGigabitEthernet0/0/0
[R4-GigabitEthernet0/0/0]ipaddress10.1.34.4255.255.255.0
[R4]interfaceGigabitEthernet0/0/1
[R4-GigabitEthernet0/0/1]ipaddress10.1.14.4255.255.255.0
[R4]interfaceGigabitEthernet0/0/2
[R4-GigabitEthernet0/0/2]ipaddress10.1.46.4255.255.255.0
[R4]interfaceLoopBack0
[R4-LoopBack0]ipaddress4.4.4.4255.255.255.255
[R4]ospf1router-id4.4.4.4
[R4-ospf-1]area0.0.0.0
[R4-ospf-1-0.0.0.0]network4.4.4.40.0.0.0
[R4-ospf-1-0.0.0.0]network10.1.14.40.0.0.0
[R4-ospf-1-0.0.0.0]network10.1.34.40.0.0.0
[R4]bgp200
[R4-bgp]router-id4.4.4.4
[R4-bgp]peer1.1.1.1as-number200
[R4-bgp]peer1.1.1.1connect-interfaceLoopBack0
[R4-bgp]peer3.3.3.3as-number200
[R4-bgp]peer3.3.3.3connect-interfaceLoopBack0
[R4-bgp]peer10.1.46.6as-number300
R5的配置如下:
[R5]interfaceGigabitEthernet0/0/0
[R5-GigabitEthernet0/0/0]ipaddress10.1.15.5255.255.255.0
[R5]interfaceGigabitEthernet0/0/1
[R5-GigabitEthernet0/0/1]ipaddress10.1.35.5255.255.255.0
[R5]interfaceLoopBack0
[R5-LoopBack0]ipaddress5.5.5.5255.255.255.255
[R5]interfaceLoopBack1
[R5-LoopBack1]ipaddress100.1.1.1255.255.255.0
[R5]interfaceLoopBack2
[R5-LoopBack2]ipaddress100.2.2.2255.255.255.0
[R5]interfaceLoopBack3
[R5-LoopBack3]ipaddress200.1.1.1255.255.255.0
[R5]interfaceLoopBack4
[R5-LoopBack4]ipaddress200.2.2.2255.255.255.0
[R5]bgp100
[R5-bgp]router-id5.5.5.5
[R5-bgp]peer10.1.15.1as-number200
[R5-bgp]peer10.1.35.3as-number200
[R5-bgp]network100.1.1.024
[R5-bgp]network100.2.2.024
[R5-bgp]network200.1.1.024
[R5-bgp]network200.2.2.024
R6的配置如下:
[R6]interfaceGigabitEthernet0/0/0
[R6-GigabitEthernet0/0/0]ipaddress10.1.26.6255.255.255.0
[R6]interfaceGigabitEthernet0/0/1
[R6-GigabitEthernet0/0/1]ipaddress10.1.46.6255.255.255.0
[R6]interfaceLoopBack0
[R6-LoopBack0]ipaddress6.6.6.6255.255.255.255
[R6]bgp300
[R6-bgp]router-id6.6.6.6
[R6-bgp]peer10.1.26.2as-number200
[R6-bgp]peer10.1.46.4as-number200
在R1上查看BGP鄰居關(guān)系:
[R1]displaybgppeer
BGPlocalrouterID:1.1.1.1
LocalASnumber:200
Totalnumberofpeers:3Peersinestablishedstate:3
PeerVASMsgRcvdMsgSentOutQUp/DownStatePrefRcv
2.2.2.24200101200044Established0
4.4.4.442006800028Established0
10.1.15.541007600050Established4
其他路由器的BGP鄰居請做相應(yīng)查看,確保所有的BGP鄰居關(guān)系都正確的建立。
實驗需求二
- R1訪問100網(wǎng)段及200網(wǎng)段的流量直接送到R5,當(dāng)R1與R5之間的鏈路發(fā)生故障時,R1訪問這兩個子網(wǎng)的流量自動切換到R2-R3-R5。當(dāng)R1與R5及R2之間的鏈路均發(fā)生故障時,R1訪問這兩個子網(wǎng)的流量自動切換到R4-R3-R5。
- R3訪問100網(wǎng)段及200網(wǎng)段的流量直接送到R5,當(dāng)R3與R5之間的鏈路發(fā)生故障時,R3訪問這兩個子網(wǎng)的流量自動切換到R4-R1-R5。當(dāng)R3與R5及R4之間的鏈路均發(fā)生故障時,R1訪問這兩個子網(wǎng)的流量自動切換到R2-R1-R5。
- R2訪問100網(wǎng)段的流量優(yōu)先走R1,當(dāng)R1發(fā)生故障,或者R1-R2之間的互聯(lián)線路DOWN掉時,流量切換到R3。
- R2訪問200網(wǎng)段的流量優(yōu)先走R3,當(dāng)R3發(fā)生故障,或者R3-R2之間的互聯(lián)線路DOWN掉時,流量切換到R1。
- R4訪問100網(wǎng)段的流量優(yōu)先走R1,當(dāng)R1發(fā)生故障,或者R1-R4之間的互聯(lián)線路DOWN掉時,流量切換到R3。
- R4訪問200網(wǎng)段的流量優(yōu)先走R3,當(dāng)R3發(fā)生故障,或者R3-R4之間的互聯(lián)線路DOWN掉時,流量切換到R1。
- 注意,實驗過程中只需滿足以上需求即可,無需考慮往返路徑一致或者ping通的問題。
實際上滿足上述需求的方法有很多,畢竟BGP的路徑屬性非常豐富,路由策略工具也很多。這里我們考慮在R5上部署策略,采用MED屬性來操控路由,如此一來MED值除了影響R1、R3的路由優(yōu)選,還將進(jìn)一步的影響路由在AS200內(nèi)的優(yōu)選,大體思路如下:
R5的配置新增如下:
#寫兩個IP前綴列表,分別匹配100及200路由:
[R5]ipip-prefix1index10permit100.1.1.024
[R5]ipip-prefix1index20permit100.2.2.024
[R5]ipip-prefix2index10permit200.1.1.024
[R5]ipip-prefix2index20permit200.2.2.024
#寫兩個route-policy,分別對100及200的路由設(shè)置MED屬性值:
[R5]route-policytoR1permitnode10
[R5-route-policy]if-matchip-prefix1
[R5-route-policy]applycost100
[R5]route-policytoR1permitnode20
[R5-route-policy]if-matchip-prefix2
[R5-route-policy]applycost200
[R5]route-policytoR3permitnode10
[R5-route-policy]if-matchip-prefix1
[R5-route-policy]applycost200
[R5]route-policytoR3permitnode20
[R5-route-policy]if-matchip-prefix2
[R5-route-policy]applycost100
#在BGP配置視圖下,將路由策略應(yīng)用在R1及R3的出站方向:
[R5]bgp100
[R5-bgp]peer10.1.15.1route-policytoR1export
[R5-bgp]peer10.1.35.3route-policytoR3export
完成上述配置后在網(wǎng)絡(luò)正常情況下,R1、R3訪問100網(wǎng)段及200網(wǎng)段的流量已經(jīng)滿足需求,例如R1的BGP表如下:
displaybgprouting-table
BGPLocalrouterIDis1.1.1.1
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:4
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>100.1.1.0/2410.1.15.500100i
*>100.2.2.0/2410.1.15.500100i
*>200.1.1.010.1.15.500100i
*>200.2.2.010.1.15.500100i
R2及R4訪問100及200網(wǎng)絡(luò)也滿足需求,例如R2的BGP表:
displaybgprouting-table
BGPLocalrouterIDis2.2.2.2
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>i100.1.1.0/241.1.1.11001000100i
*i3.3.3.32001000100i
*>i100.2.2.0/241.1.1.11001000100i
*i3.3.3.32001000100i
*>i200.1.1.03.3.3.31001000100i
*i1.1.1.12001000100i
*>i200.2.2.03.3.3.31001000100i
*i1.1.1.12001000100i
但是R1與R5之間的連線一旦斷開,R1將丟失到達(dá)這兩個子網(wǎng)的路由,這是因為R2及R4不會將自己從R3學(xué)習(xí)到的路由再傳遞給R1 -- IBGP水平分割規(guī)則使然。R3同樣存在類似的問題。
解決的辦法是,在AS200內(nèi)構(gòu)建路由反射簇,將R2設(shè)置為RR,R1及R3是它的Client;將R4也設(shè)置為RR,R1及R3是它的Client。
R2的配置增加如下:
[R2]bgp200
[R2-bgp]peer1.1.1.1reflect-client
[R2-bgp]peer3.3.3.3reflect-client
R4的配置增如如下:
[R4]bgp200
[R4-bgp]peer1.1.1.1reflect-client
[R4-bgp]peer3.3.3.3reflect-client
完成上述配置后,R1及R3的選路似乎出現(xiàn)了點問題,拿R1來說,關(guān)于100網(wǎng)段的路由在其BGP表中自然只有一條路徑那就是來自R5的。但是200網(wǎng)段的兩路由,BGP表里卻各有三條路徑:
displaybgprouting-table
BGPLocalrouterIDis1.1.1.1
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>100.1.1.0/2410.1.15.51000100i
*>100.2.2.0/2410.1.15.51000100i
*>i200.1.1.03.3.3.31001000100i
*i3.3.3.31001000100i
*10.1.15.52000100i
*>i200.2.2.03.3.3.31001000100i
*i3.3.3.31001000100i
*10.1.15.52000100i
三條路徑其中一條是更新自R5,另外兩條分別更新自R2和R4(他們將自己從R3學(xué)習(xí)到的200路由反射給了R1):
而R1關(guān)于200.1.1.0/24及200.2.2.0/24最終優(yōu)選了來自R2的更新(這個更新實際上是R3將路由傳遞給R2,R2再更新給R1的)這個選路就不符合需求了,那么如何保證在網(wǎng)絡(luò)正常的情況下,R1關(guān)于100及200的路由都優(yōu)選來自R5的更新,當(dāng)R1丟失了與R5的連接,則優(yōu)選來自R2的更新呢?
這里可以利用preferred-value這個屬性,在R1及R3上部署。在R1上部署時,將R5傳遞過來的100及200路由的preferred-value設(shè)置為100。在R3上部署時,將R5傳遞過來的100及200路由的preferred-value設(shè)置為100。
R1的配置如下:
[R1]ipip-prefix1index10permit100.1.1.024
[R1]ipip-prefix1index20permit100.2.2.024
[R1]ipip-prefix2index10permit200.1.1.024
[R1]ipip-prefix2index20permit200.2.2.024
[R1]route-policyFor_R5permitnode10
[R1-route-policy]if-matchip-prefix1
[R1-route-policy]applypreferred-value100
[R1]route-policyFor_R5permitnode20
[R1-route-policy]if-matchip-prefix2
[R1-route-policy]applypreferred-value100
[R1]bgp200
[R1-route-policy]peer10.1.15.5route-policyFor_R5import
R3的配置如下:
[R3]ipip-prefix1index10permit100.1.1.024
[R3]ipip-prefix1index20permit100.2.2.024
[R3]ipip-prefix2index10permit200.1.1.024
[R3]ipip-prefix2index20permit200.2.2.024
[R3]route-policyFor_R5permitnode10
[R3-route-policy]if-matchip-prefix1
[R3-route-policy]applypreferred-value100
[R3]route-policyFor_R5permitnode20
[R3-route-policy]if-matchip-prefix2
[R3-route-policy]applypreferred-value100
[R3]bgp200
[R3-bgp]peer10.1.35.5route-policyFor_R5import
完成上述配置后,看一下R1的BGP表:
[R1]displaybgprouting-table
BGPLocalrouterIDis1.1.1.1
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrPrefValPath/Ogn
*>100.1.1.0/2410.1.15.5100100100i
*>100.2.2.0/2410.1.15.5100100100i
*>200.1.1.010.1.15.5200100100i
*i3.3.3.31001000100i
*i3.3.3.31001000100i
*>200.2.2.010.1.15.5200100100i
*i3.3.3.31001000100i
*i3.3.3.31001000100i
200的路由R1優(yōu)選了來自R5的更新。同樣的,R3也會優(yōu)選來自R5的更新。
現(xiàn)在切斷R1與R5之間的連線:
R1的BGP表變成了這樣:
[R1]displaybgprouting-table
BGPLocalrouterIDis1.1.1.1
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>i100.1.1.0/243.3.3.32001000100i
*i3.3.3.32001000100i
*>i100.2.2.0/243.3.3.32001000100i
*i3.3.3.32001000100i
*>i200.1.1.03.3.3.31001000100i
*i3.3.3.31001000100i
*>i200.2.2.03.3.3.31001000100i
*i3.3.3.31001000100i
R1上100及200的路由各有2條路徑,R1會優(yōu)選來自R2的BGP路由更新,這是因為R2的peeraddress要更小。雖然如此,但實際上R1去往目標(biāo)網(wǎng)段的流量是在R2和R4上進(jìn)行負(fù)載分擔(dān)的,這是因為BGP路由的下一跳是3.3.3.3,而R1的3.3.3.3路由通過OSPF從R2及R4都可達(dá)并且是等代價的路徑,所以這與我們的需求就不符了,需求是要讓流量走R2,只當(dāng)R2也掛掉的時候才走R4。
[R1]displayiprouting-tableprotocolbgp
RouteFlags:R-relay,D-downloadtofib
------------------------------------------------------------------------------
Publicroutingtable:BGP
Destinations:4Routes:4
BGProutingtablestatus:
Destinations:4Routes:4
Destination/MaskProtoPreCostFlagsNextHopInterface
100.1.1.0/24IBGP255200RD3.3.3.3GigabitEthernet0/0/1
IBGP255200RD3.3.3.3GigabitEthernet0/0/2
100.2.2.0/24IBGP255200RD3.3.3.3GigabitEthernet0/0/1
IBGP255200RD3.3.3.3GigabitEthernet0/0/2
200.1.1.0/24IBGP255100RD3.3.3.3GigabitEthernet0/0/1
IBGP255100RD3.3.3.3GigabitEthernet0/0/2
200.2.2.0/24IBGP255100RD3.3.3.3GigabitEthernet0/0/1
IBGP255100RD3.3.3.3GigabitEthernet0/0/2
BGProutingtablestatus:
Destinations:0Routes:0
如何解決這個問題呢?很簡單,將如下圖所示的接口的OSPF COST值調(diào)大即可:
R1:
[R1]interfaceGigabitEthernet0/0/2
[R1-GigabitEthernet0/0/2]ospfcost999
R3:
[R3]interfaceGigabitEthernet0/0/2
[R3-GigabitEthernet0/0/2]ospfcost999
這么一來,對于R1而言(R3也是類似的道理),在R1-R5之間線路DOWN掉時,其關(guān)于100及200的路由將優(yōu)選來自R2的路由更新,并且數(shù)據(jù)轉(zhuǎn)發(fā)時將始終使用R2-R3-R5這條路徑。
[R1]displayiprouting-tableprotocolbgp
RouteFlags:R-relay,D-downloadtofib
------------------------------------------------------------------------------
Publicroutingtable:BGP
Destinations:4Routes:4
BGProutingtablestatus:
Destinations:4Routes:4
Destination/MaskProtoPreCostFlagsNextHopInterface
100.1.1.0/24IBGP255200RD3.3.3.3GigabitEthernet0/0/1
100.2.2.0/24IBGP255200RD3.3.3.3GigabitEthernet0/0/1
200.1.1.0/24IBGP255100RD3.3.3.3GigabitEthernet0/0/1
200.2.2.0/24IBGP255100RD3.3.3.3GigabitEthernet0/0/1
BGProutingtablestatus:
Destinations:0Routes:0
實驗需求三
在完成上述配置后,要求在R6上部署策略,使得R6去往100網(wǎng)段主走R2,R4為備份路徑;去往200網(wǎng)段主走R4,R2為備份路徑。
在完成上述配置后R2及R4都會向R6通告100及200的路由,并且路由的MED值均為空,也就是說,R5在發(fā)布路由時通過策略為路由攜帶的MED屬性值不會隨著路由傳遞給AS300。
對于這四條目標(biāo)路由,R6均優(yōu)選自R2的更新,這是因為R2的RouterID比R5要小,通過如下的輸出可以驗證:
displaybgprouting-table100.1.1.0
BGPlocalrouterID:6.6.6.6
LocalASnumber:300
Paths:2available,1best,1select
BGProutingtableentryinformationof100.1.1.0/24:
From:10.1.26.2(2.2.2.2)
RouteDuration:00h17m37s
DirectOut-interface:GigabitEthernet0/0/0
Originalnexthop:10.1.26.2
Qosinformation:0x0
AS-path200100,originigp,pref-val0,valid,external,best,select,active,
pre255
Advertisedtosuch2peers:
10.1.26.2
10.1.46.4
BGProutingtableentryinformationof100.1.1.0/24:
From:10.1.46.4(4.4.4.4)
RouteDuration:00h17m37s
DirectOut-interface:GigabitEthernet0/0/1
Originalnexthop:10.1.46.4
Qosinformation:0x0
AS-path200100,originigp,pref-val0,valid,external,pre255,notpreferred
forrouterID
Notadvertisedtoanypeeryet
現(xiàn)在我們在R6上部署策略來滿足需求,方法有不少,這里我們使用Local_preference屬性。
[R6]ipip-prefix1index10permit100.1.1.024
[R6]ipip-prefix1index20permit100.2.2.024
[R6]ipip-prefix2index10permit200.1.1.024
[R6]ipip-prefix2index20permit200.2.2.024
[R6]route-policyFor_R2permitnode10
[R6-route-policy]if-matchip-prefix1
[R6-route-policy]applylocal-preference200
[R6]route-policyFor_R2permitnode20
[R6-route-policy]if-matchip-prefix2
[R6-route-policy]applylocal-preference100
[R6]route-policyFor_R4permitnode10
[R6-route-policy]if-matchip-prefix1
[R6-route-policy]applylocal-preference100
[R6]route-policyFor_R4permitnode20
[R6-route-policy]if-matchip-prefix2
[R6-route-policy]applylocal-preference200
[R6]bgp300
[R6]peer10.1.26.2route-policyFor_R2import
[R6]peer10.1.46.4route-policyFor_R4import
[R6]displaybgprouting-table
BGPLocalrouterIDis6.6.6.6
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>100.1.1.0/2410.1.26.22000200100i
*10.1.46.41000200100i
*>100.2.2.0/2410.1.26.22000200100i
*10.1.46.41000200100i
*>200.1.1.010.1.46.42000200100i
*10.1.26.21000200100i
*>200.2.2.010.1.46.42000200100i
*10.1.26.21000200100i
從上面的輸出可以看出,關(guān)于100網(wǎng)段的兩條路由,R6優(yōu)選來自R2的更新;而200網(wǎng)段的兩條路由,R6優(yōu)選來自R4的更新。
實驗需求四
在上述需求的基礎(chǔ)上,AS200內(nèi)的R1上有部分直連網(wǎng)段需要發(fā)布出來以便R5能夠通過BGP學(xué)習(xí)到,新增一個Loopback接口,配置IP:11.11.11.11/32用于模擬直連網(wǎng)段(實際可能較多),通告進(jìn)BGP。但是R6也就學(xué)習(xí)到了這些路由,在R6上完成相應(yīng)的配置,使得它僅僅收到AS100的路由,對于始發(fā)于AS200的路由,R6將過濾掉。注意始發(fā)于AS200的路由多而雜,請在R6上采用適當(dāng)?shù)姆绞竭^濾掉這些路由。R1增補配置如下:
[R1]Interfaceloopback11
[R1-LoopBack11]Ipaddress11.11.11.1132
[R1]bgp200
[R1-bgp]network11.11.11.1132
[R6]displaybgprouting-table
BGPLocalrouterIDis6.6.6.6
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>11.11.11.11/3210.1.26.20200i
*10.1.46.40200i
*>100.1.1.0/2410.1.26.22000200100i
*10.1.46.41000200100i
*>100.2.2.0/2410.1.26.22000200100i
*10.1.46.41000200100i
*>200.1.1.010.1.46.42000200100i
*10.1.26.21000200100i
*>200.2.2.010.1.46.42000200100i
*10.1.26.21000200100i
R6已經(jīng)學(xué)習(xí)到AS200的路由11.11.11.11/32了。由于現(xiàn)在無法知道也不可能知道AS200內(nèi)路由的所有前綴,因此無法使用ACL或者前綴列表來抓取路由從而進(jìn)一步的過濾。實現(xiàn)這個需求最簡單的方法是采用基于AS_PATH的過濾,利用一個正則表達(dá)式來抓取200的AS號。
R6增加如下配置:
[R6]ipas-path-filternoAS200deny^200$#抓取AS200,deny所匹配的路由
[R6]ipas-path-filternoAS200permit.*#允許任意
[R6]bgp300
[R6-bgp]peer10.1.26.2as-path-filternoAS200import
[R6-bgp]peer10.1.46.4as-path-filternoAS200import
完成上述配置后,R6將過濾掉所有始發(fā)于AS200的路由。
實驗需求五
將實驗需求三、四中的相關(guān)配置刪除,將實驗場景還原到滿足需求二的情形。
現(xiàn)在要求通過在R2、R4上進(jìn)行相關(guān)配置,使得R6去往100網(wǎng)段的流量主走R2,R4為備份;去往200網(wǎng)段的流量主走R4,R2為備。要求在R2、R4上不使用route-policy對R6做出站方向的策略。
利用“最長匹配原則”,可以很好的實現(xiàn)數(shù)據(jù)分流。如下圖所示,在R2上部署路由匯總,將200網(wǎng)段的兩條路由匯總成200.0.0.0/8,加上100網(wǎng)段的明細(xì)路由一并更新給R6;在R4上部署路由匯總,將100網(wǎng)段的路由匯總成100.0.0.0/8,加上200網(wǎng)段的明細(xì)路由一并更新給R6。
這么一來,在網(wǎng)絡(luò)正常的情況下,R6去往100.1.1.0/24及100.2.2.0/24會走R2,當(dāng)R2發(fā)生故障時,由于還有一條R4發(fā)送過來的100.0.0.0/8匯總路由,因此流量能夠自動切換到R4。
R2的增補配置如下:
[R2]bgp200
[R2-bgp]aggregate200.0.0.08as-set
R4的增補配置如下:
[R4]bgp200
[R4-bgp]aggregate100.0.0.08as-set
注意,在R2及R4上部署路由匯總時,在這個場景中匯總命令不能加detail-suppressed而抑制明細(xì),這是因為如果這里增加了該關(guān)鍵字,R2及R4將只發(fā)布匯總路由,而抑制明細(xì),這會影響到前面的需求二。設(shè)想一下,如果R2的匯總命令中加了detail-suppressed關(guān)鍵字,那么R2將不再向R1及R3反射200網(wǎng)段的明細(xì)路由,在網(wǎng)絡(luò)發(fā)生故障時,R2將失去作為備份路徑的可能。
接下去,在R2上部署策略,將200網(wǎng)段的明細(xì)過濾掉不發(fā)給R6;在R4上部署策略,將100網(wǎng)段的明細(xì)過濾掉不發(fā)給R6:R2增補配置如下:
[R2]ipip-prefixtoR6index10deny200.0.0.08greater-equal24less-equal24
#上面這條前綴列表是匹配200開頭、掩碼是/24的路由
[R2]ipip-prefixtoR6index20permit0.0.0.00less-equal32
#上面這條前綴列表是匹配所有路由
[R2]bgp200
[R2-bgp]peer10.1.26.6ip-prefixtoR6export
R4增補配置如下:
[R4]ipip-prefixtoR6index10deny100.0.0.08greater-equal24less-equal24
[R4]ipip-prefixtoR6index20permit0.0.0.00less-equal32
[R4]bgp200
[R4-bgp]peer10.1.46.6ip-prefixtoR6export
displaybgprouting-table
BGPLocalrouterIDis6.6.6.6
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:6
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>100.0.0.010.1.46.40200100i
*>100.1.1.0/2410.1.26.20200100i
*>100.2.2.0/2410.1.26.20200100i
*>200.0.0.0/810.1.26.20200100i
*>200.1.1.010.1.46.40200100i
*>200.2.2.010.1.46.40200100i
需求滿足了,但是由于在R2、R4上部署了路由匯總,產(chǎn)生的匯總路由不僅傳遞給了R6,也傳遞給了R1及R3,而實際上,這兩條匯總路由R1及R3并不需要,因此還需過濾掉。同樣過濾的方法也很多。
R2的配置增補如下:
[R2]ipip-prefixnoAggregationindex10deny200.0.0.08
[R2]ipip-prefixnoAggregationindex20permit0.0.0.00less-equal32
[R2]bgp200
[R2-bgp]peer1.1.1.1ip-prefixnoAggregationexport
[R2-bgp]peer3.3.3.3ip-prefixnoAggregationexport
R4的配置增補如下:
[R4]ipip-prefixnoAggregationindex10deny100.0.0.08
[R4]ipip-prefixnoAggregationindex20permit0.0.0.00less-equal32
[R4-bgp]bgp200
[R4-bgp]peer1.1.1.1ip-prefixnoAggregationexport
[R4-bgp]peer3.3.3.3ip-prefixnoAggregationexport
實驗需求六
將實驗需求五中的相關(guān)配置及策略去除,再繼續(xù)下面的實驗。
100網(wǎng)段的路由是特殊的生產(chǎn)路由,從AS100通告給下游后,下游需要對這些路由進(jìn)一步的部署針對性的策略,因此在上游引入100網(wǎng)段路由時,打上100:100的Community屬性值,并確保R2及R4、R6能夠?qū)W習(xí)到攜帶了該Community屬性值的100網(wǎng)段路由。
R5的配置修改如下:
[R5]ipip-prefix1index10permit100.1.1.024(已有)
[R5]ipip-prefix1index20permit100.2.2.024
[R5]ipip-prefix2index10permit200.1.1.024
[R5]ipip-prefix2index20permit200.2.2.024
[R5]route-policysetCommupermitnode10
[R5-route-policy]applycommunity100:100
[R5]bgp100
[R5-bgp]router-id5.5.5.5
[R5-bgp]peer10.1.15.1as-number200
[R5-bgp]peer10.1.35.3as-number200
[R5-bgp]network100.1.1.0255.255.255.0route-policysetCommu
[R5-bgp]network100.2.2.0255.255.255.0route-policysetCommu
[R5-bgp]peer10.1.15.1advertise-community#務(wù)必配置該條命令
[R5-bgp]peer10.1.35.3advertise-community
R1的配置增補如下:
[R1]bgp200
[R1-bgp]peer2.2.2.2advertise-community
[R1-bgp]peer4.4.4.4advertise-community
R3的配置增補如下:
[R3]bgp200
[R3-bgp]peer2.2.2.2advertise-community
[R3-bgp]peer4.4.4.4advertise-community
R2的配置增補如下:
[R2]bgp200
[R2-bgp]peer10.1.26.6advertise-community
R4的配置增補如下:
[R4]bgp200
[R4-bgp]peer10.1.46.6advertise-community
Community屬性值必須執(zhí)行peer x.x.x.x advertise-community命令,否則默認(rèn)情況下在向鄰居發(fā)送路由時不攜帶Community,同時為了保證路由傳播途中Community屬性值不丟失,需要在沿途每一臺路由器上都執(zhí)行該命令。
在R2上驗證一下,看看路由100.1.1.0是否攜帶community屬性值:
[R2]displaybgprouting-table100.1.1.0
BGPlocalrouterID:2.2.2.2
LocalASnumber:200
Paths:2available,1best,1select
BGProutingtableentryinformationof100.1.1.0/24:
RR-clientroute.
From:1.1.1.1(1.1.1.1)
RouteDuration:00h09m18s
RelayIPNexthop:10.1.12.1
RelayIPOut-Interface:GigabitEthernet0/0/0
Originalnexthop:1.1.1.1
Qosinformation:0x0
Community:<100:100>
AS-path100,originigp,MED100,localpref100,pref-val0,valid,internal,be
st,select,active,pre255,IGPcost1
Advertisedtosuch3peers:
1.1.1.1
3.3.3.3
10.1.26.6
BGProutingtableentryinformationof100.1.1.0/24:
RR-clientroute.
From:3.3.3.3(3.3.3.3)
RouteDuration:00h08m33s
RelayIPNexthop:10.1.23.3
RelayIPOut-Interface:GigabitEthernet0/0/1
Originalnexthop:3.3.3.3
Qosinformation:0x0
Community:<100:100>
AS-path100,originigp,MED200,localpref100,pref-val0,valid,internal,pr
e255,IGPcost1,notpreferredforMED
Notadvertisedtoanypeeryet
在R6上驗證一下:
displaybgprouting-table100.1.1.0
BGPlocalrouterID:6.6.6.6
LocalASnumber:300
Paths:2available,1best,1select
BGProutingtableentryinformationof100.1.1.0/24:
From:10.1.26.2(2.2.2.2)
RouteDuration:00h00m35s
DirectOut-interface:GigabitEthernet0/0/0
Originalnexthop:10.1.26.2
Qosinformation:0x0
Community:<100:100>
AS-path200100,originigp,pref-val0,valid,external,best,select,active,
pre255
Advertisedtosuch2peers:
10.1.26.2
10.1.46.4
BGProutingtableentryinformationof100.1.1.0/24:
From:10.1.46.4(4.4.4.4)
RouteDuration:00h00m25s
DirectOut-interface:GigabitEthernet0/0/1
Originalnexthop:10.1.46.4
Qosinformation:0x0
Community:<100:100>
AS-path200100,originigp,pref-val0,valid,external,pre255,notpreferred
forrouterID
Notadvertisedtoanypeeryet
再考慮另一個問題,如果在上述基礎(chǔ)增加一個需求,當(dāng)AS200將100網(wǎng)段的這些路由更新AS300時,希望這些路由僅在AS300內(nèi)傳遞,不能傳出AS300。在R2及R4上定義一個community-filter列表,抓取community值為100:100的路由,然后編寫一個route-policy,為匹配這個community-filter列表的路由增加一個no-export的community屬性值,再對R6應(yīng)用這個route-policy即可。
R2的配置增補如下:
[R2]ipcommunity-filter1permit100:100
[R2]route-policysetCommupermitnode10
[R2-route-policy]if-matchcommunity-filter1
[R2-route-policy]applycommunityno-exportadditive
[R2-route-policy]route-policysetCommupermitnode20
[R2]bgp200
[R2-bgp]peer10.1.26.6route-policysetCommuexport
R4的配置增補如下:
[R4]ipcommunity-filter1permit100:100
[R4-route-policy]route-policysetCommupermitnode10
[R4-route-policy]if-matchcommunity-filter1
[R4-route-policy]applycommunityno-exportadditive
[R4-route-policy]route-policysetCommupermitnode20
[R4]bgp200
[R4-bgp]peer10.1.46.6route-policysetCommuexport
注意在上述的配置中,route-policy setCommu permit node 20并非無意義的命令,相反,這里如果不配置該條命令將導(dǎo)致R6上丟失200網(wǎng)段的路由。
displaybgprouting-table100.1.1.0
BGPlocalrouterID:6.6.6.6
LocalASnumber:300
Paths:2available,1best,1select
BGProutingtableentryinformationof100.1.1.0/24:
From:10.1.26.2(2.2.2.2)
RouteDuration:00h02m38s
DirectOut-interface:GigabitEthernet0/0/0
Originalnexthop:10.1.26.2
Qosinformation:0x0
Community:<100:100>,no-export
AS-path200100,originigp,pref-val0,valid,external,best,select,active,
pre255
Notadvertisedtoanypeeryet
BGProutingtableentryinformationof100.1.1.0/24:
From:10.1.46.4(4.4.4.4)
RouteDuration:00h00m42s
DirectOut-interface:GigabitEthernet0/0/1
Originalnexthop:10.1.46.4
Qosinformation:0x0
Community:<100:100>,no-export
AS-path200100,originigp,pref-val0,valid,external,pre255,notpreferred
forrouterID
Notadvertisedtoanypeeryet
實驗需求七
將實驗環(huán)境恢復(fù)一下,所有設(shè)備只保留接口IP等基礎(chǔ)配置。
R1及R3處于聯(lián)邦成員AS 65013;
R2、R4處于聯(lián)邦成員AS 65024;
AS200內(nèi)運行OSPF,所有路由器通告自己的Loopback0接口,聯(lián)邦的鄰居關(guān)系建立在Loopback0口上。
OSPF的配置在這里就不列舉了。最終確保R6能夠?qū)W習(xí)到100及200網(wǎng)段的路由。R1的配置如下:
[R1]bgp65013
[R1-bgp]router-id1.1.1.1
[R1-bgp]confederationid200
[R1-bgp]confederationpeer-as65024
[R1-bgp]peer10.1.15.5as-number100
[R1-bgp]peer2.2.2.2as-number65024
[R1-bgp]peer2.2.2.2connect-interfaceloopback0
[R1-bgp]peer2.2.2.2next-hop-local
[R1-bgp]peer2.2.2.2ebgp-max-hop
[R1-bgp]peer4.4.4.4as-number65024
[R1-bgp]peer4.4.4.4connect-interfaceloopback0
[R1-bgp]peer4.4.4.4ebgp-max-hop
[R1-bgp]peer4.4.4.4next-hop-local
R3的配置如下:
[R3]bgp65013
[R3-bgp]router-id3.3.3.3
[R3-bgp]confederationid200
[R3-bgp]confederationpeer-as65024
[R3-bgp]peer10.1.35.5as-number100
[R3-bgp]peer2.2.2.2as-number65024
[R3-bgp]peer2.2.2.2connect-interfaceloopback0
[R3-bgp]peer2.2.2.2ebgp-max-hop
[R3-bgp]peer2.2.2.2next-hop-local
[R3-bgp]peer4.4.4.4as-number65024
[R3-bgp]peer4.4.4.4connect-interfaceloopback0
[R3-bgp]peer4.4.4.4ebgp-max-hop
[R3-bgp]peer4.4.4.4next-hop-local
R2的配置如下:
[R2]bgp65024
[R2-bgp]router-id2.2.2.2
[R2-bgp]confederationid200
[R2-bgp]confederationpeer-as65013
[R2-bgp]peer1.1.1.1as-number65013
[R2-bgp]peer1.1.1.1connect-interfaceloopback0
[R2-bgp]peer1.1.1.1ebgp-max-hop
[R2-bgp]peer3.3.3.3as-number65013
[R2-bgp]peer3.3.3.3connect-interfaceloopback0
[R2-bgp]peer3.3.3.3ebgp-max-hop
[R2-bgp]peer10.1.26.6as-number300
R4的配置如下:
[R4]bgp65024
[R4-bgp]router-id4.4.4.4
[R4-bgp]confederationid200
[R4-bgp]confederationpeer-as65013
[R4-bgp]peer1.1.1.1as-number65013
[R4-bgp]peer1.1.1.1connect-interfaceloopback0
[R4-bgp]peer1.1.1.1ebgp-max-hop
[R4-bgp]peer3.3.3.3as-number65013
[R4-bgp]peer3.3.3.3connect-interfaceloopback0
[R4-bgp]peer3.3.3.3ebgp-max-hop
[R4-bgp]peer10.1.46.6as-number300
R5的配置如下:
[R5]bgp100
[R5-bgp]router-id5.5.5.5
[R5-bgp]peer10.1.15.1as-number200
[R5-bgp]peer10.1.35.3as-number200
[R5-bgp]network100.1.1.0255.255.255.0
[R5-bgp]network100.2.2.0255.255.255.0
[R5-bgp]network200.1.1.0255.255.255.0
[R5-bgp]network200.2.2.0255.255.255.0
R6的配置如下:
[R6]bgp300
[R6-bgp]router-id6.6.6.6
[R6-bgp]peer10.1.26.2as-number200
[R6-bgp]peer10.1.46.4as-number200
[R5]displaybgppeer
BGPlocalrouterID:5.5.5.5
LocalASnumber:100
Totalnumberofpeers:2Peersinestablishedstate:2
PeerVASMsgRcvdMsgSentOutQUp/DownStatePrefRcv
10.1.15.142003700022Established0
10.1.35.342003700022Established0
[R1]displaybgppeer
BGPlocalrouterID:1.1.1.1
LocalASnumber:65013
Totalnumberofpeers:3Peersinestablishedstate:3
PeerVASMsgRcvdMsgSentOutQUp/DownStatePrefRcv
2.2.2.24650246800005Established0
4.4.4.44650245700038Established0
10.1.15.541008500039Established4
觀察一下路由:
[R2]displaybgprouting-table
BGPLocalrouterIDis2.2.2.2
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>i100.1.1.0/241.1.1.101000(65013)100i
*i3.3.3.301000(65013)100i
*>i100.2.2.0/241.1.1.101000(65013)100i
*i3.3.3.301000(65013)100i
*>i200.1.1.01.1.1.101000(65013)100i
*i3.3.3.301000(65013)100i
*>i200.2.2.01.1.1.101000(65013)100i
*i3.3.3.301000(65013)100i
上面是R2的BGP表,關(guān)注一下AS_PATH屬性值,()括號內(nèi)的AS號為聯(lián)邦成員AS號。
[R6]displaybgprouting-table
BGPLocalrouterIDis6.6.6.6
Statuscodes:*-valid,>-best,d-damped,
h-history,i-internal,s-suppressed,S-Stale
Origin:i-IGP,e-EGP,?-incomplete
TotalNumberofRoutes:8
NetworkNextHopMEDLocPrfPrefValPath/Ogn
*>100.1.1.0/2410.1.26.20200100i
*10.1.46.40200100i
*>100.2.2.0/2410.1.26.20200100i
*10.1.46.40200100i
*>200.1.1.010.1.26.20200100i
*10.1.46.40200100i
*>200.2.2.010.1.26.20200100i
*10.1.46.40200100i
R6已經(jīng)能夠?qū)W習(xí)到100及200網(wǎng)段的路由了,并且這些路由的AS_PATH中是看不到聯(lián)邦的信息。
審核編輯:郭婷
-
接口
+關(guān)注
關(guān)注
33文章
8933瀏覽量
153189 -
拓?fù)?/span>
+關(guān)注
關(guān)注
4文章
346瀏覽量
29938 -
路由器
+關(guān)注
關(guān)注
22文章
3810瀏覽量
115972
原文標(biāo)題:BGP進(jìn)階:BGP 綜合實驗二
文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
開關(guān)電源設(shè)計如何選擇合適拓?fù)?/b>

開關(guān)電源拓?fù)?/b>結(jié)構(gòu)介紹
反向降壓拓?fù)?/b>如何替代非隔離反激式拓?fù)?/b> 德州儀器反向降壓拓?fù)?/b>詳細(xì)解析

移相全橋ZVS及ZVZCS拓?fù)?/b>結(jié)構(gòu)分析
多線BGP技術(shù)通過哪幾種方式提升網(wǎng)絡(luò)穩(wěn)定性?
IGBT雙脈沖實驗說明

高防BGP多線云服務(wù)器全面測評
在反相降壓/升壓拓?fù)?/b>中使用 TPS62120應(yīng)用說明

在反相降壓/升壓拓?fù)?/b>中使用 TPS62125應(yīng)用說明

華為設(shè)備中的BGP命令詳解
三電平dcdc拓?fù)?/b>結(jié)構(gòu)有幾種
ANPC三電平拓?fù)?/b>優(yōu)缺點是什么
教學(xué)驗證篇丨PPEC+HIL LLC拓?fù)?/b>仿真驗證
開關(guān)電源幾種拓?fù)?/b>結(jié)構(gòu)介紹

評論