在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文檔的:

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

      [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服務器是所服務網段的官方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服務器,有興趣可以看看。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章