了解DHCP服務(wù)

DHCP (Dynamic Host
Configuration Protocol,動(dòng)態(tài)
主機(jī)配置協(xié)議)
由Internet工作任務(wù)小組設(shè)計(jì)開發(fā)專門用于為TCP/IP網(wǎng)絡(luò)中的計(jì)算機(jī)自動(dòng)分配TCP/IP參數(shù)的協(xié)議

使用DHCP的好處

減少管理員的工作量
避免輸入錯(cuò)誤的可能
避免IP地址沖突
當(dāng)更改IP地址段時(shí),不需要重新配置每個(gè)用戶的IP地址
提高了IP地址的利用率
方便客戶端的配置

DHCP的分配方式

自動(dòng)分配:分配到-一個(gè)IP地址后永久使用
手動(dòng)分配:由DHCP服務(wù)器管理員專門]指定IP地址
動(dòng)態(tài)分配:使用完后釋放該IP,供其它客戶機(jī)使用.

DHCP的租約過(guò)程

客戶機(jī)從DHCP服務(wù)器獲得IP地址的過(guò)程稱為DHCP的租約過(guò)程

四個(gè)步驟:

(1)客戶端在網(wǎng)絡(luò)中搜索服務(wù)
(2)服務(wù)器向客戶端響應(yīng)服務(wù)
(3)客戶端向目標(biāo)服務(wù)器發(fā)出服務(wù)
(4)服務(wù)器向客戶端提供服務(wù)

DHCP的租約過(guò)程

客戶機(jī)請(qǐng)求IP地址

當(dāng)一個(gè)DHCP客戶機(jī)啟動(dòng)時(shí),客戶機(jī)還沒(méi)有IP地址,所以
客戶機(jī)要通過(guò)DHCP獲取一個(gè)合法的地址
此時(shí)DHCP客戶機(jī)以廣播方式發(fā)送DHCP Discover發(fā)現(xiàn)信
息來(lái)尋找DHCP服務(wù)器

服務(wù)器響應(yīng)

DHCP服務(wù)器接收到來(lái)自客戶機(jī)請(qǐng)求IP地址的信息時(shí),在
自己的IP地址池中查找是否有合法的IP地址提供給客戶機(jī)
如果有,DHCP服務(wù)器將此IP地址做上標(biāo)記,加入到
DHCP Offer的消息中,然后廣播一則DHCP Offer消息

客戶機(jī)選擇IP地址

DHCP客戶機(jī)從接收到的第一個(gè)DHCP Offer消息中提取
P地址,發(fā)出IP地址的DHCP服務(wù)器將該地址保留,這樣
該地址就不能再分配給另一個(gè)DHCP客戶機(jī)

服務(wù)器確定租約

DHCP服務(wù)器接收到DHCP Request消息后,以HCP
ACK消息的形式向客戶機(jī)廣播成功確認(rèn),該消息包含有IP
地址的有效租約和其他可配置的信息

當(dāng)客戶機(jī)收到DHCP ACK消息時(shí),配置IP地址,完成
TCP/IP的初始化

重新登錄

DHCP客戶機(jī)每次重新登錄網(wǎng)絡(luò)時(shí),不需要再發(fā)送DHCP
Discover信息,而是直接發(fā)送包含前一-次所分配的IP地址
的DHCP Request請(qǐng)求信息

更新租約

當(dāng)DHCP服務(wù)器向客戶機(jī)出租的IP地址租期達(dá)到50%時(shí),
就需要更新租約
客戶機(jī)直接向提供租約的服務(wù)器發(fā)送DHCP Request包,
要求更新現(xiàn)有的地址租約

使用DHCP動(dòng)態(tài)配置主機(jī)地址

DHCP服務(wù)

為大量客戶機(jī)自動(dòng)分配地址,提供集中管理
減輕管理和維護(hù)成本、提高網(wǎng)絡(luò)配置效率

可分配的地址信息主要包括

網(wǎng)卡的IP地址、子網(wǎng)掩碼
對(duì)應(yīng)的網(wǎng)絡(luò)地址、廣播地址
默認(rèn)網(wǎng)關(guān)地址
DNS服務(wù)器地址

安裝DHCP服務(wù)器

DHCP服務(wù)器軟件
CentOS光盤中的dhcp-4.2.5-47.el7.centos.x86_ 64.rpm
DHCP軟件包的主要文件
主配置文件: /etc/dhcpd.conf
執(zhí)行程序: /usr/sbin/dhcpd、 /usr/sbin/dhcrelay

配置DHCP服務(wù)器

yum install -y dhcp
cd /etc/dhcp/
ls
less dhcpd. conf
cd /usr/share/doc/dhcp-4.2.5/
ls
less dhcpd. conf . example
cp /usr/ share/doc/dhcp-4.2.5/dhcpd . conf . example /etc/ dhcp/ dhcpd. conf
vim /etc/ dhcp/ dhcpd. conf
設(shè)置全局配置參數(shù)
default-lease-time 21600;
默認(rèn)租約為6小時(shí),單位為秒
max- lease-time 43200;
最大租約為12小時(shí),單位為秒
option domain-name "benet . com" ;
指定默認(rèn)域名
option domain-name-servers 202.106.0.20, 202.106.148.1;
指定DNS服務(wù)器地址
ddns-update-style none;
禁用DNS動(dòng)態(tài)更新
subnet網(wǎng)段聲明(作用于整個(gè)子網(wǎng)段,部分配置參數(shù)優(yōu)先級(jí)高于全局配置參數(shù))
subnet 192. 168.80.0 netmask 255.255.255.0 {
聲明要分配的網(wǎng)段地址
range 192.168.80.10 192.168.80.20;
設(shè)置地址池
option routers 192.168.80.254;
指定默認(rèn)網(wǎng)關(guān)地址

}

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192. 168.1.100192.168.1.200;
option routers 192.168.1.254;
default-lease-time 45600;
option domain-name-servers 8.8.8.8;

}

subnet 192.168.2.0 netmask 255.255.255.0 {
range 192. 168.2.20192.168.2.30;
option routers 192.168.2.254;

}

#host主機(jī)聲明(給單機(jī)分配固定的IP地址)
host hostname {
#指定需要分配固定IP地址的客戶機(jī)名稱
hardware ethernet 00:c0:c3:22:46:81;
指定該主機(jī)的MAC地址
fixed-address 192.168.4. 100;
指定保留給該主機(jī)的IP地址
后面內(nèi)容可都刪除

systemctl start dhcpd
systemctl stop firewalld
setenforce 0
netstat -anpu | grep ":67"

實(shí)驗(yàn)前的準(zhǔn)備工作

==該圖是用來(lái)關(guān)閉防火墻的操作命令,可以用systemctl stop firewalld命令來(lái)關(guān)閉防火墻。==

==該指令用來(lái)關(guān)閉開機(jī)自啟動(dòng)。==
==圖中我使用了getenforce這個(gè)命令來(lái)查看selinux這個(gè)選項(xiàng)有沒(méi)有被關(guān)閉,圖中顯示的是沒(méi)有關(guān)閉,所以我用了setenforce 0來(lái)進(jìn)行臨時(shí)關(guān)閉。==

==該圖是永久關(guān)閉selinux的方法,在selinux這個(gè)選項(xiàng)的后面,我們輸入disabled來(lái)進(jìn)行永久關(guān)閉。==

==該圖是用來(lái)安裝DHCP這個(gè)軟件包的過(guò)程,我們可以使用rpm -ivh選項(xiàng)來(lái)進(jìn)行安裝,當(dāng)然也可以使用yum來(lái)進(jìn)行安裝,我這里用的是rpm來(lái)進(jìn)行安裝,當(dāng)中我使用了grep這個(gè)命令來(lái)篩選出有關(guān)于dhcp的文件。==

==由于dhcpd.conf.example
這個(gè)文件里面是空的,我們可以用cp這個(gè)命令來(lái)把/usr/share/doc/dhcp里面的dhcpd.conf.example文件的內(nèi)容給復(fù)制過(guò)來(lái),然后進(jìn)行修改。==

==這里就是利用vim編輯器對(duì)里面的內(nèi)容進(jìn)行修改,我們進(jìn)行對(duì)內(nèi)容進(jìn)行修改。==
==我們可以在這里進(jìn)行設(shè)置多個(gè)網(wǎng)關(guān)的操作。==
==我們啟動(dòng)dhcpd這個(gè)選項(xiàng),提示正常啟動(dòng)。==
==這里把dhcpd用的端口號(hào)給查找出來(lái)。==
==這里我們要把虛擬機(jī)的網(wǎng)絡(luò)模式改為今主機(jī)模式,由于我是用linux虛擬機(jī)操作,所以做實(shí)驗(yàn)的幾臺(tái)虛擬機(jī)都需要把網(wǎng)絡(luò)模式改為僅主機(jī)模式。==
==這里我們需要把本地dhcp服務(wù)這個(gè)選項(xiàng)給關(guān)掉。==
==進(jìn)入電腦的網(wǎng)絡(luò)管理器里面使用vment1打開它的屬性。==
==然后要把它的ip地址改為當(dāng)前主機(jī)的網(wǎng)關(guān),其是要可用的IP地址。==
==這是我使用另一臺(tái)虛擬機(jī)來(lái)進(jìn)行查看能不能獲取到實(shí)驗(yàn)的結(jié)果,這里已經(jīng)成功獲取到。==

==dhcp的中繼結(jié)合ensp實(shí)驗(yàn)==

==這里是使用ensp來(lái)進(jìn)行dhcp的操作,這里是我的實(shí)驗(yàn)圖。==
==這里我們要在cloud云里面進(jìn)行添加網(wǎng)卡的操作,首先添加udp,然后我們?cè)谔砑觱ment1這個(gè)網(wǎng)卡的選項(xiàng),然后就可以進(jìn)行正常的操作了。==
==該圖是sw2里面的操作內(nèi)容,我們進(jìn)行vlan的配置。==
==該圖是sw1里面的操作我們進(jìn)行配置接口類型,以及vlanif的操作。==
==這里我們要進(jìn)行配置dhcp的ip,這里設(shè)置的IP要與我們進(jìn)行操作修改dhcpd.conf.example文件的這臺(tái)虛擬機(jī)的IP地址一致。==
==這里我們要把pc3這個(gè)主機(jī)的mac地址給復(fù)制到dhcpd.conf.example文件里面然后進(jìn)行改寫。==
==在虛擬機(jī)里面我們拼VLAN10的IP發(fā)現(xiàn)拼不通。==
==我們進(jìn)入虛擬機(jī)把網(wǎng)關(guān)的尾綴改為與其相同。==
==修改后,發(fā)現(xiàn)可用進(jìn)行拼通了。==
==這里我們?cè)趐c端的命令行里輸入ipconfig命令來(lái)查看有無(wú)數(shù)據(jù)傳輸過(guò)來(lái),表示中繼有用。==
==這里我們?cè)趐c端的命令行里輸入ipconfig命令來(lái)查看有無(wú)數(shù)據(jù)傳輸過(guò)來(lái),表示中繼有用==
==這里我們?cè)趐c端的命令行里輸入ipconfig命令來(lái)查看有無(wú)數(shù)據(jù)傳輸過(guò)來(lái),表示中繼有用==