CentOS 7安裝DHCP服務

一、配置DHCP服務器

1、安裝DHCP服務器軟件

[root@centos01 ~]# mount /dev/cdrom /mnt/  <!--掛載操作系統光盤-->
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*  <!--刪除系統自動yum源-->
[root@centos01 ~]# yum -y install dhcp     <!--安裝DHCP服務 -->

2、建立主配置文件dhcpd.conf

[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf   <!--編輯主配置文件-->                                                                                   
:r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example   <!--讀取默認配置文件-->

ddns-update-style none;      <!--禁用DNS動態更新-->
option domain-name "benet.com";   <!--指定默認搜索域-->
option domain-name-servers 202.106.0.10, 202.106.0.20;  
      <!--指定DNS服務器地址-->

default-lease-time 600;       <!--默認租約時間-->
max-lease-time 7200;          <!--最大租約時間-->

1)/etc/dhcp/dhcpd.conf文件的配置構成

在主配置文件dhcpd.conf中,可以使用聲明、參數、選項這三種類型的配置,各自的作用和表現形式如下所述:

  • 聲明:用來描述dhcpd服務器中對網絡佈局的劃分,是網絡設置的邏輯範圍。常見的聲明是subnet、host,其中subnet聲明用來約束一個網段。host聲明用來約束一臺特定主機。
  • 參數:由配置關鍵字和對應的值組成,總是以“;”(分號)結束,一般位於指定的聲明範圍之內,用來設置所在範圍的運行特性(如默認租約時間、最大租約時間等)。

  • 選項:由“option”引導,後面跟具體的配置關鍵字和對應的值,也是以“;”結束,用於指定分配給客戶機的各種地址參數(如默認網關地址、子網掩碼、DNS服務器地址等)。

2)確定dhcpd服務的全局配置

爲了使配置文件的結構更加清晰、全局配置通常會放在配置文件dhcod.conf的開頭部分,可以是配置參數,也可以是配置選項。常用的全局配置參數和選項如下所述:

  • ddns-update-style:動態DNS更新模式。用來設置與DHCP服務相關聯的DNS數據動態更新模式。在實際的DHCP應用中很少用到該參數。將值設爲“none”即可。

  • default-lease-time:默認租約時間。單位爲秒,表示客戶端可以從DHCP服務器租用某個IP地址的默認時間。

  • max-lease-time:最大租約時間。單位爲秒,表示允許DHCP客戶端請求的最大租約時間,當客戶端未請求明確的租約時間時,服務器將採用默認租約時間。

  • option domain-name:默認搜索區域。未客戶機指定解析主機名時的默認搜索域,該配置選項將體現在客戶機的/etc/resolv.conf配置文件中,如“search benet.com”。

  • option domain-name-servers:DNS服務器地址。爲客戶端指定解析域名時使用的DNS服務器地址,該配置選項同樣將體現在客戶機的/etc/resolv.conf配置文件中,如“nameserver 202.106.0.20”。需要設置多個DNS服務器地址時,以逗號進行分隔。

3)確定subnet網段聲明

一臺DHCP服務器可以爲多個網段提供服務,因此subnet網段聲明必須有而且可以有多個。例如,若要DHCP服務器爲192.168.100.0/24網段提供服務,用於自動分配的IP地址範圍爲192.168.100。100~192.168.100.200,爲客戶機指定默認網關地址爲192.168.100.254,則ke可以修改dhcpd.conf配置文件,參考以下內容調整subnet網段聲明:

[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf   <!--編輯主配置文件-->    
subnet 192.168.100.0 netmask 255.255.255.0 {   <!--聲明網段地址-->
  range 192.168.100.100 192.168.100.200;  <!--設置地址池,可以有多個-->
  option routers 192.168.100.254;      <!--指定默認網關地址-->
}

4)確定host主機聲明

host聲明用於設置單個主機的網絡屬性,通常用於爲網絡打印機或個別服務器分配固定的IP地址(保留地址),這些主機的共同特點是要求每次獲取的IP地址相同,以確保服務的穩定性。

host聲明通過host關鍵字指定需要使用保留地址的客戶機名稱,並使用“hardware ethernet”參數指定該主機的MAC地址,使用“fixed-address”參數指定保留給該主機的IP地址。例如,若要爲打印機prtsvr(MAC地址爲00:0C:29:0D:BA:6B)分配固定的IP地址192.168.100.101,可以修改dhcpd.conf配置文件,參考以下內容在網段聲明內添加host主機聲明。

C:\Users\Administrator>getmac

物理地址            傳輸名稱
=================== =======================================================
00-0C-29-0D-BA-6B   \Device\Tcpip_{92E3F48B-40F0-4A0D-9604-6386AAAE3233}        <!--客戶端獲取MAC地址-->

[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf
host win7 { 
  hardware ethernet 00:0C:29:0D:BA:6B; <!--客戶機的MAC地址-->
  fixed-address 192.168.100.101;    <!--分配給客戶機的IP地址-->
}

3、啓動dhcpd服務

在啓動dhcpd服務之前,應確認提供DHCP服務器的網絡接口具有靜態指定的固定IP地址,並且至少有一個網絡接口的IP地址與DHCP服務器中的一個subnet網段相對應,否則將無法正常啓動dhcpd服務。例如,DHCP服務器的IP地址爲192.168.100.10,用於爲網段192。168.100.0/24內的其他客戶機提供自動分配地址服務。

安裝dhcp軟件包以後,對應的系統服務腳本位於/usr/lib/systemd/system/dhcpd.service,可以使用systemd服務進行控制。例如,執行以下操作可以啓動dhcpd服務,並檢查UDP的67端口是否在監聽,以確認DHCP服務器是否正常。

[root@centos01 ~]# systemctl start dhcpd    <!--啓動dhcp服務-->
[root@centos01 ~]# systemctl enable dhcpd <!--設置服務開機自動啓動-->
[root@centos01 ~]# netstat -anptu | grep 67  <!--監聽DHCP服務端口號-->
udp        0      0 0.0.0.0:67              0.0.0.0:*                           2102/dhcpd          
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1064/dnsmasq        

注意:需要關閉、重啓dhcpd服務時,只要將上述操作命令中的“start”改爲“stop”或“restart”即可。

二、使用DHCP客戶端

1、windows客戶端

CentOS 7安裝DHCP服務

ipconfig /renew     <!--可以爲主機重新獲取新的IP地址-->
ipconfig /release   <!--釋放IP地址-->
tracert IP地址       <!--可以測試從當前主機到目的主機經過的網絡節點-->
route print             <!--查看路由表-->

2、Linux客戶端

在Linux客戶機中可以設置使用DHCP的方式獲取地址。只需要編輯對應網卡的配置文件,修改或添加“BOOTPROTO=dhcp”配置行,並重新加載配置文件或者重新啓動network服務即可。例如,執行以下操作可修改網卡配置文件,並重新加載配置以通過DHCP方式自動獲取地址:

[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=ens32
DEVICE=ens32
ONBOOT=yes
[root@centos02 ~]# ifdown ens32 ; ifup ens32
[root@centos02 ~]# systemctl restart network

在Linux客戶機中,還可以使用dhclient工具來測試DHCP服務器。若直接執行“dhclient”命令,則dhclient將嘗試爲除迴環接口lo以外的所有網絡接口通過DHCP方式申請新的地址,然後自動轉入後臺繼續運行。當然,測試時可以指定一個具體的網絡接口,並結合“-d”選項使其在前臺運行,測試完畢後按Ctrl+C組合鍵終止。例如,執行“dhclient -d ens32”命令後,可以爲網卡ens32自動獲取新的IP地址,並顯示獲取過程。

[root@centos02 ~]# dhclient -d ens32
Internet Systems Consortium DHCP Client 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/ens32/00:0c:29:97:5c:9f
Sending on   LPF/ens32/00:0c:29:97:5c:9f
Sending on   Socket/fallback
DHCPDISCOVER on ens32 to 255.255.255.255 port 67 interval 4 (xid=0x5364e17f)
DHCPDISCOVER on ens32 to 255.255.255.255 port 67 interval 6 (xid=0x5364e17f)
DHCPDISCOVER on ens32 to 255.255.255.255 port 67 interval 14 (xid=0x5364e17f)         <!--DHCP發現-->
DHCPREQUEST on ens32 to 255.255.255.255 port 67 (xid=0x5364e17f)       <!--DHCP請求-->
DHCPOFFER from 192.168.100.10         <!--DHCP提供-->
DHCPACK from 192.168.100.10 (xid=0x5364e17f)   <!--DHCP確認-->
bound to 192.168.100.102 -- renewal in 229 seconds.
............                      <!--按Ctrl+C組合鍵終止-->

客戶端需要通過dhclient命令釋放獲取的IP租約時,可以結合“-r”選項。例如,執行以下的“dhclient -r ens32”將會釋放之前爲網卡ens32獲取的IP租約。此時再通過執行“ifconfig ens32”命令就看不到分配的IP地址了。

[root@centos02 ~]# dhclient -r ens32

CentOS 7安裝DHCP服務

———————— 本文至此結束,感謝閱讀 ————————

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