本章要點
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)服務器的工作原理。
安裝DHCP服務器。
DHCP服務器的故障排除。
DHCP用于為計算機自動提供IP地址、子網掩碼和路由信息。網絡管理員通常會分配某個范圍的IP地址來分發給局域網上的客戶機,當設備接入這個局域網時,它們會向DHCP服務器請求一個IP地址。然后DHCP服務器為每個請求的設備分配一個地址,直到分配該范圍內的所有IP地址為止。已經分配的IP地址必須定時地延長借用期,這個延期的過程稱做“leasing”,確保當客戶機設備在正常地釋放IP地址之前突然從網絡斷開時被分配的地址可以歸還給服務器。本章以RHEL 5.0為例介紹如何建立一個完整和安全的DHCP服務器。
8.1 DHCP服務器的工作原理
8.1.1 DHCP簡介
DHCP的前身是BOOTP,它工作在OSI的應用層,是一種幫助計算機從指定的DHCP服務器獲取配置信息的自舉協議。DHCP使用客戶端/服務器模式,請求配置信息的計算機叫做“DHCP客戶端”,而提供信息的叫做“DHCP服務器”。DHCP為客戶端分配地址的方法有3種,即手工配置、自動配置和動態配置。DHCP最重要的功能就是動態分配,除了IP地址,DHCP還為客戶端提供其他的配置信息,如子網掩碼,從而使得客戶端無須用戶動手即可自動配置并連接網絡。
8.1.2 為什么使用DHCP
DHCP在快速發送客戶網絡配置方面很有用,當配置客戶端系統時,若管理員選擇DHCP,則不必輸入IP地址、子網掩碼、網關或DNS服務器,客戶端從DHCP服務器中檢索這些信息。DHCP在網絡管理員想改變大量系統的IP地址時也有用,與其重新配置所有系統,不如編輯服務器中的一個用于新IP地址集合的DHCP配置文件。如果某機構的DNS服務器改變,這種改變只須在DHCP服務器中,而不必在DHCP客戶端上進行。一旦客戶端的網絡被重新啟動(或客戶端重新引導系統),改變就會生效。除此之外,如果便攜電腦或任何類型的可移動計算機被配置使用DHCP,只要每個辦公室都有一個允許其聯網的DHCP服務器,它就可以不必重新配置而在辦公室間自由移動。
8.1.3 DHCP的工作流程
1.發現階段
即DHCP客戶端查找DHCP服務器的階段。客戶機以廣播方式(因為DHCP服務器的IP地址對于客戶端來說是未知的)發送DHCP discover信息來查找DHCP服務器,即向地址255.255.255.255發送特定的廣播信息。網絡上每一臺安裝了TCP/IP的主機都會接收到這種廣播信息,但只有DHCP服務器才會做出響應。
2.提供階段
即DHCP服務器提供IP地址的階段,在網絡中接收到DHCP discover信息的DHCP服務器都會做出響應。它從尚未出租的IP地址中挑選一個分配給DHCP客戶端,向其發送一個包含出租的IP地址和其他設置的DHCP offer信息。
3.選擇階段
即DHCP客戶端選擇某臺DHCP服務器提供的IP地址的階段。如果有多臺DHCP服務器向DHCP客戶端發送DHCP offer信息,則DHCP客戶端只接受第1個收到的DHCP offer信息。然后它就以廣播方式回答一個DHCP request信息,該信息中包含向它所選定的DHCP服務器請求IP地址的內容。之所以要以廣播方式回答,是為了通知所有DHCP服務器,它將選擇某臺DHCP服務器所提供的IP地址。
4.確認階段
即DHCP服務器確認所提供的IP地址的階段。當DHCP服務器收到DHCP客戶端回答的DHCP request信息之后,它向DHCP客戶端發送一個包含其所提供的IP地址和其他設置的DHCP ACK信息,告訴DHCP客戶端可以使用該IP地址,然后DHCP客戶端便將其TCP/IP與網卡綁定。另外,除DHCP客戶端選中的服務器外,其他的DHCP服務器都將收回曾提供的IP地址。
5.重新登錄
以后DHCP客戶端每次重新登錄網絡時,不需要發送DHCP discover信息,而是直接發送包含前一次所分配的IP地址的DHCP request信息。當DHCP服務器收到這一信息后,它會嘗試讓DHCP客戶端繼續使用原來的IP地址,并回答一個DHCP ACK信息。如果此IP地址已無法再分配給原來的DHCP客戶端使用(比如此IP地址已分配給其他DHCP客戶端使用),則DHCP服務器給DHCP客戶端回答一個DHCP NACK信息。當原來的DHCP客戶端收到此信息后,必須重新發送DHCP discover信息來請求新的IP地址。
6.更新租約
DHCP服務器向DHCP客戶端出租的IP地址一般都有一個租借期限,期滿后DHCP服務器便會收回該IP地址。如果DHCP客戶端要延長其IP租約,則必須更新其IP租約。DHCP客戶端啟動時和IP租約期限過一半時,DHCP客戶端都會自動向DHCP服務器發送更新其IP租約的信息。