李 澍, 姚 磊
(1. 上海交通大學 材料學院塑性成形技術與裝備研究院, 上海 200030; 2. 江蘇申模數字化制造技術有限公司, 江蘇 鎮江 212028)
動態主機分配協議(Dynamic Host Configuration Protocol,DHCP)是一個局域網的網絡協議,使用UDP協議工作,其主要用途為給LAN內主機自動分配IP地址,也為內部網絡管理員提供了對內部主機的管理手段,在局域網中使用非常普遍。
對于高校實驗室計算機網絡的管理,掌握DHCP配置與管理方法是非常重要的,也是高校計算機網絡專業開設課程的重點內容。使用DHCP方式獲取IP地址需要利用廣播數據包,一般來說DHCP服務是在同一廣播域內實現。很多高校實驗室計算機網絡環境中DHCP服務器的配置也是基于一個單一的網段內進行的。但在實際環境中,為了隔離廣播包,避免網絡風暴,VLAN被大規模使用,這樣一個在單一網段內配置DHCP的技術在實際環境應用中便顯得無能為力。在真實的實驗室網絡環境中,一般使用的是跨網段的DHCP服務。僅針對某一網段的DHCP服務是很少見的。對于實驗室計算機網絡管理人員而言,掌握三層復雜環境下DHCP服務的配置和安全防范是非常有必要的。在此,本文將以H3C S3600 三層交換機和Windows 2008 Server服務器為平臺,講述如何在實驗室環境下搭建跨網段的DHCP服務器及安全防護[1-2]。
DHCP 采用C/S方式工作;DHCP客戶端計算機為了獲取合法的動態IP地址,通常有三種模式獲取:① DHCP客戶計算機首次登陸網絡。② DHCP客戶計算機再次登陸網絡。③ DHCP客戶計算機延長IP地址的租用有效期。
DHCP使用UDP協議、端口:67(服務器)、68(客戶端),DHCP客戶計算機獲取TCP/IP協議的過程是四線回話,即:
(1) 發現階段。客戶端計算機發出 DHCP DISCOVER報文,向網絡發送廣播,在網絡內搜尋DHCP服務器;
(2) 提供階段。服務器接收到 DHCP DISCOVER 報文后,從自己的地址池中選擇一個沒有被分配的IP地址分給客戶端計算機,然后向客戶端發送包含出租IP地址和其他配置的DHCP_Offer 報文;
(3) 選擇階段。即DHCP客戶端選擇IP地址,如果有多臺DHCP服務器向該客戶端計算機發來DHCP_Offer 報文,客戶端計算機只接受第一個收到的 DHCP_Offer 報文,然后以廣播的方式向各個DHCP服務器回應 DHCP_Request 報文,該信息中包含向選定DHCP服務器請求IP地址的內容
(4) 確認階段。當DHCP服務器收到客戶端計算機回應的 DHCP_Request報文后,便向客戶端計算機發送包含它所提供的IP地址和其他配置的 DHCP_ACK 確認報文。然后客戶端計算機將其TCP/IP協議組件與網卡綁定。
客戶端的計算機有六種狀態:初始化狀態(發送 discover報文之前)、選擇狀態(收到offer報文之后)、請求狀態(發送request時)、綁定狀態(收到ack)、更新狀態、重綁定狀態。
客戶端IP地址續租:當租約到了50%時,客戶機向DHCP服務器發送單播,請求當前IP地址繼續租用,如果不回應,會重復發送信息,最多三次。 當到87.5%的時候,客戶機進入重綁定狀態,客戶機向現在所有可以使用的服務器發送REUQEST消息,請求繼續續租當前IP,如果沒有回應,客戶機IP地址停止使用,重新進行四線回話獲取IP地址如果還是沒有回應,則請用專用IP自動編制;生成一個169.254.0.0網段的IP,用于計算機間保障通訊。
服務器中的作用域和超級作用域:用于給客戶分配TCP/IP協議棧信息。兩者的區別是超級作用域是
多個作用域的集合作用域的選項有三個:缺省全局選項、作用域選項、保留客戶端選項;優先級是保留大于作用域大于全局[3,4,5]。
實驗設備見表1。

表1 實驗設備明細
實驗室計算網絡拓撲結構如圖1所示。

圖1 實驗室計算機網絡拓撲圖
高校實驗室一般都有包含不同網段的計算機網絡,本實驗內容為:利用三層交換機實現在四個不同VLAN間通信,通過Windows 2008 Server系統上實現DHCP服務并三層交換機上進行安全防護設置,使得處于不同Vlan的計算機在開機后能獲得DHCP服務器為他們分配的IP地址,且連接Vlan1獲取的IP地址段為:192.168.100.X/24,連接Vlan2獲取的IP地址段為:192.168.101.X/24,連接Vlan3獲取的IP地址段為:192.168.102.X/24,連接Vlan4獲取的IP地址段為:192.168.103.X/24,各計算機之間能相互ping通[6-7]。
2.4.1在三層交換機上的配置
(1) 配置前準備。通過Console口登錄交換機。
第一步:建立本地配置環境,只需將PC機(或終端)的串口通過配置電纜與以太網交換機的Console口連接,如圖2所示。

圖2 通過Console 口搭建本地配置環境
第二步:在PC機上運行終端仿真程序(如Windows 2000/Windows XP的超級終端等),選擇與交換機相連的串口,設置終端通信參數:傳輸速率為9600bit/s、8 位數據位、1位停止位、無校驗和無流控。
第三步:將三層交換機啟動,終端上顯示設備自檢信息,自檢結束后提示用戶鍵入回車,之后將出現命令行提示符(如
第四步:鍵入命令,配置三層交換機或查看交換機運行狀態。需要幫助可以隨時鍵入“?”,具體的配置命令可以參考配置手冊中相關部分的內容[8]。
(2) DHCP創建與相關參數的設置。
第一步:在三層交換機上進行Vlan設置,
[H3C]vlan2 創建Vlan2,Vlan1是三層交換機默認的Vlan
[H3C- vlan2]quit
[H3C]vlan3 創建Vlan3
[H3C- vlan3]quit
[H3C]vlan4 創建Vlan4
[H3C- vlan3]quit
[H3C]vlan2 進入Vlan2配置接口
[H3C- vlan2]port Ethernet1/0/2 將三層交換機的2號端口分配給Vlan2
H3C- vlan2]quit
[H3C]vlan3 進入Vlan3配置接口
[H3C- vlan3]port Ethernet1/0/3 將三層交換機的3號端口分配給Vlan3
[H3C- vlan3]quit
H3C]vlan4 進入Vlan4配置接口
[H3C- vlan3]port Ethernet1/0/4 將三層交換機的4號端口分配給Vlan4
[H3C- vlan3]quit 這里為了防止某個端口出現故障從而影響Vlan的網絡正常通訊,可以將2個以上的網絡端口分配在同一個Vlan下
[H3C]interface vlan1
[H3C- Vlan- interface1]ip address 192.168.100.5 255.255.255.0 為Vlan1 設置IP地址
[H3C- Vlan- interface1]quit
[H3C]interface vlan2
[H3C- Vlan- interface2]ip address 192.168.101.1 255.255.255.0 為Vlan2 設置IP地址
[H3C- Vlan- interface2]quit
[H3C]interface vlan3
[H3C- Vlan- interface3]ip address 192.168.102.1 255.255.255.0 為Vlan3 設置IP地址
[H3C- Vlan- interface3]quit
[H3C]interface vlan4
[H3C- Vlan- interface4]ip address 192.168.103.1 255.255.255.0 為Vlan4設置IP地址
[H3C- Vlan- interface4]quit
第二步: 開啟三層交換機的DHCP中繼代理功能,
[H3C]dhcpenable 開啟DHCP能功能
[H3C]dhcp- server 1 ip 192.168.100.6 指定DHCP 服務器地址為192.168.100.6
第三步:在VLAN中指定DHCP服務器,
[H3C]interface vlan2
[H3C- Vlan- interface2]dhcp- server 1 在Vlan2中指定DHCP服務器
[H3C- Vlan- interface2]quit
[H3C]interface vlan3
[H3C- Vlan- interface3]dhcp- server 1 在Vlan3中指定DHCP服務器
[H3C- Vlan- interface3]quit
[H3C]interface vlan4
[H3C- Vlan- interface4]dhcp- server 1 在Vlan4中指定DHCP服務器
[H3C- Vlan- interface4]quit
[H3C]save 保存以上配置信息
第四步: 正確配置默認端口(Ethernet1/0/1),
[H3C]interface Ethernet1/0/1
[H3C- Ethernet1/0/1]port link-type hybrid
[H3C- Ethernet1/0/1] port hybrid vlan 1 2 3 4 untagged 正確配置Ethernet1/0/1為Hybrid端口,能夠接收vlan1、2、3、4發過來的報文
[H3C- Ethernet1/0/1]quit[9,10]
第五步: 在H3C U200-C 路由器上正確配置靜態路由 如圖3所示。

圖3 靜態路由設置
由于三層交換機缺省條件下各Vlan之間能夠互相通信,所以在客戶端計算機只需正確配置對應網絡參數(如:IP地址、子網掩碼、網關、DNS)即可。如:Vlan1中的計算機網絡設置如圖4所示。Vlan2中的計算機默認網關的IP地址是192.168.101.1,DNS服務器IP地址都是一樣的,Vlan3、Vlan4中的計算機的網絡設置以此類推。此時,各Vlan計算機之間已經能相互ping 通。

圖4 客戶端計算機網絡設置
2.4.2在服務器上建立動態IP地址作用域的配置
Windows Server2008 R2是微軟最新的視窗Server操作系統,是基于Windows Server 2008的硬件基礎而設計的,較以前的版本有更好的穩定性。Windows Server 2008通過加強操作系統和保護網絡環境提高了安全性,通過加快IT系統的部署與維護、使服務器和應用程序的合并與虛擬化更加簡單、提供直觀管理工具,Windows Server2008還為IT專業人員提供了靈活
性,為高校實驗室的計算機服務器和網絡基礎結構奠定了最好的基礎。
配置步驟:
(1) 在Windows Server2008 R2系統中啟動服務器管理器,在DHCP服務器的IPV4網絡中,分別新建試驗要求的四個Vlan 的IP地址段的動態地址分配作用域;
(2) 新作用域的名稱、描述建議用各自Vlan的名稱,這樣便于記憶和分類,
(3) 動態分配的IP地址范圍、排除地址范圍都需要根據實際需要進行設定,可以設置排除地址范圍,這項功能在以前的系統中是沒有的;
(4) IP地址租期設定,默認是8天,這里建議采用默認的;
(5) 路由IP地址,這里針對不同的Vlan設置不同,如:針對Vlan1,這里要設置成Vlan1的接口IP地址(192.168.100.5);
(6) DNS服務和DHCP服務安裝在同一臺服務器上,所以DNS IP地址也設為192.168.100.6,父域名稱設置為該域的域名;
(7) 激活作用域,啟動DHCP服務。
(1) 分別在不同Vlan的計算機上運行ipconfig/all命令,看其是否獲得了相應的IP地址,并相互使用ping命令,看是否連通。如果連通說明實驗成功。
(2) 在服務器上啟動DHCP服務后,如圖5,可以看出Vlan1~ Vlan4四個動態IP地址分配作用域都已經啟動,連接到Vlan1的幾臺客戶端計算機已經獲取到了IP地址。

圖5 DHCP服務啟動
在實驗室的網絡中目前多采用DHCP 服務器動態進行IP 地址的分配,雖然解決了IP 地址管理中的難題,但由于DHCP 在設計之初并沒有充分考慮到可能引起的安全的問題,導致隨之而出現的各種各樣的DHCP安全問題成為了網絡管理者的困惑。本文從DHCP 的工作原理入手,分析幾種常見的DHCP 安全問題并提出解決措施,希望對實驗室網絡管理人員有所幫助。在局域網中比較常見的由DHCP 引起的安全問題有:DHCP欺騙、IP 地址重復分配導致沖突、DOS 攻擊、系統癱瘓配置參數丟失等,下面就這些問題進行探討。
如果實驗室的網絡中有私自架設的DHCP 服務器,當客戶端計算機申請IP 地址時,這臺DHCP 服務器就可能會與DHCP 客戶端進行交互,導致客戶端獲得錯誤的IP 地址,這種私設的DHCP 服務器稱為偽(非法)DHCP 服務器。在DHCP服務器上開啟偽DHCP 服務器檢測功能后,當DHCP 服務器接收到siaddr字段(為客戶端分配IP地址的服務器IP地址)不為0的DHCP報文時,DHCP服務器會記錄報文中siaddr 字段的值及接收到報文的接口信息,以便管理員及時發現并處理偽DHCP 服務器。
開啟偽DHCP 服務器檢測功能后,對所有DHCP 服務器都會進行記錄,包括合法的DHCP 服務器。管理員需要從系統日志中查找偽DHCP 服務器。開啟偽DHCP 服務器檢測功能后,對每個DHCP 服務器只記錄一次。
配置偽DHCP 服務器檢測功能。
配置方法:進入H3CS3600系統視圖 system-view,開啟偽DHCP 服務器檢測功能,dhcp server detect,缺省情況下,偽DHCP 服務器檢測功能處于關閉狀態[11]。
IP 地址沖突也是實驗室局域網常見故障,可造成客戶無法獲取IP 地址。這種現象常被判斷為與ARP 病毒有關,然而DHCP 問題也可以導致該現象。ARP 病毒爆發時IP 地址沖突、網絡速度變慢,而有時會發現僅僅是IP 地址沖突,將發生沖突的故障機斷網后,局域網中不見其他異常,這提示我們有可能是IP設置引起的沖突而已,與ARP 病毒可能無關。局域網中的打印機、郵件服務器、防火墻等設備需要靜態分配的IP,當采用自動獲取方式的客戶端獲取的IP 與這些靜態分配的IP 相同時,就會出現IP 地址沖突現象。解決的辦法是可以將分配的靜態IP 地址排除在DHCP 的地址池之外。
為防止IP 地址重復分配導致地址沖突,DHCP 服務器為客戶端分配地址前,需要先對該地址進行探測。地址探測是通過ping 功能實現的,通過檢測是否能在指定時間內得到響應來判斷是否有地址沖突。DHCP 服務器發送目的地址為待分配地址的ICMP 回顯請求報文,如果在指定時間內收到回顯響應報文,DHCP 服務器從地址池中選擇新的IP地址,并重復上述操作;如果在指定時間內沒有得到回顯響應報文,則繼續發送ICMP 回顯請求報文,直到發送的回顯請求報文達到最大值,如果仍然沒有收到回顯響應報文,則可將地址分配給客戶端,從而確保客戶端被分得的IP 地址是唯一的。
配置方法:進入H3CS3600系統視圖system-view ,配置DHCP 服務器發送回顯請求報文的最大數目,dhcp server ping packets 2(缺省情況最大數為2),配置DHCP 服務器等待回顯響應報文的超時時間,dhcp server ping timeout 500(缺省情況為500毫秒)[12]。
實驗室局域網中的DHCP安全問題也可能源于客戶端計算機。如果有人惡意的在客戶端通過惡意軟件不斷修改該機的MAC地址連續向DHCP SERVER發送DISCOVER、REQUEST報文,那么服務器端的IP 地址池中的IP地址將很快耗盡,這會導致其他正常客戶端計算機因為無法獲取到IP地址而不能進行網絡通訊,這就是DOS攻擊。另外,故障機不斷地發送報文且這種報文是廣播的方式,對DHCP 服務器的所在的主機和網絡是一種負擔。DOS 攻擊的防御可以通過DHCP SNOOPING 綁定表來解決。DHCP SNOOPING 綁定表是根據DHCP 報文建立的,項目包括客戶的MAC、IP、租約期限、VLAN_ID、接口等。當客戶端發送DHCP 報文時,會檢查綁定表中的各項內容,如果和綁定表數據庫內容匹配則允許通過,否則丟棄。這樣可以防止客戶端修改IP和MAC實施DOS攻擊,同時這種方法還可以防止中間人攻擊。
H3C S3600交換機可以通過運行在數據鏈路層的DHCP Snooping功能監聽DHCP報文,記錄用戶的IP 地址信息。另外,在網絡中如果有私自架設的DHCP 服務器,將可能導致用戶得到錯誤的IP地址。為了使用戶能通過合法的DHCP 服務器獲取IP 地址,DHCP Snooping 安全機制允許將端口設置為信任端口與不信任端口。① 信任端口是與合法的DHCP 服務器直接或間接連接的端口。信任端口對接收到的DHCP報文正常轉發,從而保證了DHCP 客戶端獲取正確的IP 地址。② 不信任端口是不與合法的DHCP服務器連接的端口。如果從不信任端口接收到DHCP服務器響應的DHCP-ACK 和DHCP-OFFER 報文則會丟棄,從而防止了DHCP 客戶端獲得錯誤的IP 地址。[13]
配置方法:進入H3CS3600系統視圖system-view,開啟交換機DHCP Snooping功能,dhcp-snooping(缺省情況下,交換機的DHCP Snooping功能處于關閉狀態),進入以太網端口視圖,interface Ethernet1/0/2,配置當前端口為DHCP Snooping 信任端口,dhcp-snooping trust。
以上討論了實驗室網絡中DHCP服務三種典型的安全故障,還有服務器超載運行、地租租約等,這些故障比較容易解決,如解決地址租約問題:① 增加 IP 地址,充實DHCP服務器的 IP 地址池;② 縮短租約時間,使空閑的IP地址及時收回,及時下發,而不使用默認周期[14-15]。
DHCP服務已經成為高校實驗室局域網中IP地址分配的主要方式,在復雜網絡環境下的配置和使用以及DHCP安全問題也日益顯現。首先要了解DHCP工作的基本原理,仔細分析,合理的規劃網絡架構,對復雜網絡環境下的DHCP服務的搭建,常見的DHCP 欺騙、地址沖突、DOS 攻擊、超載運行、地址租約等問題都能得到有效的解決。另外,在實際實驗室網絡管理中還應該對各類故障問題進行仔細分析和認真總結,則可以妥善解決實驗室網絡中的DHCP故障。
[1] 朱文良,楊明來.仿真軟件在計算機網絡通信教學中的應用[J].網絡與通訊,2010 (11): 98-99.
ZHU Wen-liang,YANG Ming-lai.The Application of Simulation Software in Computer Network CommunicationTeachin[J]. NETWORKANDCOMMUNICATION,2010 (11): 98-99.
[2] 劉 毅,王 亮.如何在實驗室中搭建三層環境下的DHCP服務器[J].科技風, 2010 (06): 214-215.
LIU Yi,WANG Liang. Implement DHCP Service and under Three Layer Network Enviorment for Lab[J].Technology Trend,2010 (06): 214-215.
[3] 黃慶和. 略論實驗室網絡中網絡風暴的產生及應對之策[J]. 現代測量與實驗管理,2007(4): 58-59.
HUANG Qin-he. On the causes and Countermeasures of network laboratory network in the storm[J]. Advanced Measurement and Laboratory Management,2007(4): 58-59.
[4] 李金方,祁 林,饒德勝. DHCP服務在多VLAN中的應用[J].電信快報, 2008(12):17-18.
LI Jin-fang,QI Lin,RAO De-sheng. Application of DHCP services in multiple in VLAN[J].Telecommunications Information,2008(12):17-18.
[5] 王 偉.局域網中DHCP故障問題研究[J].大眾科技,2012(2):44-45.
WANG Wei. Study on failures of DHCP in the LAN [J]. Popular Science & Technology,2012(2):44-45.
[6] 方水良,孟 君.基于網絡的ASP服務平臺監控系統[J].中國機械工程,2008(8) :1703-1704.
FANG Shui-liang,MENG Jun. ASP Platform Management System Based on Grid Services [J]. China Mechanical Engineering,2008(8) :1703-1704.
[7] 路曉麗,董云衛,趙宏斌.一種面向對象的Web Application測試模型[J].計算機科學,2010(9):881-882.
LU Xiao-li, DONG Yun-wei,ZHAO Hong-bin. Object oriented Web Application Testing Model [J]. Computer Science,2010(9):881-882.
[8] 馬 龍.信息化環境下的高校教學科研儀器設備維修管理[J].中國新技術新產品, 2010(19):555-556.
MA Long.The Equipment of university teaching and research repair management Under the information environment[J]. China New Technologies and Products,2010(19):555-556.
[9] 劉 強.面向對象的系統分析設計[J].CSDN, 2007(08):221-222.
LIU Qiang. Analysis and design of object oriented systems [J].CSDN, 2007(08):221-222.
[10] 阿力甫·依不拉音,陳家勝.基于Web的儀器設備管理系統的實現與應用[J].實驗室研究與探索,2005(3):1361-1362.
ALIFU Yibulayin, CHEN Jia-sheng.On the Implementation and Operation of the Web-Based Equipment Management System [J]. Research and Exploration in Laboratory,2005(3):1361-1362.
[11] 張梁斌,高 昆,梁世斌.基于Packet Tracer的小型企業網絡應用架構的仿真實驗[J].實驗室研究與探索, 2012(10):878-879.
ZHANG Liang-bin,GAO Kun,LIANG Shi-bin. Simulation Experiment of Small Enterprise Network Application Infrastructure Based on Packet Tracer [J]. Research and Exploration in Laboratory,2012(10):878-879.
[12] 楊 峰,伍祥生.基于復雜網絡的軟件系統建模及應用研究[J].湖南中學物理,2013(3):323-324.
YANG Feng,WU Xiang-sheng.The modeling of software system and Application Research Based on complex network [J]. Hunan Middle School Physics,2013(3) ):323-324.
[13] 周赟山.跨網絡DHCP服務的構建與實現[J].現代計算機(專業版), 2010(7):26-27.
ZHOU Yun-shan. Design and implementation of DHCP services across networks[J].Modern Computer, 2010(7) :26-27.
[14] 周 進,何力軍.局域網多VLAN環境下三層交換機DHCP中繼代理的配置[J].中國高校科技與產業化, 2006(12):168-169.
ZHOU Jin,HE Li-jun. The LAN under VLAN layer three switch DHCP relay agent configuration [J].Chinese University Technology Transfer, 2006(12) :168-169.
[15] 景鵬森,顏丹丹,吳 軍. 計算機網絡管理課程實驗教學設計與實踐[J].電腦知識與技術,2011(11):7802-7803.
JING Peng-sen,YAN Dan-dan,WU Jun. Design and Practice of Experiment Teaching for Computer Network Management Course [J]. Computer Knowledge and Technology,2011(11) ):7802-7803.