大家都知道上網(wǎng)的最基本前提是要在終端上設(shè)置IP、子網(wǎng)掩碼膝捞、網(wǎng)關(guān)坦刀、DNS等地址信息,在家里或者在辦公室很多時候打開電腦后發(fā)現(xiàn)就可以上網(wǎng)蔬咬,并沒有手動設(shè)置IP鲤遥、掩碼、DNS地址也能上網(wǎng)林艘,這是什么原因呢?其實這個原因很簡單盖奈,說明你的內(nèi)網(wǎng)有"DHCP"服務(wù)器,通過它給你的終端自動分配了IP掩碼和網(wǎng)關(guān)等地址狐援,省去了你手動配置過程钢坦,從而給網(wǎng)管人員和辦公人員都帶來了方便,簡化了管理過程啥酱。
今天就以本篇文章內(nèi)容給大家詳細(xì)介紹一下"DHCP"實現(xiàn)的基本原理以及常見的幾種搭建DHCP服務(wù)器的方法!
一爹凹、DHCP實現(xiàn)原理
1. DHCP是什么
DHCP(Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議镶殷,使用UDP協(xié)議工作禾酱。它是一種流行的Client/Server協(xié)議,一般用于為主機或者為路由器等指定相關(guān)的配置信息。DHCP服務(wù)在企業(yè)和家庭中得到了大量的應(yīng)用颤陶,它能夠自動分配ip地址以及一些其他的相關(guān)信息颗管,整個過程對客戶透明。
2. 部署DHCP服務(wù)的好處
減少管理員的工作量
避免輸入錯誤的可能
避免ip地址沖突
當(dāng)網(wǎng)絡(luò)更改ip地址段時滓走,不需要再重新配置每一個用戶的ip地址
提高了ip地址的利用率
方便客戶端的配置
3. DHCP分配方式
自動分配方式(Automatic Allocation)忙上,DHCP服務(wù)器為主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務(wù)器端租用到IP地址后闲坎,就可以永久性的使用該地址疫粥。
動態(tài)分配方式(Dynamic Allocation),DHCP服務(wù)器給主機指定一個具有時間限制的IP地址腰懂,時間到期或主機明確表示放棄該地址時梗逮,該地址可以被其他主機使用。
手工分配方式(Manual Allocation)绣溜,客戶端的IP地址是由網(wǎng)絡(luò)管理員指定的慷彤,DHCP服務(wù)器只是將指定的IP地址告訴客戶端主機。
4. DHCP工作過程
DHCP客戶機在啟動時怖喻,會搜尋網(wǎng)絡(luò)中是否存在DHCP服務(wù)器底哗。如果找到,則給DHCP服務(wù)器發(fā)送一個請求锚沸。DHCP服務(wù)器接到請求后跋选,為DHCP客戶機選擇TCP/IP配置的參數(shù),并把這些參數(shù)發(fā)送給客戶端哗蜈。 如果已配置沖突檢測設(shè)置前标,則DHCP服務(wù)器在將租約中的地址提供給客戶機之前會使用Ping測試作用域中每個可用地址的連通性。這可確保提供給客戶的每個IP地址都沒有被使用手動TCP/IP配置的另一臺非DHCP計算機使用距潘。
根據(jù)客戶端是否第一次登錄網(wǎng)絡(luò)炼列,DHCP的工作形式會有所不同。
初次登錄時DHCP工作包括四個步驟:
(1) 第一步尋找DHCP服務(wù)器
當(dāng)DHCP客戶端第一次登錄網(wǎng)絡(luò)的時候音比,計算機發(fā)現(xiàn)本機上沒有任何IP地址設(shè)定俭尖,將以廣播方式發(fā)送DHCP?discover發(fā)現(xiàn)信息來尋找DHCP服務(wù)器,即向255.255.255.255發(fā)送特定的廣播信息洞翩。網(wǎng)絡(luò)上每一臺安裝了TCP/IP協(xié)議的主機都會接收這個廣播信息稽犁,但只有DHCP服務(wù)器才會做出響應(yīng)。
(2) 第二步分配IP地址
在網(wǎng)絡(luò)中接收到DHCP?discover發(fā)現(xiàn)信息的DHCP服務(wù)器就會做出響應(yīng)菱农,它從尚未分配的IP地址池中挑選一個分配給DHCP客戶機缭付,并向DHCP客戶機發(fā)送一個包含分配的IP地址和其他設(shè)置的DHCP offer提供信息。
(3) 第三步接受IP地址
DHCP客戶端接受到DHCP offer提供信息之后循未,選擇第一個接收到的提供信息陷猫,然后以廣播的方式回答一個DHCP?request請求信息秫舌,該信息包含向它所選定的DHCP服務(wù)器請求IP地址的內(nèi)容。
(4) 第四步IP地址分配確認(rèn)
當(dāng)DHCP服務(wù)器收到DHCP客戶端回答的DHCP request請求信息之后绣檬,便向DHCP客戶端發(fā)送一個包含它所提供的IP地址和其他設(shè)置的DHCP?ack確認(rèn)信息足陨,告訴DHCP客戶端可以使用它提供的IP地址。然后娇未,DHCP客戶機便將其TCP/IP協(xié)議與網(wǎng)卡綁定墨缘,另外,除了DHCP客戶機選中的DHCP服務(wù)器外零抬,其他的DHCP服務(wù)器將收回曾經(jīng)提供的IP地址镊讼。
重新登錄:
以后DHCP客戶端每次重新登錄網(wǎng)絡(luò)時,就不需要再發(fā)送DHCP discover發(fā)現(xiàn)信息了平夜,而是直接發(fā)送包含前一次所分配的IP地址的DHCP request請求信息蝶棋。當(dāng)DHCP服務(wù)器收到這一信息后,它會嘗試讓DHCP客戶機繼續(xù)使用原來的IP地址忽妒,并回答一個DHCP?ack確認(rèn)信息玩裙。如果此IP地址已無法再分配給原來的DHCP客戶機使用時,則DHCP服務(wù)器給DHCP客戶機回答一個DHCP?nack否認(rèn)信息段直。當(dāng)原來的DHCP客戶機收到此DHCP nack否認(rèn)信息后吃溅,它就必須重新發(fā)送DHCP discover發(fā)現(xiàn)信息來請求新的IP地址。
如果客戶端DHCP request 內(nèi)的IP地址在服務(wù)器端沒有被使用鸯檬,DHCP服務(wù)器回復(fù)DHCP ACK繼續(xù)使用IP决侈。
如果客戶端DHCP request 內(nèi)的IP地址在服務(wù)器端已被使用,DHCP服務(wù)器回復(fù)DHCP NACK告訴客戶端IP已被使用京闰。
回復(fù)NACK后颜及,重新開始DHCP初次登錄時的流程
更新租約:
DHCP服務(wù)器向DHCP客戶機出租的IP地址一般都有一個租借期限,期滿后DHCP服務(wù)器便會收回出租的IP地址蹂楣。如果DHCP客戶機要延長其IP租約,則必須更新其IP租約讯蒲。DHCP客戶機啟動時和IP租約期限到達租約的50%時痊土,DHCP客戶機都會自動向DHCP服務(wù)器發(fā)送更新其IP租約的信息。
二墨林、常見的幾種搭建DHCP服務(wù)器的方法
1. 利用TPLinK等寬帶路由器內(nèi)置的DHCP功能模塊提供服務(wù)
這種方法很簡單赁酝,首先就是登錄路由器,找到DHCP功能設(shè)置的位置旭等,直接設(shè)置即可酌呆。
設(shè)置好保存重啟后,網(wǎng)內(nèi)的計算機就可以自動獲取iP地址等信息了搔耕。
2. 辦公網(wǎng)環(huán)境利用三層交換機搭建DHCP服務(wù)
以華為交換機舉例:
在三層交換機配置DHCP服務(wù)過程:
system-view?(進入全局模式)
[Huawei]sysname?SW1?(?設(shè)備命名)
[SW1]dhcp?enable?(使用DHCP功能)
[SW1]ip?pool?10?(創(chuàng)建全局地址池隙袁,同時進入全局地址池視圖)
[SW1-ip-pool-10]network?192.168.10.0?mask?24 (配置全局地址池可動態(tài)分配的IP地址范圍)
[SW1-ip-pool-10]dns-list?8.8.8.8?(配置DNS?)
[SW1-ip-pool-10]gateway-list?192.168.10.1?(配置網(wǎng)關(guān))
[SW1-ip-pool-10]excluded-ip-address?192.168.10.201?192.168.10.254?(保留不被分配的地址)
[SW1-ip-pool-10]lease?day?7?(IP租約期限)
[SW1-ip-pool-10]dis?this?(查詢當(dāng)前模式的配置)
# ip?pool?10
gateway-list?192.168.10.1?(網(wǎng)關(guān))
network?192.168.10.0?mask?255.255.255.0?(IP地址范圍)
excluded-ip-address?192.168.10.201?192.168.10.254?(保留IP地址范圍)
lease?day?7?hour?0?minute?0?(IP租約周期)
dns-list?8.8.8.8
[SW1-ip-pool-10]quit?(退出
[SW1]ip?pool?20
[SW1-ip-pool-20]network?192.168.20.0?mask?24
[SW1-ip-pool-20]dns-list?8.8.8.8
[SW1-ip-pool-20]gateway-list?192.168.20.1
[SW1-ip-pool-20]excluded-ip-address?192.168.20.201?192.168.20.254
[SW1-ip-pool-20]lease?day?7
[SW1-ip-pool-20]q
------------------------------------------------
[SW1]vlan?batch?10?20?(批量創(chuàng)建vlan)
[SW1]interface?GigabitEthernet?0/0/1?(進入port?1)
[SW1-GigabitEthernet0/0/1]port?link-type?access?(配置port?1?類型)
[SW1-GigabitEthernet0/0/1]port?default?vlan?10?(配置port?1?vlan)
[SW1-GigabitEthernet0/0/1]quit?(退出)
[SW1]interface?GigabitEthernet?0/0/2
[SW1-GigabitEthernet0/0/2]port?link-type access
[SW1-GigabitEthernet0/0/2]port?default?vlan?20
[SW1-GigabitEthernet0/0/2]quit
(?配置VLANIF10接口下的客戶端從全局地址池中獲取IP地址)
[SW1]interface?Vlanif?10?(創(chuàng)建vlanif?10)
[SW1-Vlanif10]ip?address?192.168.10.1?24?(配置IP地址)
[SW1-Vlanif10]dhcp?select?global?(在vlanif?10模式下調(diào)用全局地址池)
[SW1-Vlanif10]display?this?(查詢當(dāng)前配置參數(shù))
#
interface?Vlanif10
ip?address?192.168.10.1?255.255.255.0
dhcp?select?global
#
Return
[SW1-Vlanif10]quit
[SW1]interface?Vlanif?20
[SW1-Vlanif20]ip?address?192.168.20.1?24
[SW1-Vlanif20]dhcp?select?global
[SW1-Vlanif20]quit
[SW1]display?ip?pool?(查看IP地址池配置情況)
[SW1]quit
save?(保存配置,寫入設(shè)備)
3. 在Windows 系統(tǒng)里搭建DHCP服務(wù)
以2008server為例:
2008ser搭建DHCP服務(wù)器步驟:
第一步:安裝Windows Server 2008系統(tǒng)作為服務(wù)器端;客戶端可安裝其他Windows系統(tǒng)。
第二步:進入2008ser系統(tǒng)菩收,手動設(shè)置IP(未設(shè)置靜態(tài)IP梨睁,后面無法繼續(xù))
第三步:打開服務(wù)器管理器:系統(tǒng)中點擊 "開始菜單程序"——> 管理工具 ——>服務(wù)器管理器
第四步:進入服務(wù)器管理器,點擊左側(cè)的"角色"然后點擊右側(cè)"添加角色"
第五步:進入添加角色向?qū)J(rèn)下一步娜饵,
第六步:服務(wù)器角色界面坡贺,勾選DHCP服務(wù)器;
第七步:勾選DHCP服務(wù)器后,單擊"下一步"按鈕箱舞,屏幕上將會彈出DHCP服務(wù)器簡介窗口遍坟,默認(rèn)下一步;
第八步: 進入選擇網(wǎng)絡(luò)連接綁定,勾選IP地址;安裝程序?qū)⒆詣訖z查你的服務(wù)器是否具有一個靜態(tài)IP地址晴股,第2步設(shè)置了則會被檢測顯示出來政鼠。
第九步:接下來到"IPv4DNS設(shè)置",需要輸入你的父域名和DNS服務(wù)器的IP地址队魏,這個域?qū)⒂糜谖覀冊谶@臺DHCP服務(wù)器上創(chuàng)建的所有作用域; 當(dāng)DHCP更新IP地址信息的時候公般,相應(yīng)的DNS更新會將計算機的名稱到IP地址的關(guān)聯(lián)進行同步。
第十步:是否要設(shè)置WINS服務(wù)器地址參數(shù)胡桨,默認(rèn)"此網(wǎng)絡(luò)上的應(yīng)用程序不需要WINS"選項; (若需要則正確設(shè)置好目標(biāo)WINS服務(wù)器的IP地址官帘。)
第十一步:接下來的"DHCP作用域"窗口中,點擊右側(cè)"添加"我們可以根據(jù)本地局域網(wǎng)的IP地址分配情況昧谊,設(shè)置好DHCP服務(wù)器的適用范圍刽虹,同時選中"激活此作用域"選項,并單擊"確定"添加完成呢诬。
第十二步: DHCPv6無狀態(tài)模式涌哲,選擇禁用模式;在Windows Server 2008中默認(rèn)增加了對下一代IP地址規(guī)范IPv6的支持,不過就目前的網(wǎng)絡(luò)現(xiàn)狀來說很少用到IPv6尚镰,因此可以選擇對此服務(wù)器禁用DHCPv6無狀態(tài)模式阀圾。
第十三步: 在"確認(rèn)"界面,確認(rèn)后點擊安裝狗唉,開始自動安裝初烘。進度條完成,DHCP也安裝完成分俯。
最后同局域網(wǎng)中的客戶端設(shè)置為自動獲得IP地址肾筐,即可獲得DHCP自動分配的IP;
4.?Linux系統(tǒng)下搭建DHCP服務(wù)
以ubuntu系統(tǒng)為例:
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如下:
配置步驟如下:
第一步:安裝isc-dhcp-server
采用命令:apt-get install isc-dhcp-server:
第一步:配置isc-dhcp-server
首先對作為DHCP服務(wù)器的"ubuntu 副本"進行設(shè)置:
第三步:進入超級用戶,編輯文件/etc/default/isc-dhcp-server文件:
在INTERFACES=""處填入網(wǎng)卡名enp0s3:
第四步:將文件打開發(fā)現(xiàn)有很多例子缸剪,都是被注釋掉了的吗铐,選用一個例子,修改后的結(jié)果如下:
修改本機的IP地址杏节,子網(wǎng)掩碼唬渗,默認(rèn)網(wǎng)關(guān)典阵,DNS等:
對該網(wǎng)卡進行重啟,對網(wǎng)絡(luò)進行重新啟動谣妻,將DHCP服務(wù)開啟:
第五步:Linux客戶機配置(虛擬機從虛擬機獲得IP):
網(wǎng)絡(luò)連接設(shè)置為自動獲取IP地址:
在命令行中輸入dhclient命令重新分配IP地址萄喳,我們發(fā)現(xiàn)IP地址成功被分配到了,其中圖一是未得到分配的IP地址蹋半,圖二是重分配后得到的由DHCP服務(wù)器192.168.137.2分配而來的IP地址192.168.137.101:
通過wireshark抓包進行分析他巨,可看到IP地址192.168.137.101的確是由DHCP服務(wù)器192.168.137.2提供的,并且可以看到它們之間的request-ack過程