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