文/周曜
上海交通大學(xué): DHCP雙機熱備在校園網(wǎng)中的應(yīng)用
文/周曜
隨著全球IPv4地址資源分配完畢,公網(wǎng)地址資源未來無法再增加,使用私網(wǎng)地址在校園網(wǎng)中應(yīng)用的場景也是越來越多,越來越頻繁;各個學(xué)校無線網(wǎng)絡(luò)建設(shè)方興未艾,無線網(wǎng)用戶客戶端越來越龐大,一般的公網(wǎng)地址無法滿足,只能使用私網(wǎng)地址。而使用私網(wǎng)地址一般都采用DHCP+NAT的方式來為用戶提供地址服務(wù)。為了保障服務(wù)的質(zhì)量DHCP雙機熱備就成了其中必不可少的一環(huán)。
本文通過討論Linux和Windows系統(tǒng)下DHCP雙機熱備的方法比較,結(jié)合上海交通大學(xué)無線網(wǎng)中應(yīng)用的實際情況來討論校園網(wǎng)DHCP雙機熱備的部署。
DHCP(Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作, 主要有兩個用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員作為對所有計算機作中央管理的手段,在RFC 2131中有詳細(xì)的描述。DHCP工作流程,如圖1所示。
雙機熱備,從廣義上講就是服務(wù)器高可用的另一種說法,英文譯為High available。雙機熱備在數(shù)據(jù)網(wǎng)絡(luò)中的應(yīng)用非常廣泛,不同操作系統(tǒng)在這方面的應(yīng)用略有不同,熱備軟件作為一種服務(wù)器某種不可預(yù)知的宕機的解決方案,對于任何能夠使服務(wù)器宕機的故障,熱備軟件都能對其進(jìn)行監(jiān)測、隔離并將服務(wù)切換到備份的服務(wù)器。從狹義上講,雙機熱備就是在兩臺相同配置的服務(wù)器配置相同的服務(wù),在同一時刻只能有一臺服務(wù)器對外進(jìn)行服務(wù),當(dāng)活動的服務(wù)器由于某種原因出現(xiàn)故障不能對外提供服務(wù)時,會自動將服務(wù)切換到備份的服務(wù)器上,不影響網(wǎng)絡(luò)的運行。
圖1 DHCP工作流程
在Linux上對DHCP進(jìn)行配置用到的是ISC-DHCP,它不僅能完成基本的DHCP 功能,本身還支持DHCP的雙機熱備功能,不需要使用第三方軟件。先安裝配置DHCP,成功配置DHCP.conf和dhcp.leases配置文件后,就可以啟動DHCP服務(wù)了,用service dhcpd start進(jìn)行啟動,用service dhcp stop進(jìn)行關(guān)閉。
在Linux系統(tǒng)中應(yīng)用DHCP雙機熱備用到的是RF2131機制,在這個機制中定義了3種服務(wù)器信號:服務(wù)器租用同步信號、操作狀態(tài)信號和 “我回來了 ” 信號。其中,服務(wù)器租用同步信號用來在主、備服務(wù)器之間進(jìn)行信息交流,在兩臺服務(wù)器正常運行的時候,會有連續(xù)的信息流。在兩臺服務(wù)器同時運行的時候,備份的服務(wù)器必須周期性地與主服務(wù)器進(jìn)行通信,以確定主服務(wù)器是否正常,如果主服務(wù)器出現(xiàn)故障,備份服務(wù)器隨時接替主服務(wù)器為客戶端進(jìn)行服務(wù),這里我們用到的問候包就是操作狀態(tài)信號。在備份服務(wù)器對外進(jìn)行服務(wù)時,網(wǎng)絡(luò)操作人員可以進(jìn)行故障排查,故障排查后將主服務(wù)器重新搭建到網(wǎng)絡(luò)中,主服務(wù)器會向備份的服務(wù)器發(fā)送一個“我回來了”信號,告訴備份服務(wù)器可以一起對外進(jìn)行服務(wù)了。
下面是DHCP熱備主服務(wù)器的配置文件:
這里用到的主DHCP服務(wù)器IP地址是192.168.30.21,備份服務(wù)器IP地址是192.168.30.22。配置文件中定義了兩個網(wǎng)段地址。有幾個重要參數(shù)需要解釋一下,split:主、備服務(wù)器通過hash運算進(jìn)行負(fù)載均衡,hash運算的結(jié)果在0~255之間,如果數(shù)值小于128由主服務(wù)器對外進(jìn)行服務(wù),如果大于128則備服務(wù)器對外進(jìn)行服務(wù),所以我們一般設(shè)置為128,起到的就是負(fù)載均衡的作用。
上海交通大學(xué)無線網(wǎng)建設(shè)了多年,目前已基本覆蓋學(xué)校大部分的教學(xué)樓、辦公樓和宿舍。其中上線AP達(dá)2300個,日均在線用戶達(dá)1萬。這個情況使地址分配服務(wù)的穩(wěn)定與可靠顯得非常重要。
圖2 上海交通大學(xué)無線網(wǎng)DHCP雙機熱備結(jié)構(gòu)
之前使用Windows Server 2008 配置DHCP服務(wù)給無線網(wǎng)AP以及用戶客戶端分配地址,在使用過程中逐步發(fā)現(xiàn)了問題,服務(wù)器非高可用是一個很大的問題,一旦服務(wù)器出問題(進(jìn)程死,服務(wù)器斷電,所連交換機出問題)使得整個學(xué)校的無線網(wǎng)用戶拿不到地址而無法上網(wǎng),影響面大,用戶體驗差。而現(xiàn)在我們利用Windows Server 2012 DHCP配置DHCP雙機熱備則比較好地解決了這個問題。下面是學(xué)校無線網(wǎng)DHCP雙機熱備的結(jié)構(gòu),如圖2所示。
可以看到圖中主輔2臺DHCP分別位于不同路由器的不同網(wǎng)段,使用Windows Server 2012 DHCP配置成主輔熱備關(guān)系的DHCP服務(wù)器。這樣的結(jié)構(gòu)帶來的高可用性特點是:
不同網(wǎng)段的服務(wù)器,即使主DHCP所連路由器或者網(wǎng)絡(luò)出問題,會自動切換到輔DHCP;而不同電源連接的服務(wù)器也提高了供電的可靠性,不會產(chǎn)生單點電源故障;而Windows Server 2012 DHCP提供強大的故障轉(zhuǎn)移的功能使DHCP提供的服務(wù)在一個服務(wù)器donw情況下能繼續(xù)為用戶提供分配地址服務(wù)而不會因為租約的問題造成用戶地址沖突。
DHCP雙機熱備使用Windows Server 2012 DHCP配置中最重要的就是配置故障轉(zhuǎn)移,下面是詳細(xì)的說明:
在Windows Server 2012中,DHCP服務(wù)器故障轉(zhuǎn)移功能,允許兩臺DHCP服務(wù)器為位于相同子網(wǎng)或從相同作用域接收IP地址租用的DHCP客戶端分配IP地址和DHCP選項,從而能夠為客戶端提供連續(xù)可用的DHCP服務(wù)器服務(wù)。這兩臺DHCP服務(wù)器會在它們之間復(fù)制租用信息,以便允許其中任何一臺服務(wù)器能在另一臺服務(wù)器不可用時繼續(xù)為整個子網(wǎng)的客戶端提供服務(wù)。通過在具有故障轉(zhuǎn)移關(guān)系的兩臺服務(wù)器之間分配客戶端請求,可以在負(fù)載平衡配置中配置故障轉(zhuǎn)移。DHCP故障轉(zhuǎn)移功能涉及到兩臺配置為DHCP角色服務(wù)的Server 2012服務(wù)器,并提供以下2種模式的高可用的DHCP服務(wù):
圖3 負(fù)載均衡模式
圖4 熱備用模式
負(fù)載均衡模式,如圖3所示。負(fù)載平衡模式是DHCP故障轉(zhuǎn)移的默認(rèn)配置方式。在負(fù)載均衡模式下,當(dāng)配置了兩臺DHCP服務(wù)器后,兩臺服務(wù)器同時為特定子網(wǎng)中的客戶端提供IP地址和選項服務(wù)。客戶端請求在兩臺服務(wù)器之間進(jìn)行負(fù)載平衡和共享。如果一個DHCP服務(wù)器發(fā)生故障,另一個將繼續(xù)租用第一臺DHCP服務(wù)器的地址。
熱備用模式,如圖4所示。在熱備用模式中,兩臺DHCP服務(wù)器以故障轉(zhuǎn)移的關(guān)系運行。在該模式中,活動服務(wù)器負(fù)責(zé)為作用域或子網(wǎng)中所有客戶端租用IP地址和配置信息。如果主服務(wù)器變得不可用,則輔助服務(wù)器繼續(xù)為客戶端提供服務(wù)。服務(wù)器在子網(wǎng)范圍內(nèi)充當(dāng)主服務(wù)器或輔助服務(wù)器。
配置DHCP故障轉(zhuǎn)移DHCP故障轉(zhuǎn)移涉及到兩臺DHCP服務(wù)器之間建立關(guān)系,并只有兩臺DHCP服務(wù)器可以參與進(jìn)來,但可以配置多個DHCP服務(wù)器之間建立關(guān)系。例如,可以配置DHCP-ONE和DHCP-TWO為DHCPTWO和DHCP-THREE的建立聯(lián)系,和DHCPONE和DHCP-3建立聯(lián)系。然而,一個單獨的DHCP作用域,只能使用一個關(guān)系。配置DHCP故障轉(zhuǎn)移需執(zhí)行以下步驟:1.在兩臺單獨的服務(wù)器(運行Serer 2012)中安裝DHCP角色,要求這兩臺服務(wù)器是在相同的Active Directory(AD)域中。2.確保每個服務(wù)器上的DHCP角色授權(quán)的AD。3.創(chuàng)建第一臺DHCP服務(wù)器作用范圍。4.選擇要配置故障轉(zhuǎn)移的范圍。單擊菜單中的”配置故障轉(zhuǎn)移“。5.在介紹DHCP故障轉(zhuǎn)移配置故障轉(zhuǎn)移的向?qū)ы撁嬷?,確認(rèn)選擇的范圍,并單擊“下一步”。6.添加服務(wù)器,選擇要建立聯(lián)系的DHCP服務(wù)器,然后單擊“確定”。在Windows Server 2012中配置DHCP故障轉(zhuǎn)移。7.選擇負(fù)載均衡模式或熱備用模式。
隨著校園網(wǎng)私有地址與無線網(wǎng)地址用戶不斷發(fā)展壯大,DHCP服務(wù)的高可用性也越來越重要。為用戶提供高質(zhì)量、穩(wěn)定的地址分配服務(wù),相信未來DHCP雙機熱備將會越來越多地應(yīng)用到校園網(wǎng)的場景中去。
(作者單位為上海交通大學(xué)網(wǎng)絡(luò)信息中心)