一、動態(tài)主機(jī)配置協(xié)議
1、什么是動態(tài)主機(jī)配置協(xié)議?有什么用?
動態(tài)主機(jī)配置協(xié)議(DHCP,Dynamic Host Configuration Protocol)是一種基于 UDP 協(xié)議且僅限于在局域網(wǎng)內(nèi)部使用的網(wǎng)絡(luò)協(xié)議,主要用于大型的局域網(wǎng)環(huán)境或者存在較多移動辦公設(shè)備的局域網(wǎng)環(huán)境中,其主要用途是為局域網(wǎng)內(nèi)部的設(shè)備或網(wǎng)絡(luò)供應(yīng)商自動分配 IP 地址等參數(shù)。
該協(xié)議用于自動管理局域網(wǎng)內(nèi)主機(jī)的 IP 地址、子網(wǎng)掩碼、網(wǎng)關(guān)地址及 DNS 地址等參數(shù),可以有效地提升 IP 地址的利用率,提高配置效率,并降低管理與維護(hù)成本。
簡單來說,DHCP 協(xié)議就是讓局域網(wǎng)中的主機(jī)自動獲得網(wǎng)絡(luò)參數(shù)的服務(wù)。不僅可以為主機(jī)自動分配網(wǎng)絡(luò)參數(shù),還可以確保主機(jī)使用的 IP 地址是唯一的,更重要的是,還能為特定主機(jī)分配固定的 IP 地址。

2、與DHCP相關(guān)的常用術(shù)語
作用域:一個(gè)完整的IP地址段,DHCP協(xié)議根據(jù)作用域來管理網(wǎng)絡(luò)的分布、分配IP地址及其他配置參數(shù)。
超級作用域:用于管理處于同一個(gè)物理網(wǎng)絡(luò)中的多個(gè)邏輯子網(wǎng)段。超級作用域中包含了可以統(tǒng)一管理的作用域列表。
排除范圍:把作用域中的某些IP地址排除,確保這些IP地址不會分配給DHCP客戶端。
地址池:在定義了DHCP的作用域并應(yīng)用了排除范圍后,剩余的用來動態(tài)分配給DHCP客戶端的IP地址范圍。
租約:DHCP客戶端能夠使用動態(tài)分配的IP地址的時(shí)間。
預(yù)約:保證網(wǎng)絡(luò)中的特定設(shè)備總是獲取到相同的IP地址。
二、部署 dhcpd 服務(wù)
1、關(guān)閉防火墻和selinux
[root@DHCP ~]# systemctl stop firewalld #關(guān)閉防火墻
[root@DHCP ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@DHCP ~]# setenforce 0 #臨時(shí)關(guān)閉selinux
2、安裝 dhcp 服務(wù)程序
dhcpd 是 Linux 系統(tǒng)中用于提供 DHCP 協(xié)議的服務(wù)程序。盡管 DHCP 協(xié)議的功能十分強(qiáng)大,但是 dhcpd 服務(wù)程序的配置步驟卻十分簡單。
[root@DHCP ~]# yum install dhcp
...
Install 1 Package
Total download size: 506 k
Installed size: 1.4 M
Is this ok [y/d/N]: y #這里回復(fù)y確認(rèn)安裝
...
3、關(guān)于 dhcpd 服務(wù)的配置文件
[root@DHCP ~]# cat /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example #有關(guān)dhcpd配置的示例文件
# see dhcpd.conf(5) man page
dhcp的服務(wù)程序的配置文件中只有3行注釋語句,這意味著我們需要自行編寫這個(gè)文件,如果不知道怎么編寫,可以看一下配置文件中第2行的有關(guān)dhcpd配置的示例文件

一個(gè)標(biāo)準(zhǔn)的配置文件應(yīng)該包括全局配置參數(shù)、子網(wǎng)網(wǎng)段聲明、地址配置選項(xiàng)以及地址配置參數(shù)。其中,全局配置參數(shù)用于定義dhcpd服務(wù)程序的整體運(yùn)行參數(shù);子網(wǎng)網(wǎng)段聲明用于配置整個(gè)子網(wǎng)段的地址屬性。其常用參數(shù)及其含義如下圖示:

三、使用動態(tài) IP 地址
DHCP 協(xié)議的設(shè)計(jì)初衷是為了更高效地集中管理局域網(wǎng)內(nèi)的 IP 地址資源。DHCP 服務(wù)器會自動把 IP 地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS 地址等網(wǎng)絡(luò)信息分配給有需要的客戶端,而且當(dāng)客戶端的租約時(shí)間到期后還可以自動回收所分配的 IP 地址,以便交給新加入的客戶端。
1、需求描述
明天會有100名學(xué)員自帶筆記本電腦來千鋒參加云計(jì)算培訓(xùn),請保證這些學(xué)員能夠使用機(jī)房的DHCP服務(wù)器自動獲取IP地址并正常上網(wǎng)。千鋒機(jī)房所用的網(wǎng)絡(luò)地址及其參數(shù)信息如下圖示:
- 機(jī)房所用的網(wǎng)絡(luò)地址以及參數(shù)信息
| 參數(shù)名稱 | 值 |
|---|---|
| 默認(rèn)租約時(shí)間 | 21600秒 |
| 最大租約時(shí)間 | 43200秒 |
| IP地址范圍 | 10.3.134.50~10.3.134.150 |
| 子網(wǎng)掩碼 | 255.255.255.0 |
| 網(wǎng)關(guān)地址 | 10.3.134.1 |
| DNS服務(wù)器地址 | 10.3.134.1 |
| 搜索域 | qfedu.com |
在了解了真實(shí)需求以及機(jī)房網(wǎng)絡(luò)中的配置參數(shù)之后,我們按照如上參數(shù)來配置DHCP服務(wù)器以及客戶端
- DHCP服務(wù)器以及客戶端的配置信息
| 主機(jī)類型 | 操作系統(tǒng) | IP地址 |
|---|---|---|
| DHCP服務(wù)器 | RHEL 7 | 192.168.10.1 |
| DHCP客戶機(jī) | RHEL 7 | DHCP自動獲取地址 |
2、準(zhǔn)備工作
前面講到,作用域一般是個(gè)完整的IP地址段,而地址池中的IP地址才是真正供客戶端使用的,因此地址池應(yīng)該小于或等于作用域的IP地址范圍。另外,由于VMware Workstation虛擬機(jī)軟件自帶DHCP服務(wù),為了避免與自己配置的dhcpd服務(wù)程序產(chǎn)生沖突,應(yīng)該先將虛擬機(jī)軟件自帶的DHCP功能關(guān)閉。


- 另需注意:DHCP 客戶端與DHCP服務(wù)器需要處于同一種網(wǎng)絡(luò)模式----僅主機(jī)模式(Hostonly),否則就會產(chǎn)生物理隔離,從而無法獲取 IP地址。
3、開始配置 dhcpd 服務(wù)
在確認(rèn) DHCP 服務(wù)器的 IP 地址等網(wǎng)絡(luò)信息配置妥當(dāng)后就可以配置 dhcpd 服務(wù)程序了。請注意,在配置dhcpd服務(wù)程序時(shí),配置文件中的每行參數(shù)后面都需要以分號;結(jié)尾,這是規(guī)定。
[root@DHCP ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
subnet 10.3.134.0 netmask 255.255.255.0 {
range 10.3.134.50 10.3.134.150;
option domain-name-servers 10.3.134.1;
option domain-name "qfedu.com";
option routers 10.3.134.1;
default-lease-time 21600;
max-lease-time 43200;
}
- dhcpd服務(wù)程序配置文件中使用的參數(shù)以及作用
| 參數(shù) | 作用 |
|---|---|
| ddns-update-style none; | 設(shè)置DNS服務(wù)不自動進(jìn)行動態(tài)更新 |
| ignore client-updates; | 忽略客戶端更新DNS記錄 |
| subnet 10.3.134.0 netmask 255.255.255.0 { | 作用域?yàn)?92.168.10.0/24網(wǎng)段 |
| range 10.3.134.50 10.3.134.150; | IP地址池為10.3.134.50-150(約100個(gè)IP地址) |
| option subnet-mask 255.255.255.0; | 定義客戶端默認(rèn)的子網(wǎng)掩碼 |
| option routers 10.3.134.1; | 定義客戶端的網(wǎng)關(guān)地址 |
| option domain-name "qfedu.com"; | 定義默認(rèn)的搜索域 |
| option domain-name-servers 10.3.134.1; | 定義客戶端的DNS地址 |
| default-lease-time 21600; | 定義默認(rèn)租約時(shí)間(單位:秒) |
| max-lease-time 43200; | 定義最大預(yù)約時(shí)間(單位:秒) |
| } | 結(jié)束符 |
對 dhcpd服務(wù)配置完成后,重啟 dhcpd服務(wù),并將其添加到開機(jī)啟動項(xiàng)中去。
[root@DHCP ~]# systemctl start dhcpd
[root@DHCP ~]# systemctl enable dhcpd
4、在客戶端測試 dhcpd 服務(wù)
把dhcpd服務(wù)程序配置妥當(dāng)之后就可以開啟客戶端來檢驗(yàn)IP分配效果了。重啟客戶端的網(wǎng)卡服務(wù)后即可看到自動分配到的IP地址
[root@Client ~]# systemctl restart network
[root@Client ~]# ifconfig

四、使用固定 IP 地址
在DHCP協(xié)議中有個(gè)術(shù)語是“預(yù)約”,它用來確保局域網(wǎng)中特定的設(shè)備總是獲取到固定的IP地址。換句話說,就是dhcpd服務(wù)程序會把某個(gè)IP地址私藏下來,只將其用于相匹配的特定設(shè)備。
要想把某個(gè)IP地址與某臺主機(jī)進(jìn)行綁定,就需要用到這臺主機(jī)的MAC地址。
1、準(zhǔn)備工作
MAC地址是網(wǎng)卡上面的一串獨(dú)立的標(biāo)識符,具備唯一性,因此不會存在沖突的情況。

在dhcpd服務(wù)程序的配置文件中,按照如下格式將IP地址與MAC地址進(jìn)行綁定。

如果不方便查看主機(jī)的MAC地址,該怎么辦呢?比如,要給老板使用的主機(jī)綁定IP地址,總不能隨便就去查看老板的主機(jī)信息吧。我們首先啟動dhcpd服務(wù)程序,為老板的主機(jī)分配一個(gè)IP地址,這樣就會在DHCP服務(wù)器本地的日志文件中
/var/log/messages保存這次的IP地址分配記錄。然后查看日志文件,就可以獲悉主機(jī)的MAC地址了
2、配置 dhcpd 服務(wù)
[root@DHCP ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
subnet 10.3.134.0 netmask 255.255.255.0 {
range 10.3.134.50 10.3.134.150;
option domain-name-servers 10.3.134.1;
option domain-name "qdedu.com";
option routers 10.3.134.1;
default-lease-time 21600;
max-lease-time 43200;
host localhost {
hardware ethernet 00:0c:29:9d:78:d8; #指定的 IP地址與客戶機(jī)的MAC 地址進(jìn)行綁定
fiexed-address 10.3.134.50;
}
}
需要說明的是,如果您剛剛為這臺主機(jī)分配了IP地址,則它的IP地址租約時(shí)間還沒有到期,因此不會立即換成新綁定的IP地址。要想立即查看綁定效果,則需要重啟一下客戶端的網(wǎng)絡(luò)服務(wù)
[root@DHCP ~]# systemctl restart network
[root@DHCP ~]# ifconfig
五、課后習(xí)題
1.簡述DHCP協(xié)議的主要用途。
答:為局域網(wǎng)內(nèi)部的設(shè)備或網(wǎng)絡(luò)供應(yīng)商自動分配IP地址等參數(shù)。
2.DHCP協(xié)議能夠?yàn)榭蛻舳朔峙涫裁淳W(wǎng)卡資源?
答:可為客戶端分配IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)地址以及DNS地址等信息。
3.真正供用戶使用的IP地址范圍是作用域還是地址池?
答:地址池,因?yàn)樽饔糜騼?nèi)還會包含要排除掉的IP地址。
4.簡述DHCP協(xié)議中“租約”的作用。
答:租約分為默認(rèn)租約時(shí)間和最大租約時(shí)間,用于在租約時(shí)間到期后自動回收主機(jī)的IP地址,以免造成IP地址的浪費(fèi)。
5.把IP地址與主機(jī)的什么信息綁定,就可以保證該主機(jī)一直獲取到固定的IP地址?
答:主機(jī)網(wǎng)卡的MAC地址。