我架設DHCP服務(wù)使用的是CentOS 7.0.1406,核心版本號為3.10.0-123.el7.x86_64。CentOS系統安裝在虛擬機上面,然后通過(guò)虛擬網(wǎng)卡來(lái)串接到GNS 3中架設的虛擬網(wǎng)絡(luò )上面。整個(gè)網(wǎng)絡(luò )拓撲是這樣的:
如果你不是很清楚虛擬機中的CentOS系統到底是怎么接到GNS 3中的虛擬網(wǎng)絡(luò )上面,也沒(méi)關(guān)系,就把上圖中的那個(gè)標注為虛擬機的PC看做是運行著(zhù)CentOS 7系統的服務(wù)器就行了。我這篇文章也只是介紹怎么在CentOS 7系統上架設DHCP服務(wù),并不介紹關(guān)于GNS 3的使用和網(wǎng)絡(luò )的知識。
要架設DHCP服務(wù),可按照如下步驟進(jìn)行:
1. 安裝DHCP軟件
安裝DHCP軟件使用命令:yum install dhcp
安裝完成后,就可看到有dhcp.x86_64這個(gè)軟件,如下圖所示。另外兩個(gè)軟件(dhcp-common.x86_64和dhcp-libs.x86_64)是連帶安裝上去的。
2. 設置配置文件/etc/dhcp/dhcpd.conf
安裝好DHCP軟件后,就需要設置配置文件/etc/dhcp/dhcpd.conf。要設置dhcpd.conf這個(gè)配置文件,可以先看一下檔案/usr/share/doc/dhcp*/dhcpd.conf.example,里面有一些例子和簡(jiǎn)單的說(shuō)明。也可以使用命令man 5 dhcpd.conf查看更詳細的說(shuō)明。
在我這個(gè)案例中,我是這么設置dhcpd.conf文檔的:
---------------------------------------------------------------------------------------------------------------------------------
[root@localhost~]# vim /etc/dhcp/dhcpd.conf
authoritative;
default-lease-time600;
max-lease-time7200;
optiondomain-name "test.com";
optiondomain-name-servers 114.114.114.114;
#
#authoritative指明本DHCP服務(wù)器是所服務(wù)網(wǎng)段的官方DHCP服務(wù)器。一般情況下,配置文件中要設置authoritative,如果不設置,可能會(huì )有一些問(wèn)題。
#default-lease-time設置默認租約有效期,以秒為單位。如果客戶(hù)端在請求IP地址時(shí)并未要求租約有效期,DHCP服務(wù)器就會(huì )將租約有效期設置為這個(gè)值。
#max-lease-time,單位為秒。在鳥(niǎo)哥的書(shū)中,這個(gè)值是設置客戶(hù)端可請求的最大租約有效期,而不是客戶(hù)端所能使用一個(gè)IP的最長(cháng)時(shí)間。man文檔里面也有解釋“Time should be the maximumlength in seconds that will be assigned to a lease”,不過(guò)這到底是哪個(gè)意思,我就不太確定了。
#optiondomain-name設置域名。
#optiondomain-name-servers設置DNS服務(wù)器,這里只設置了一個(gè)DNS服務(wù)器,也可以設置兩個(gè) ,格式參照文檔/usr/share/doc/dhcp*/dhcpd.conf.example。
#
subnet172.31.3.0 netmask 255.255.255.0 {
range 172.31.3.10 172.31.3.200;
option routers 172.31.3.254;
option broadcast-address 172.31.3.255;
}
host pc2 {
hardware ethernet 00:50:79:66:68:01;
fixed-address 172.31.3.201;
}
#
subnet172.31.1.0 netmask 255.255.255.0 {
range 172.31.1.10 172.31.1.200;
option routers 172.31.1.254;
option broadcast-address 172.31.1.255;
}
host pc4 {
hardware ethernet 00:50:79:66:68:03;
fixed-address 172.31.1.201;
}
host pc5 {
hardware ethernet 00:50:79:66:68:04;
fixed-address 172.31.1.202;
}
#
#subnet語(yǔ)句指定子網(wǎng)和子網(wǎng)掩碼。
#range語(yǔ)句指定可動(dòng)態(tài)分配的IP的IP地址范圍。
#option routers語(yǔ)句指定網(wǎng)關(guān)地址。
#optionbroadcast-address指定廣播地址。這個(gè)不是很確定是不是一定要設置,在我這個(gè)虛擬網(wǎng)絡(luò )中,不設置也能正常運行,但在實(shí)際網(wǎng)絡(luò )中,不設置的話(huà)不知道會(huì )不會(huì )有問(wèn)題。
#host語(yǔ)句可以給指定MAC地址(hardware ethernet所設置的值)的主機分配固定的IP地址(fixed-address所設置的值)。host后面接的那個(gè)是一個(gè)名稱(chēng)來(lái)的(如pc2),這個(gè)名稱(chēng)是可以隨便設置的,不用跟實(shí)際的主機名一致,但是該名稱(chēng)在本配置文件中必須是唯一的。
---------------------------------------------------------------------------------------------------------------------------------
3. 啟動(dòng)dhcpd服務(wù)
設置完配置文件后,最后就是啟動(dòng)dhcpd服務(wù)了,使用命令:systemctl start dhcpd.service
如果沒(méi)什么問(wèn)題的話(huà),DHCP服務(wù)器就部署好了。此時(shí),可以查看到dhcpd在監聽(tīng)端口67,如下圖所示:
如果服務(wù)未成功啟動(dòng)的話(huà),此時(shí)可以查看一下/var/log/messages日志文件(使用命令cat/var/log/messages | grep dhcp),默認DHCP的日志都會(huì )記錄在該文件中。如果要查看已分配的IP,可以查看文件/var/lib/dhcpd/dhcpd.leases,不過(guò)好像里面只會(huì )記錄了動(dòng)態(tài)分配的IP,而不會(huì )記錄固定IP(如前面配置文件中的172.31.3.201),即使該IP已被分配出去。正如前面已經(jīng)提到的,要了解配置文件dhcpd.conf的更詳細配置信息,可查看man文檔(使用命令man 5 dhcpd.conf)。而要了解配置文件dhcpd.conf里面各option的詳細信息,則要查看另一個(gè)man文檔(使用命令man 5 dhcp-options)。
要查看服務(wù)狀態(tài)的話(huà),可使用命令systemctl statusdhcpd.service。如果要停止DHCP服務(wù)的話(huà),則是使用命令systemctl stop dhcpd.service。修改配置文件后,要使配置文件生效,則可使用命令systemctl restart dhcpd.service。當然,如果是在實(shí)際生產(chǎn)環(huán)境中,就不能隨意改變配置文件并重啟DHCP服務(wù)了,而是要使用omshell這個(gè)命令,按官方文檔的說(shuō)法,這個(gè)命令可以在服務(wù)不中止的情況下改變配置。
4. 設置服務(wù)開(kāi)機啟動(dòng)
要設置dhcpd服務(wù)開(kāi)機啟動(dòng),使用命令:systemctl enable dhcpd.service。
如果要檢查服務(wù)是否的確已設置為開(kāi)機啟動(dòng),可使用命令systemctl list-unit-files。如果要取消服務(wù)開(kāi)機啟動(dòng),可使用命令systemctldisable dhcpd.service。
5. 檢查測試
到上面為止,所有的配置都已完成。最后,就是要看一下客戶(hù)端能否通過(guò)DHCP協(xié)議正常獲取IP了:
可以看到,所有客戶(hù)端都有正常獲取到IP,子網(wǎng)掩碼和網(wǎng)關(guān)也都是正確的。
注:上面的很多信息主要來(lái)自于紅帽的官方文檔,附上鏈接https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/,打開(kāi)鏈接后,里面有個(gè)Networking Guide,就在這個(gè)文檔里面有介紹如何架設DHCP服務(wù)器,有興趣可以看看。