Linux應用 DHCP服務器的安裝和故障排除
DHCP服務器的工作原理
DHCP簡介
DHCP的前身是BOOTP,它工作在OSI的應用層,是一種幫助計算機從指定的DHCP服務器獲取配置信息的自舉協(xié)議。DHCP使用客戶端/服務器模式,請求配置信息的計算機叫做“DHCP客戶端”,而提供信息的叫做“DHCP服務器”。DHCP為客戶端分配地址的方法有3種,即手工配置、自動配置和動態(tài)配置。DHCP最重要的功能就是動態(tài)分配,除了IP地址,DHCP還為客戶端提供其他的配置信息,如子網掩碼,從而使得客戶端無須用戶動手即可自動配置并連接網絡。
為什么使用DHCP
DHCP在快速發(fā)送客戶網絡配置方面很有用,當配置客戶端系統(tǒng)時,若管理員選擇DHCP,則不必輸入IP地址、子網掩碼、網關或DNS服務器,客戶端從DHCP服務器中檢索這些信息。DHCP在網絡管理員想改變大量系統(tǒng)的IP地址時也有用,與其重新配置所有系統(tǒng),不如編輯服務器中的一個用于新IP地址集合的DHCP配置文件。如果某機構的DNS服務器改變,這種改變只須在DHCP服務器中,而不必在DHCP客戶端上進行。一旦客戶端的網絡被重新啟動(或客戶端重新引導系統(tǒng)),改變就會生效。除此之外,如果便攜電腦或任何類型的可移動計算機被配置使用DHCP,只要每個辦公室都有一個允許其聯(lián)網的DHCP服務器,它就可以不必重新配置而在辦公室間自由移動。
DHCP的工作流程
1.發(fā)現(xiàn)階段
即DHCP客戶端查找DHCP服務器的階段??蛻魴C以廣播方式(因為DHCP服務器的IP地址對于客戶端來說是未知的)發(fā)送DHCP discover信息來查找DHCP服務器,即向地址255.255.255.255發(fā)送特定的廣播信息。網絡上每一臺安裝了TCP/IP的主機都會接收到這種廣播信息,但只有DHCP服務器才會做出響應。
2.提供階段
即DHCP服務器提供IP地址的階段,在網絡中接收到DHCP discover信息的DHCP服務器都會做出響應。它從尚未出租的IP地址中挑選一個分配給DHCP客戶端,向其發(fā)送一個包含出租的IP地址和其他設置的DHCP offer信息。
3.選擇階段
即DHCP客戶端選擇某臺DHCP服務器提供的IP地址的階段。如果有多臺DHCP服務器向DHCP客戶端發(fā)送DHCP offer信息,則DHCP客戶端只接受第1個收到的DHCP offer信息。然后它就以廣播方式回答一個DHCP request信息,該信息中包含向它所選定的DHCP服務器請求IP地址的內容。之所以要以廣播方式回答,是為了通知所有DHCP服務器,它將選擇某臺DHCP服務器所提供的IP地址。
4.確認階段
即DHCP服務器確認所提供的IP地址的階段。當DHCP服務器收到DHCP客戶端回答的DHCP request信息之后,它向DHCP客戶端發(fā)送一個包含其所提供的IP地址和其他設置的DHCP ACK信息,告訴DHCP客戶端可以使用該IP地址,然后DHCP客戶端便將其TCP/IP與網卡綁定。另外,除DHCP客戶端選中的服務器外,其他的DHCP服務器都將收回曾提供的IP地址。
5.重新登錄
以后DHCP客戶端每次重新登錄網絡時,不需要發(fā)送DHCP discover信息,而是直接發(fā)送包含前一次所分配的IP地址的DHCP request信息。當DHCP服務器收到這一信息后,它會嘗試讓DHCP客戶端繼續(xù)使用原來的IP地址,并回答一個DHCP ACK信息。如果此IP地址已無法再分配給原來的DHCP客戶端使用(比如此IP地址已分配給其他DHCP客戶端使用),則DHCP服務器給DHCP客戶端回答一個DHCP NACK信息。當原來的DHCP客戶端收到此信息后,必須重新發(fā)送DHCP discover信息來請求新的IP地址。
6.更新租約
DHCP服務器向DHCP客戶端出租的IP地址一般都有一個租借期限,期滿后DHCP服務器便會收回該IP地址。如果DHCP客戶端要延長其IP租約,則必須更新其IP租約。DHCP客戶端啟動時和IP租約期限過一半時,DHCP客戶端都會自動向DHCP服務器發(fā)送更新其IP租約的信息。
DHCP的設計目標
(1)DHCP應該是一種機制而不是策略,它必須允許本地系統(tǒng)管理員控制配置參數(shù),本地系統(tǒng)管理員應該能夠對所希望管理的資源進行有效的管理。
(2)客戶端不需要手工配置,而應該在不參與的情況下發(fā)現(xiàn)合適于本地機的配置參數(shù),并利用這些參數(shù)加以配置。
(3)不需要為單個客戶端配置網絡,在通常情況下,網絡管理員沒有必要輸入任何預先設計好的用戶配置參數(shù)。
(4)DHCP不需要在每個子網上配置一臺服務器,出于經濟原因,DHCP服務器必須可以和路由器或BOOTP轉發(fā)代理一起工作。
(5)DHCP客戶端必須能對多個DHCP服務器提供的服務做出響應,出于網絡穩(wěn)定與安全的考慮,有時需要在網絡中添加多臺DHCP服務器。
?。?)DHCP必須靜態(tài)配置,而且必須用現(xiàn)存的網絡協(xié)議實現(xiàn)。
(7)DHCP必須能夠和BOOTP轉發(fā)代理互操作。
(8)DHCP必須能夠為現(xiàn)有的BOOTP客戶端提供服務。
(9)不允許有多個客戶端同時使用一個網絡地址。
(10)在DHCP客戶端重新啟動后仍然能夠保留其原先的配置參數(shù),如果可能,客戶端應該被指定為相同的配置參數(shù)。
?。?1)在DHCP服務器重新啟動后仍然能夠保留客戶端的配置參數(shù),如果可能,即使DHCP機制重新啟動,也應該能夠為客戶端分配原有的配置參數(shù)。
(12)能夠為新加入的客戶端自動提供配置參數(shù)。
(13)支持對特定客戶端永久固定分配網絡地址。
上面(9)~(13)的設計目標是對于網絡層參數(shù)的設計而言的,在網絡層參數(shù)上,DHCP必須做到這幾點。
安裝DHCP服務器
DHCP配置文件
可以使用RHEL 5.0自身攜帶的RPM包安裝,安裝結束后DHCP端口監(jiān)督程序dhcpd配置文件是/etc目錄中的名為dhcpd.conf的文件。下面手工建立/etc/dhcpd.conf文件,該文件通常包括3個部分,即parameters參數(shù)、declarations聲明和option選項。
1.DHCP配置文件中的parameters
parameters表明如何執(zhí)行任務,以及是否要執(zhí)行任務或將哪些網絡配置選項發(fā)送給客戶端,主要參數(shù)如表8-1所示。
DHCP配置文件中的主要參數(shù)
參 數(shù) |
解 釋 |
ddns-update-style |
配置DHCP-DNS互動更新模式 |
default-lease-time |
指定默認租賃時間的長度,單位是秒 |
max-lease-time |
指定最大租賃時間長度,單位是秒 |
hardware |
指定網卡接口類型和MAC地址 |
server-name |
通知DHCP客戶端服務器名稱 |
get-lease-hostnames flag |
檢查客戶端使用的IP地址 |
fixed-address ip |
分配給客戶端一個固定的地址 |
authritative |
關鍵詞:Linux,DHCP服務器,故障排除 閱讀本文后您有什么感想? 已有 人給出評價!
|