Linux應(yīng)用:DHCP服務(wù)器的安裝和故障排除
DHCP服務(wù)器的工作原理
本章要點(diǎn)
DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)服務(wù)器的工作原理。
安裝DHCP服務(wù)器。
DHCP服務(wù)器的故障排除。
DHCP用于為計(jì)算機(jī)自動(dòng)提供IP地址、子網(wǎng)掩碼和路由信息。網(wǎng)絡(luò)管理員通常會分配某個(gè)范圍的IP地址來分發(fā)給局域網(wǎng)上的客戶機(jī),當(dāng)設(shè)備接入這個(gè)局域網(wǎng)時(shí),它們會向DHCP服務(wù)器請求一個(gè)IP地址。然后DHCP服務(wù)器為每個(gè)請求的設(shè)備分配一個(gè)地址,直到分配該范圍內(nèi)的所有IP地址為止。已經(jīng)分配的IP地址必須定時(shí)地延長借用期,這個(gè)延期的過程稱做“l(fā)easing”,確保當(dāng)客戶機(jī)設(shè)備在正常地釋放IP地址之前突然從網(wǎng)絡(luò)斷開時(shí)被分配的地址可以歸還給服務(wù)器。本章以RHEL 5.0為例介紹如何建立一個(gè)完整和安全的DHCP服務(wù)器。
8.1 DHCP服務(wù)器的工作原理
8.1.1 DHCP簡介
DHCP的前身是BOOTP,它工作在OSI的應(yīng)用層,是一種幫助計(jì)算機(jī)從指定的DHCP服務(wù)器獲取配置信息的自舉協(xié)議。DHCP使用客戶端/服務(wù)器模式,請求配置信息的計(jì)算機(jī)叫做“DHCP客戶端”,而提供信息的叫做“DHCP服務(wù)器”。DHCP為客戶端分配地址的方法有3種,即手工配置、自動(dòng)配置和動(dòng)態(tài)配置。DHCP最重要的功能就是動(dòng)態(tài)分配,除了IP地址,DHCP還為客戶端提供其他的配置信息,如子網(wǎng)掩碼,從而使得客戶端無須用戶動(dòng)手即可自動(dòng)配置并連接網(wǎng)絡(luò)。
8.1.2 為什么使用DHCP
DHCP在快速發(fā)送客戶網(wǎng)絡(luò)配置方面很有用,當(dāng)配置客戶端系統(tǒng)時(shí),若管理員選擇DHCP,則不必輸入IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)或DNS服務(wù)器,客戶端從DHCP服務(wù)器中檢索這些信息。DHCP在網(wǎng)絡(luò)管理員想改變大量系統(tǒng)的IP地址時(shí)也有用,與其重新配置所有系統(tǒng),不如編輯服務(wù)器中的一個(gè)用于新IP地址集合的DHCP配置文件。如果某機(jī)構(gòu)的DNS服務(wù)器改變,這種改變只須在DHCP服務(wù)器中,而不必在DHCP客戶端上進(jìn)行。一旦客戶端的網(wǎng)絡(luò)被重新啟動(dòng)(或客戶端重新引導(dǎo)系統(tǒng)),改變就會生效。除此之外,如果便攜電腦或任何類型的可移動(dòng)計(jì)算機(jī)被配置使用DHCP,只要每個(gè)辦公室都有一個(gè)允許其聯(lián)網(wǎng)的DHCP服務(wù)器,它就可以不必重新配置而在辦公室間自由移動(dòng)。
8.1.3 DHCP的工作流程
1.發(fā)現(xiàn)階段
即DHCP客戶端查找DHCP服務(wù)器的階段??蛻魴C(jī)以廣播方式(因?yàn)镈HCP服務(wù)器的IP地址對于客戶端來說是未知的)發(fā)送DHCP discover信息來查找DHCP服務(wù)器,即向地址255.255.255.255發(fā)送特定的廣播信息。網(wǎng)絡(luò)上每一臺安裝了TCP/IP的主機(jī)都會接收到這種廣播信息,但只有DHCP服務(wù)器才會做出響應(yīng)。
2.提供階段
即DHCP服務(wù)器提供IP地址的階段,在網(wǎng)絡(luò)中接收到DHCP discover信息的DHCP服務(wù)器都會做出響應(yīng)。它從尚未出租的IP地址中挑選一個(gè)分配給DHCP客戶端,向其發(fā)送一個(gè)包含出租的IP地址和其他設(shè)置的DHCP offer信息。
3.選擇階段
即DHCP客戶端選擇某臺DHCP服務(wù)器提供的IP地址的階段。如果有多臺DHCP服務(wù)器向DHCP客戶端發(fā)送DHCP offer信息,則DHCP客戶端只接受第1個(gè)收到的DHCP offer信息。然后它就以廣播方式回答一個(gè)DHCP request信息,該信息中包含向它所選定的DHCP服務(wù)器請求IP地址的內(nèi)容。之所以要以廣播方式回答,是為了通知所有DHCP服務(wù)器,它將選擇某臺DHCP服務(wù)器所提供的IP地址。
4.確認(rèn)階段
即DHCP服務(wù)器確認(rèn)所提供的IP地址的階段。當(dāng)DHCP服務(wù)器收到DHCP客戶端回答的DHCP request信息之后,它向DHCP客戶端發(fā)送一個(gè)包含其所提供的IP地址和其他設(shè)置的DHCP ACK信息,告訴DHCP客戶端可以使用該IP地址,然后DHCP客戶端便將其TCP/IP與網(wǎng)卡綁定。另外,除DHCP客戶端選中的服務(wù)器外,其他的DHCP服務(wù)器都將收回曾提供的IP地址。
5.重新登錄
以后DHCP客戶端每次重新登錄網(wǎng)絡(luò)時(shí),不需要發(fā)送DHCP discover信息,而是直接發(fā)送包含前一次所分配的IP地址的DHCP request信息。當(dāng)DHCP服務(wù)器收到這一信息后,它會嘗試讓DHCP客戶端繼續(xù)使用原來的IP地址,并回答一個(gè)DHCP ACK信息。如果此IP地址已無法再分配給原來的DHCP客戶端使用(比如此IP地址已分配給其他DHCP客戶端使用),則DHCP服務(wù)器給DHCP客戶端回答一個(gè)DHCP NACK信息。當(dāng)原來的DHCP客戶端收到此信息后,必須重新發(fā)送DHCP discover信息來請求新的IP地址。
6.更新租約
DHCP服務(wù)器向DHCP客戶端出租的IP地址一般都有一個(gè)租借期限,期滿后DHCP服務(wù)器便會收回該IP地址。如果DHCP客戶端要延長其IP租約,則必須更新其IP租約。DHCP客戶端啟動(dòng)時(shí)和IP租約期限過一半時(shí),DHCP客戶端都會自動(dòng)向DHCP服務(wù)器發(fā)送更新其IP租約的信息。
DHCP的設(shè)計(jì)目標(biāo)
8.1.4 DHCP的設(shè)計(jì)目標(biāo)
DHCP的設(shè)計(jì)目標(biāo)如下。
(1)DHCP應(yīng)該是一種機(jī)制而不是策略,它必須允許本地系統(tǒng)管理員控制配置參數(shù),本地系統(tǒng)管理員應(yīng)該能夠?qū)λM芾淼馁Y源進(jìn)行有效的管理。
(2)客戶端不需要手工配置,而應(yīng)該在不參與的情況下發(fā)現(xiàn)合適于本地機(jī)的配置參數(shù),并利用這些參數(shù)加以配置。
#p#(3)不需要為單個(gè)客戶端配置網(wǎng)絡(luò),在通常情況下,網(wǎng)絡(luò)管理員沒有必要輸入任何預(yù)先設(shè)計(jì)好的用戶配置參數(shù)。
(4)DHCP不需要在每個(gè)子網(wǎng)上配置一臺服務(wù)器,出于經(jīng)濟(jì)原因,DHCP服務(wù)器必須可以和路由器或BOOTP轉(zhuǎn)發(fā)代理一起工作。
(5)DHCP客戶端必須能對多個(gè)DHCP服務(wù)器提供的服務(wù)做出響應(yīng),出于網(wǎng)絡(luò)穩(wěn)定與安全的考慮,有時(shí)需要在網(wǎng)絡(luò)中添加多臺DHCP服務(wù)器。
(6)DHCP必須靜態(tài)配置,而且必須用現(xiàn)存的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)。
(7)DHCP必須能夠和BOOTP轉(zhuǎn)發(fā)代理互操作。
(8)DHCP必須能夠?yàn)楝F(xiàn)有的BOOTP客戶端提供服務(wù)。
(9)不允許有多個(gè)客戶端同時(shí)使用一個(gè)網(wǎng)絡(luò)地址。
(10)在DHCP客戶端重新啟動(dòng)后仍然能夠保留其原先的配置參數(shù),如果可能,客戶端應(yīng)該被指定為相同的配置參數(shù)。
(11)在DHCP服務(wù)器重新啟動(dòng)后仍然能夠保留客戶端的配置參數(shù),如果可能,即使DHCP機(jī)制重新啟動(dòng),也應(yīng)該能夠?yàn)榭蛻舳朔峙湓械呐渲脜?shù)。
(12)能夠?yàn)樾录尤氲目蛻舳俗詣?dòng)提供配置參數(shù)。
(13)支持對特定客戶端永久固定分配網(wǎng)絡(luò)地址。
上面(9)~(13)的設(shè)計(jì)目標(biāo)是對于網(wǎng)絡(luò)層參數(shù)的設(shè)計(jì)而言的,在網(wǎng)絡(luò)層參數(shù)上,DHCP必須做到這幾點(diǎn)。
8.2 安裝DHCP服務(wù)器
8.2.1 DHCP配置文件
可以使用RHEL 5.0自身攜帶的RPM包安裝,安裝結(jié)束后DHCP端口監(jiān)督程序dhcpd配置文件是/etc目錄中的名為dhcpd.conf的文件。下面手工建立/etc/dhcpd.conf文件,該文件通常包括3個(gè)部分,即parameters參數(shù)、declarations聲明和option選項(xiàng)。
1.DHCP配置文件中的parameters
parameters表明如何執(zhí)行任務(wù),以及是否要執(zhí)行任務(wù)或?qū)⒛男┚W(wǎng)絡(luò)配置選項(xiàng)發(fā)送給客戶端,主要參數(shù)如表8-1所示。
表8-1 DHCP配置文件中的主要參數(shù)
參 數(shù)解 釋
ddns-update-style配置DHCP-DNS互動(dòng)更新模式
default-lease-time指定默認(rèn)租賃時(shí)間的長度,單位是秒
max-lease-time指定最大租賃時(shí)間長度,單位是秒
hardware指定網(wǎng)卡接口類型和MAC地址
server-name通知DHCP客戶端服務(wù)器名稱
get-lease-hostnames flag檢查客戶端使用的IP地址
fixed-address ip分配給客戶端一個(gè)固定的地址
authritative拒絕不正確的IP地址的要求
2.DHCP配置文件中的declarations
declarations用來描述網(wǎng)絡(luò)布局及提供客戶的IP地址等,主要聲明如表8-2所示。 聲 明解 釋
shared-network用來告知是否一些子網(wǎng)絡(luò)共享相同網(wǎng)絡(luò)
subnet描述一個(gè)IP地址是否屬于該子網(wǎng)
range起始IP終止IP提供動(dòng)態(tài)分配IP的范圍
host主機(jī)名稱參考特別的主機(jī)
group為一組參數(shù)提供聲明
續(xù)表
聲 明解 釋
allow unknown-clients﹔deny unknown-client是否動(dòng)態(tài)分配IP給未知的使用者
allow bootp;deny bootp是否響應(yīng)激活查詢
allow booting﹔deny booting是否響應(yīng)使用者查詢
filename開始啟動(dòng)文件的名稱,應(yīng)用于無盤工作站
next-server設(shè)置服務(wù)器從引導(dǎo)文件中裝入主機(jī)名,應(yīng)用于無盤工作站
【編輯推薦】