2021-03-13 分類(lèi): 網(wǎng)站建設(shè)
分享多出口冗余網(wǎng)絡(luò)設(shè)計(jì)方案
一、設(shè)計(jì)目標(biāo)
設(shè)計(jì)一個(gè)雙出口網(wǎng)絡(luò),使用BGP做到最優(yōu)化路由選擇,并且當(dāng)某一個(gè)出口故障時(shí),設(shè)備能自動(dòng)將流量切換到剩下的那個(gè)出口;內(nèi)網(wǎng)同樣實(shí)現(xiàn)網(wǎng)絡(luò)冗余和設(shè)備冗余;實(shí)現(xiàn)網(wǎng)關(guān)冗余。
二、設(shè)計(jì)拓?fù)?/p>
三、設(shè)計(jì)說(shuō)明
根據(jù)前面的設(shè)計(jì)目標(biāo),我給出了如上圖所示的拓?fù)浞桨?。這個(gè)方案更多的只是我對(duì)已學(xué)過(guò)知識(shí)的梳理,并未在實(shí)際工作中應(yīng)用過(guò)。就實(shí)際情況而言,它可能更多的也只適用于理論分析。
在這個(gè)方案中,我假設(shè)了有兩個(gè)ISP提供商ISP1和ISP2,使用設(shè)備R5模擬ISP1,使用設(shè)備R6模擬ISP2。R5和R6建立EBGP鄰接關(guān)系來(lái)模擬Internet網(wǎng)絡(luò)環(huán)境(實(shí)際的Internet就是不同的BGP AS連接在一起的)。
除了R5和R6外的其它所有設(shè)備都屬于企業(yè)內(nèi)網(wǎng)的設(shè)備。
R3和R4為放置于出口線(xiàn)路中的防火墻,在本案例中,它們只用于提供NAT功能。在本案例中,我使用了172.16.6.0/24和172.16.7.0/24作為NAT地址池,而并沒(méi)有使用公網(wǎng)地址段來(lái)作為NAT地址池,這里請(qǐng)不要覺(jué)得奇怪。我這里只是一個(gè)理論上的案例而已,使用公網(wǎng)或私網(wǎng)地址段都是一樣的。好吧,其實(shí)是我懶得改了。
R1和R2為網(wǎng)絡(luò)核心層設(shè)備,它們也運(yùn)行BGP協(xié)議,分別與R5和R6建立EBGP鄰接關(guān)系。R1和R2之間則為IBGP鄰接關(guān)系。R1和R2分別接收來(lái)自R5和R6的Internet路由,然后R1和R2再彼此之間交互接收的路由,以實(shí)現(xiàn)最優(yōu)路由選擇。同時(shí),R1和R2也會(huì)分別向R5和R6通告它們各自所在線(xiàn)路的NAT地址池。
R7和R8為網(wǎng)絡(luò)匯聚層設(shè)備。R1和R2的所有物理接口,R7和R8的上行接口位于OSPFAREA 0中。R7和R8的下行接口位于OSPF AREA 1中。
設(shè)備IOU1為接入層設(shè)備。在我這個(gè)案例中,我只使用了一臺(tái)接入層交換機(jī),如果還有其它的接入層交換機(jī),也可如圖所示,將它們分別與R7和R8相連,再劃入到不同的OSPFAREA中。在R7和R8的下行接口上,我使用了VRRP,以實(shí)現(xiàn)網(wǎng)關(guān)的冗余。
這個(gè)案例中,各設(shè)備接口的IP地址分配方面,對(duì)于橫向的鏈路,左邊的接口使用xxx.xxx.xxx.1,右邊的接口則使用xxx.xxx.xxx.2;對(duì)于縱向的鏈路,上邊的接口使用xxx.xxx.xxx.1,下邊的接口則使用xxx.xxx.xxx.2。如R5和R6之間的鏈路,R5一端的接口使用的IP地址為172.16.3.1,R6一端的接口則使用IP地址172.16.3.2,其它鏈路以此類(lèi)推。
四、設(shè)備配置
1.配置R5和R6,以使用它們來(lái)模擬Internet和ISP的網(wǎng)絡(luò)。
//給R5配置BGP,使其使用環(huán)回口與R6建立EBGP鄰接關(guān)系。
R5(config)#routerbgp 64513
R5(config-router)#neighbor172.16.2.1 remote-as 64514
R5(config-router)#neighbor172.16.2.1 update-source loopback0
R5(config-router)#neighbor172.16.2.1 ebgp-multihop 2
R5(config)#iproute 172.16.2.1 255.255.255.255 172.16.3.2
//使用靜態(tài)路由將地址池172.16.6.0/24分配給企業(yè)網(wǎng)絡(luò)。R5廣播其環(huán)回口地址172.16.1.1/32,以使其在模擬的Internet網(wǎng)絡(luò)中可被訪(fǎng)問(wèn)。
R5(config)#iproute 172.16.6.0 255.255.255.0 172.16.4.2
R5(config)#routerbgp 64513
R5(config-router)#address-familyipv4
R5(config-router-af)#network172.16.1.1 mask 255.255.255.255
//給R6配置BGP,使其使用環(huán)回口與R5建立EBGP鄰接關(guān)系。
R6(config)#routerbgp 64514
R6(config-router)#neighbor172.16.1.1 remote-as 64513
R6(config-router)#neighbor172.16.1.1 update-source loopback0
R6(config-router)#neighbor172.16.1.1 ebgp-multihop 2
R6(config)#iproute 172.16.1.1 255.255.255.255 172.16.3.1
//使用靜態(tài)路由將地址池172.16.7.0/24分配給企業(yè)網(wǎng)絡(luò)。R6廣播其環(huán)回口地址172.16.2.1/32,以使其在模擬的Internet網(wǎng)絡(luò)中可被訪(fǎng)問(wèn)。
R6(config)#iproute 172.16.7.0 255.255.255.0 172.16.5.2
R6(config)#routerbgp 64514
R6(config-router)#address-familyipv4
R6(config-router-af)#network172.16.2.1 mask 255.255.255.255
2.配置R5、R3和R1,使R5和R1的環(huán)回口之間可以建立EBGP鄰接關(guān)系。
//配置R5,使其使用環(huán)回口與R1建立EBGP鄰接關(guān)系。同時(shí),R5向R1下發(fā)默認(rèn)路由。
R5(config)#routerbgp 64513
R5(config-router)#neighbor192.168.1.1 remote-as 64512
R5(config-router)#neighbor192.168.1.1 update-source loopback0
R5(config-router)#neighbor192.168.1.1 ebgp-multihop 3
R5(config-router)#address-familyipv4
R5(config-router-af)#neighbor192.168.1.1 default-originate
R5(config)#iproute 192.168.1.1 255.255.255.255 172.16.4.2
//配置R3,使其有去往R1環(huán)回口192.168.1.1的路由。R3使用默認(rèn)路由出網(wǎng)。將地址池172.16.6.0/24指向null0接口以防止路由環(huán)路。
R3(config)#iproute 192.168.1.1 255.255.255.255 192.168.2.2
R3(config)#iproute 0.0.0.0 0.0.0.0 172.16.4.1
R3(config)#iproute 172.16.6.0 255.255.255.0 null0
//配置R1,使其使用環(huán)回口與R5建立EBGP鄰接關(guān)系,同時(shí)廣播地址池172.16.6.0/24。
R1(config)#routerbgp 64512
R1(config-router)#neighbor172.16.1.1 remote-as 64513
R1(config-router)#neighbor172.16.1.1 update-source loopback0
R1(config-router)#neighbor172.16.1.1 ebgp-multihop 3
R1(config-router)#address-familyipv4
R1(config-router-af)#network172.16.6.0 mask 255.255.255.0
R1(config)#iproute 172.16.1.1 255.255.255.255 192.168.2.1
R1(config)#iproute 172.16.6.0 255.255.255.0 null0
//對(duì)R1去往R5的路由更新進(jìn)行過(guò)濾,以只允許廣播地址池172.16.6.0/24。
R1(config)#ipprefix-list prefixlist1 permit 172.16.6.0/24
R1(config)#routerbgp 64512
R1(config-router)#address-familyipv4
R1(config-router-af)#neighbor172.16.1.1 prefix-list prefixlist1 out
3.配置R6、R4和R2,使R6和R2的環(huán)回口之間可以建立EBGP鄰接關(guān)系。
//配置R6,使其使用環(huán)回口與R2建立EBGP鄰接關(guān)系。同時(shí),R6向R2下發(fā)默認(rèn)路由。
R6(config)#routerbgp 64514
R6(config-router)#neighbor192.168.1.2 remote-as 64512
R6(config-router)#neighbor192.168.1.2 update-source loopback0
R6(config-router)#neighbor192.168.1.2 ebgp-multihop 3
R6(config-router)#address-familyipv4
R6(config-router-af)#neighbor192.168.1.2 default-originate
R6(config)#iproute 192.168.1.2 255.255.255.255 172.16.5.2
//配置R4,使其有去往R2環(huán)回口192.168.1.2的路由。R4使用默認(rèn)路由出網(wǎng)。將地址池172.16.7.0/24指向null0接口以防止路由環(huán)路。
R4(config)#iproute 192.168.1.2 255.255.255.255 192.168.3.2
R4(config)#iproute 0.0.0.0 0.0.0.0 172.16.5.1
R4(config)#iproute 172.16.7.0 255.255.255.0 null0
//配置R2,使其使用環(huán)回口與R6建立EBGP鄰接關(guān)系,同時(shí)廣播地址池172.16.7.0/24。
R2(config)#routerbgp 64512
R2(config-router)#neighbor172.16.2.1 remote-as 64514
R2(config-router)#neighbor172.16.2.1 update-source loopback0
R2(config-router)#neighbor172.16.2.1 ebgp-multihop 3
R2(config-router)#address-familyipv4
R2(config-router-af)#network172.16.7.0 mask 255.255.255.0
R2(config)#iproute 172.16.2.1 255.255.255.255 192.168.3.1
R2(config)#iproute 172.16.7.0 255.255.255.0 null0
//對(duì)R2去往R6的路由更新進(jìn)行過(guò)濾,以只允許廣播地址池172.16.7.0/24。
R2(config)#ipprefix-list prefixlist1 permit 172.16.7.0/24
R2(config)#routerbgp 64512
R2(config-router)#address-familyipv4
R2(config-router-af)#neighbor172.16.2.1 prefix-list prefixlist1 out
4.配置R1和R2以建立IBGP鄰接關(guān)系。
R1和R2使用環(huán)回口建立IBGP鄰接關(guān)系。R1和R2去往彼此環(huán)回口的路由采用靜態(tài)路由,而不使用OSPF,并且,還需要指定下一跳為自身(next-hop-self)。
R1(config)#routerbgp 64512
R1(config-router)#neighbor192.168.1.2 remote-as 64512
R1(config-router)#neighbor192.168.1.2 update-source loopback0
R1(config-router)#address-familyipv4
R1(config-router-af)#neighbor192.168.1.2 next-hop-self
R1(config)#iproute 192.168.1.2 255.255.255.255 192.168.4.2
!
R2(config)#routerbgp 64512
R2(config-router)#neighbor192.168.1.1 remote-as 64512
R2(config-router)#neighbor192.168.1.1 update-source loopback0
R2(config-router)#address-familyipv4
R2(config-router-af)#neighbor192.168.1.1 next-hop-self
R2(config)#iproute 192.168.1.1 255.255.255.255 192.168.4.1
5.配置R3和R4防火墻。
在實(shí)際生產(chǎn)網(wǎng)絡(luò)中,防火墻應(yīng)該是擔(dān)當(dāng)NAT和防***的功能的。但在我這個(gè)案例中,我是用路由器來(lái)模擬防火墻的(雖然圖標(biāo)也是防火墻的)。所以下面的NAT配置還是按照在路由器上配置NAT的步驟來(lái)的。只是說(shuō),在實(shí)際生產(chǎn)網(wǎng)絡(luò)中,一般是使用真正的防火墻來(lái)進(jìn)行NAT轉(zhuǎn)換和防***,而不是使用路由器來(lái)進(jìn)行NAT(具體原因應(yīng)該跟設(shè)備性能參數(shù)有關(guān),我也不是很確定~_~)。
另外,ISP分配過(guò)來(lái)的地址池應(yīng)該是公網(wǎng)IP地址池,而不是應(yīng)該圖中所示的172.16.6.0/24或172.16.7.0/24這兩個(gè)私網(wǎng)IP地址段,只不過(guò)我這里用了私網(wǎng)地址段來(lái)作為地址池,大家知道就好。
還應(yīng)該注意的是,在下面配置設(shè)備時(shí),我并沒(méi)有使用整個(gè)C類(lèi)的地址段(如172.16.6.0/24),而是去掉了該地址段前面的兩個(gè)地址和后面的兩個(gè)地址,這是因?yàn)樵趯?shí)際網(wǎng)絡(luò)中,使用這些地址(如172.16.6.254)作為源地址去訪(fǎng)問(wèn)某些服務(wù)器可能會(huì)有問(wèn)題,所以最好把它們?nèi)サ簟?/p>
//需要注意,因?yàn)镽1要與R5建立EBGP,所以不能對(duì)源192.168.1.1進(jìn)行NAT轉(zhuǎn)換
R3(config)#ipaccess-list extended acl1
R3(config-ext-nacl)#denyip host 192.168.1.1 any
R3(config-ext-nacl)#permitip 192.168.0.0 0.0.255.255 any
R3(config)#ipnat pool natpool1 172.16.6.2 172.16.6.253 netmask 255.255.255.0
R3(config)#interfaceg2/0
R3(config-if)#ipnat inside
R3(config)#interfaceg1/0
R3(config-if)#ipnat outside
R3(config)#ipnat inside source list acl1 pool natpool1 overload
//需要注意,因?yàn)镽2要與R6建立EBGP,所以不能對(duì)源192.168.1.2進(jìn)行NAT轉(zhuǎn)換
R4(config)#ipaccess-list extended acl1
R4(config-ext-nacl)#denyip host 192.168.1.2 any
R4(config-ext-nacl)#permitip 192.168.0.0 0.0.255.255 any
R4(config)#ipnat pool natpool1 172.16.7.2 172.16.7.253 netmask 255.255.255.0
R4(config)#interfaceg1/0
R4(config-if)#ipnat inside
R4(config)#interfaceg2/0
R4(config-if)#ipnat outside
R4(config)#ipnat inside source list acl1 pool natpool1 overload
6.查驗(yàn)路由表
上面配置完后,就可以看到R1和R2通過(guò)BGP獲取到了正確的路由,并且根據(jù)BGP選路原則,它們的所選擇的路徑也是正確的。
到這里,出口的路由就基本做好了。接下來(lái),要解決內(nèi)網(wǎng)路由問(wèn)題。
7.設(shè)置R3和R4上的回程路由
要給R3和R4添加指向內(nèi)網(wǎng)的路由(假設(shè)內(nèi)網(wǎng)使用的地址范圍為192.168.0.0/16)。
R3(config)#iproute 192.168.0.0 255.255.0.0 192.168.2.2
!
R4(config)#iproute 192.168.0.0 255.255.0.0 192.168.3.2
8.給R1、R2、R7和R8配置OSPF
//將R1的所有接口都加入到OSPF AREA 0中,但不包括環(huán)回口
R1(config)#routerospf 1
R1(config-router)#network192.168.2.2 0.0.0.0 area 0
R1(config-router)#network192.168.4.1 0.0.0.0 area 0
R1(config-router)#network192.168.5.1 0.0.0.0 area 0
R1(config-router)#network192.168.7.1 0.0.0.0 area 0
//將R2的所有接口都加入到OSPF AREA 0中,但不包括環(huán)回口
R2(config)#routerospf 2
R2(config-router)#network192.168.3.2 0.0.0.0 area 0
R2(config-router)#network192.168.4.2 0.0.0.0 area 0
R2(config-router)#network192.168.6.1 0.0.0.0 area 0
R2(config-router)#network192.168.8.1 0.0.0.0 area 0
//將R7與核心層交換機(jī)相連的接口都加入到OSPF AREA 0中,與接入層交換機(jī)相連的接口則加入到OSPF AREA 1中
R7(config)#routerospf 7
R7(config-router)#network192.168.5.2 0.0.0.0 area 0
R7(config-router)#network192.168.8.2 0.0.0.0 area 0
R7(config-router)#network192.168.9.252 0.0.0.0 area 1
R7(config-router)#passive-interfaceg3/0 //本案例中,該接口與接入層交換機(jī)相連
//將R8與核心層交換機(jī)相連的接口都加入到OSPF AREA 0中,與接入層交換機(jī)相連的接口則加入到OSPF AREA 1中
R8(config)#routerospf 8
R8(config-router)#network192.168.6.2 0.0.0.0 area 0
R8(config-router)#network192.168.7.2 0.0.0.0 area 0
R8(config-router)#network192.168.9.253 0.0.0.0 area 1
R8(config-router)#passive-interfaceg3/0 //本案例中,該接口與接入層交換機(jī)相連
9.設(shè)置R1和R2下發(fā)OSPF默認(rèn)路由
對(duì)于R1和R2,都需要設(shè)置為下發(fā)OSPF默認(rèn)路由。至于這兩條默認(rèn)路由的初始度量值,個(gè)人覺(jué)得可以不進(jìn)行修改,讓它們保持一樣。如果為了排錯(cuò)時(shí)能更加簡(jiǎn)便,也可以將它們的初始度量值修改為不一樣,同時(shí)設(shè)置metric-type為2,這樣流量路徑就會(huì)保持一致,而不會(huì)在上行路徑間負(fù)載均衡。
R1(config)#routerospf 1
R1(config-router)#default-informationoriginate metric-type 1
!
R2(config)#routerospf 2
R2(config-router)#default-informationoriginate metric-type 1
10.配置網(wǎng)關(guān)冗余協(xié)議VRRP
我將網(wǎng)關(guān)設(shè)置在匯聚層交換機(jī)上,并使用公有網(wǎng)關(guān)冗余協(xié)議VRRP。就實(shí)際配置情況來(lái)說(shuō),我將R7和R8的g3/0口都加入到VRRP Group 1,并修改R7和R8的g3/0接口的VRRP優(yōu)先級(jí),使R7成為Master,R8為Backup。
//配置R7的g3/0接口
R7(config)#interfaceg3/0
R7(config-if)#noshutdown
R7(config-if)#ipaddress 192.168.9.252 255.255.255.0
R7(config-if)#vrrp1 ip 192.168.9.254
R7(config-if)#vrrp1 priority 102
//配置R8的g3/0接口
R8(config)#interfaceg3/0
R8(config-if)#noshutdown
R8(config-if)#ipaddress 192.168.9.253 255.255.255.0
R8(config-if)#vrrp1 ip 192.168.9.254
R8(config-if)#vrrp1 priority 101
五、補(bǔ)充說(shuō)明
配置完上面的一堆后,這個(gè)網(wǎng)絡(luò)基本就實(shí)現(xiàn)了故障冗余自動(dòng)切換的功能了。但實(shí)際使用時(shí),還需要進(jìn)一步深化配置,因?yàn)榭赡軙?huì)存在因路由協(xié)議收斂導(dǎo)致的切換不及時(shí)的問(wèn)題。比如,正常情況下,R8去往172.16.2.1是通過(guò)R2那個(gè)出口出去,假設(shè)此時(shí)R2出故障掛掉了,那么R8會(huì)把所有流量都發(fā)往R1,然而由于R1此時(shí)還沒(méi)有意識(shí)到R2掛了,只有等R1和R2之間的BGP會(huì)話(huà)超時(shí)后,R1才會(huì)意識(shí)到R2掛了。在這之前,R1還是會(huì)把R8發(fā)過(guò)來(lái)的流量都轉(zhuǎn)發(fā)給R2,但由于R2出故障了,因此這些流量就無(wú)法順利地被轉(zhuǎn)發(fā)到172.16.2.1。也就是說(shuō),在這段時(shí)間內(nèi),是會(huì)有丟包的。只有當(dāng)BGP重新收斂后,數(shù)據(jù)包的轉(zhuǎn)發(fā)才能恢復(fù)正常。也有一些技術(shù)可以加快BGP的收斂速度,不過(guò)我沒(méi)研究過(guò),所以暫時(shí)就這樣了。
接入層交換機(jī)部分,沒(méi)有什么必須要進(jìn)行的配置。接入層交換機(jī)可以使用傻瓜交換機(jī),也可以是可網(wǎng)管交換機(jī)。最好是可網(wǎng)管交換機(jī),就可以部署各種接入控制特性,這樣就可以少去很多麻煩。當(dāng)然,接入層交換機(jī)這里其實(shí)還是存在單點(diǎn)失效的問(wèn)題,可能使用具有冗余引擎和冗余電源的設(shè)備可以稍微緩解這個(gè)問(wèn)題,但實(shí)際上應(yīng)該沒(méi)有企業(yè)這么有錢(qián)吧,也沒(méi)有這么做的必要吧。
關(guān)于DNS的設(shè)置問(wèn)題。在我這個(gè)設(shè)計(jì)方案中未涉及到DNS的問(wèn)題,但實(shí)際網(wǎng)絡(luò)中,DNS的設(shè)置會(huì)影響到網(wǎng)絡(luò)出口的選擇,不同出口上流量的多少,及網(wǎng)絡(luò)的體驗(yàn)問(wèn)題。一般來(lái)說(shuō),ISP1會(huì)給你兩個(gè)DNS地址,ISP2也會(huì)給你兩個(gè)DNS地址。我個(gè)人是認(rèn)為,要么主用ISP1提供的線(xiàn)路,要么主用ISP2提供的線(xiàn)路。也就是說(shuō),要么只使用ISP1提供的DNS地址,要么只使用ISP2提供的DNS地址。如果要讓兩條出口線(xiàn)路上的流量更加均衡一點(diǎn),可能可以在一部分區(qū)域中使用ISP1提供的DNS地址,在另一部分區(qū)域中使用ISP2提供的DNS地址,不過(guò)因?yàn)闆](méi)有實(shí)際這樣做過(guò),所以也不確定是否的確可行。
當(dāng)前文章:分享多出口冗余網(wǎng)絡(luò)設(shè)計(jì)方案
標(biāo)題網(wǎng)址:http://www.rwnh.cn/news/105098.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、Google、服務(wù)器托管、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容