1. 程式人生 > 實用技巧 >在CentOS 7系統上架設DHCP服務

在CentOS 7系統上架設DHCP服務

我架設DHCP服務使用的是CentOS 7.0.1406,核心版本號為3.10.0-123.el7.x86_64。CentOS系統安裝在虛擬機器上面,然後通過虛擬網絡卡來串接到GNS 3中架設的虛擬網路上面。整個網路拓撲是這樣的:

wKiom1UORBfgbfuhAADb6jShHNo389.jpg

如果你不是很清楚虛擬機器中的CentOS系統到底是怎麼接到GNS 3中的虛擬網路上面,也沒關係,就把上圖中的那個標註為虛擬機器的PC看做是執行著CentOS 7系統的伺服器就行了。我這篇文章也只是介紹怎麼在CentOS 7系統上架設DHCP服務,並不介紹關於GNS 3的使用和網路的知識。

要架設DHCP服務,可按照如下步驟進行:

1. 安裝DHCP軟體

安裝DHCP軟體使用命令:yum install dhcp

安裝完成後,就可看到有dhcp.x86_64這個軟體,如下圖所示。另外兩個軟體(dhcp-common.x86_64和dhcp-libs.x86_64)是連帶安裝上去的。

wKiom1UORGfB3RmeAAExLcobguU986.jpg

2. 設定配置檔案/etc/dhcp/dhcpd.conf

安裝好DHCP軟體後,就需要設定配置檔案/etc/dhcp/dhcpd.conf。要設定dhcpd.conf這個配置檔案,可以先看一下檔案/usr/share/doc/dhcp*/dhcpd.conf.example,裡面有一些例子和簡單的說明。也可以使用命令man 5 dhcpd.conf檢視更詳細的說明。

在我這個案例中,我是這麼設定dhcpd.conf文件的:

---------------------------------------------------------------------------------------------------------------------------------

[[email protected]~]# 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伺服器是所服務網段的官方DHCP伺服器。一般情況下,配置檔案中要設定authoritative,如果不設定,可能會有一些問題。

#default-lease-time

設定預設租約有效期,以秒為單位。如果客戶端在請求IP地址時並未要求租約有效期,DHCP伺服器就會將租約有效期設定為這個值。

#max-lease-time,單位為秒。在鳥哥的書中,這個值是設定客戶端可請求的最大租約有效期,而不是客戶端所能使用一個IP的最長時間。man文件裡面也有解釋“Time should be the maximumlength in seconds that will be assigned to a lease”,不過這到底是哪個意思,我就不太確定了。

#optiondomain-name設定域名。

#optiondomain-name-servers設定DNS伺服器,這裡只設置了一個DNS伺服器,也可以設定兩個 ,格式參照文件/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語句指定子網和子網掩碼。

#range語句指定可動態分配的IP的IP地址範圍。

#option routers語句指定閘道器地址。

#optionbroadcast-address指定廣播地址。這個不是很確定是不是一定要設定,在我這個虛擬網路中,不設定也能正常執行,但在實際網路中,不設定的話不知道會不會有問題。

#host語句可以給指定MAC地址(hardware ethernet所設定的值)的主機分配固定的IP地址(fixed-address所設定的值)。host後面接的那個是一個名稱來的(如pc2),這個名稱是可以隨便設定的,不用跟實際的主機名一致,但是該名稱在本配置檔案中必須是唯一的。

---------------------------------------------------------------------------------------------------------------------------------

3. 啟動dhcpd服務

設定完配置檔案後,最後就是啟動dhcpd服務了,使用命令:systemctl start dhcpd.service

如果沒什麼問題的話,DHCP服務器就部署好了。此時,可以檢視到dhcpd在監聽埠67,如下圖所示:

wKiom1UORlzDVqPLAAHj2kVOHwo492.jpg

如果服務未成功啟動的話,此時可以檢視一下/var/log/messages日誌檔案(使用命令cat/var/log/messages | grep dhcp),預設DHCP的日誌都會記錄在該檔案中。如果要檢視已分配的IP,可以檢視檔案/var/lib/dhcpd/dhcpd.leases,不過好像裡面只會記錄了動態分配的IP,而不會記錄固定IP(如前面配置檔案中的172.31.3.201),即使該IP已被分配出去。正如前面已經提到的,要了解配置檔案dhcpd.conf的更詳細配置資訊,可檢視man文件(使用命令man 5 dhcpd.conf)。而要了解配置檔案dhcpd.conf裡面各option的詳細資訊,則要檢視另一個man文件(使用命令man 5 dhcp-options)。

要檢視服務狀態的話,可使用命令systemctl statusdhcpd.service。如果要停止DHCP服務的話,則是使用命令systemctl stop dhcpd.service。修改配置檔案後,要使配置檔案生效,則可使用命令systemctl restart dhcpd.service。當然,如果是在實際生產環境中,就不能隨意改變配置檔案並重啟DHCP服務了,而是要使用omshell這個命令,按官方文件的說法,這個命令可以在服務不中止的情況下改變配置。

4. 設定服務開機啟動

要設定dhcpd服務開機啟動,使用命令:systemctl enable dhcpd.service

如果要檢查服務是否的確已設定為開機啟動,可使用命令systemctl list-unit-files。如果要取消服務開機啟動,可使用命令systemctldisable dhcpd.service。

5. 檢查測試

到上面為止,所有的配置都已完成。最後,就是要看一下客戶端能否通過DHCP協議正常獲取IP了:

wKiom1UOSn_SEZ5PAAC8uK0_RbE479.jpg

可以看到,所有客戶端都有正常獲取到IP,子網掩碼和閘道器也都是正確的。

注:上面的很多資訊主要來自於紅帽的官方文件,附上鍊接https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/,開啟連結後,裡面有個Networking Guide,就在這個文件裡面有介紹如何架設DHCP伺服器,有興趣可以看看。


轉載於:https://blog.51cto.com/techsnail/1622963