中央民族大學(xué) 信息化建設(shè)管理處 楊 明
引言:高校廣大師生有大量設(shè)備需要接入網(wǎng)絡(luò),使用DHCP服務(wù)自動分配IP地址等信息已變?yōu)槌B(tài);DHCP服務(wù)的使用由原來的交換機(jī)派發(fā),配置和維護(hù)相對困難,逐步演變?yōu)镈HCP Server集中管理,集中管理后帶來的問題是一旦DHCP服務(wù)出現(xiàn)中斷就會造成大面積的網(wǎng)絡(luò)中斷及癱瘓。隨著對網(wǎng)絡(luò)依賴的程度越來越高,對網(wǎng)絡(luò)癱瘓變得不可忍受,因此對DHCP服務(wù)的高可用性提出了更高的要求。本文正是基于此研究并配置了DHCP Failover模式的DHCP服務(wù),為使服務(wù)更加穩(wěn)定采用Linux操作系統(tǒng)。
DHCP(Dynamic Host Configuration Protocol),動態(tài)主機(jī)配置協(xié)議是一種基于IP網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議,主要使用UDP協(xié)議進(jìn)行工作。DHCP客戶端使用UDP 68端口直接或通過DHCP relay agents向DHCP服務(wù)的UDP 67端口請求IP地址等信息。DHCP服務(wù)作為一個網(wǎng)絡(luò)的IP管理者變得越來越重要,一旦其出現(xiàn)問題,將會導(dǎo)致整個網(wǎng)絡(luò)的癱瘓。因此DHCP服務(wù)器使用Failover技術(shù)通過2臺機(jī)器實(shí)現(xiàn)高可用。一臺作為primary,一臺作為secondary,通過TCP 647端口進(jìn)行通信,保正在一臺DHCP服務(wù)出故障的情況下另一臺可以接管現(xiàn)有的DHCP服務(wù)及狀態(tài)繼續(xù)提供服務(wù)。
高校師生上網(wǎng)使用DHCP服務(wù)進(jìn)行自動分配IP地址等信息,原有的交換機(jī)直接啟用DHCP服務(wù)的方式已轉(zhuǎn)變?yōu)镈HCP服務(wù)器集中分配,為高校網(wǎng)絡(luò)管理者減輕了大量機(jī)器的手工配置工作。但是單臺DHCP服務(wù)器或冷備份方式已不能滿足師生上網(wǎng)的無中斷網(wǎng)絡(luò)需求,原來的Windows服務(wù)器提供DHCP服務(wù)的方式因其承載量和穩(wěn)定性的原因也不再能滿足高校開放wifi后爆炸性的機(jī)器數(shù)量增長要求;因此使用Linux服務(wù)器,基于DHCP Failover模式配置DHCP服務(wù)變成是迫在眉睫的工作,關(guān)于DHCP Failover與其它方式部署的說明與比較請參閱。
本文以CentOS 6.10 64位操作系統(tǒng)(因其在國內(nèi)大量作為服務(wù)器操作系統(tǒng)在使用,而CentOS 7改變了包管理方式,配置會稍有不同)為基礎(chǔ),基于IPv4網(wǎng)絡(luò)進(jìn)行DHCP Failover的配置。DHCPv6使用了額外的網(wǎng)絡(luò)端口,本文暫未涉及。
DHCP Failover協(xié)議、消息報(bào)文、狀態(tài)轉(zhuǎn)換請參閱。DHCP Failover組網(wǎng)架構(gòu)示意圖如圖1所示。
表1
續(xù)表1
圖1
首先安裝操作系統(tǒng)并配置IP地址等信息,然后安裝dhcp軟件,yum install dhcp;再配置dhcp,vim /etc/dhcp/dhcpd.conf(見表1、續(xù)表1)。
防火墻配置,vim /etc/sysconfig/iptables。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 647 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 67 --sport 68 -j ACCEPT
重新載入防火墻配置,service iptables reload;啟動dhcp服務(wù),service dhcpd start;并設(shè)置開機(jī)自啟,chkconfig --add dhcpd on。
本文未涉及DHCPv6 Failover的研究,但是高校對IPv6的需求是現(xiàn)實(shí)的。隨著2017年6月rfc8156《DHCPv6 Failover Protocol》的正式發(fā)布,DHCP服務(wù)會逐步正式支持DHCPv6 Failover,屆時DHCPv6 Failover會變?yōu)楝F(xiàn)實(shí)。