中央民族大學 信息化建設管理處 楊 明
引言:高校廣大師生有大量設備需要接入網絡,使用DHCP服務自動分配IP地址等信息已變為常態;DHCP服務的使用由原來的交換機派發,配置和維護相對困難,逐步演變為DHCP Server集中管理,集中管理后帶來的問題是一旦DHCP服務出現中斷就會造成大面積的網絡中斷及癱瘓。隨著對網絡依賴的程度越來越高,對網絡癱瘓變得不可忍受,因此對DHCP服務的高可用性提出了更高的要求。本文正是基于此研究并配置了DHCP Failover模式的DHCP服務,為使服務更加穩定采用Linux操作系統。
DHCP(Dynamic Host Configuration Protocol),動態主機配置協議是一種基于IP網絡的標準協議,主要使用UDP協議進行工作。DHCP客戶端使用UDP 68端口直接或通過DHCP relay agents向DHCP服務的UDP 67端口請求IP地址等信息。DHCP服務作為一個網絡的IP管理者變得越來越重要,一旦其出現問題,將會導致整個網絡的癱瘓。因此DHCP服務器使用Failover技術通過2臺機器實現高可用。一臺作為primary,一臺作為secondary,通過TCP 647端口進行通信,保正在一臺DHCP服務出故障的情況下另一臺可以接管現有的DHCP服務及狀態繼續提供服務。
高校師生上網使用DHCP服務進行自動分配IP地址等信息,原有的交換機直接啟用DHCP服務的方式已轉變為DHCP服務器集中分配,為高校網絡管理者減輕了大量機器的手工配置工作。但是單臺DHCP服務器或冷備份方式已不能滿足師生上網的無中斷網絡需求,原來的Windows服務器提供DHCP服務的方式因其承載量和穩定性的原因也不再能滿足高校開放wifi后爆炸性的機器數量增長要求;因此使用Linux服務器,基于DHCP Failover模式配置DHCP服務變成是迫在眉睫的工作,關于DHCP Failover與其它方式部署的說明與比較請參閱。
本文以CentOS 6.10 64位操作系統(因其在國內大量作為服務器操作系統在使用,而CentOS 7改變了包管理方式,配置會稍有不同)為基礎,基于IPv4網絡進行DHCP Failover的配置。DHCPv6使用了額外的網絡端口,本文暫未涉及。
DHCP Failover協議、消息報文、狀態轉換請參閱。DHCP Failover組網架構示意圖如圖1所示。

表1

續表1

圖1
首先安裝操作系統并配置IP地址等信息,然后安裝dhcp軟件,yum install dhcp;再配置dhcp,vim /etc/dhcp/dhcpd.conf(見表1、續表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服務,service dhcpd start;并設置開機自啟,chkconfig --add dhcpd on。
本文未涉及DHCPv6 Failover的研究,但是高校對IPv6的需求是現實的。隨著2017年6月rfc8156《DHCPv6 Failover Protocol》的正式發布,DHCP服務會逐步正式支持DHCPv6 Failover,屆時DHCPv6 Failover會變為現實。