DHCP原理及配置

什麼是DHCP協議?
DHCP(Dynamic Host Configuration Protocol ,動態主機配置協議)通常被用在大型的局域網絡中,主要作用是集中的管理,分配IP地址,使網絡環境中的主機動態的獲得IP地址,Gateway地址,DNS服務器地址等信息,並能夠提升地址的使用率。

DHCP協議的工作過程?
    1.發現階段:即DHCP客戶機尋找DHCP服務器的階段。DHCP客戶機以廣播的方式發送DHCP discover 發現信息來尋找DHCP服務器(因爲DHCP服務器的IP地址對客戶機來說是未知的),即向255.255.255.255發送特定的廣播信息,網絡上每一臺安裝了TCP/IP協議的主機都會接收到這種廣播信息,但只有DHCP服務器纔會作出響應。
   2.提供階段:即DHCP服務器提供IP地址的階段。在網絡中收到DHCP discover發現信息的DHCP服務器都會作出響應,它從尚未出租的IP地址中挑選一個分配給DHCP客戶機,向DHCP客戶機發送一個包含出租的IP地址和其他設置額DHCP offer提供信息。
  3.選擇階段:DHCP客戶機選擇某臺DHCP服務器提供的IP地址的階段。  如果有多臺DHCP服務器向DHCP客戶機發來的DHCP offer,客戶機只接收第一個收到的DHCP offer,然後它以廣播的方式回答一個DHCP request請求信息。該信息中包含它所選定的DHCP服務器請求IP地址的內容。之所以要以廣播的方式回答,是爲了通知所有的DHCP服務器,它將選擇某臺DHCP服務器所提供的IP地址。
    4.確認階段:即DHCP服務器確認所提供的IP地址的階段。當DHCP服務器收到DHCP客戶機回答的DHCP resquest請求後,它便向DHCP客戶機發送一個包含它提供的IP地址和其他設置的DHCP ACK確認信息,告訴DHCP客戶機可以使用它所提供的IP地址。然後DHCP客戶機便將其TCP/IP協議與網卡綁定,除了DHCP客戶機所選擇的服務器IP外,其他的DHCP服務器都將收回曾提供的IP地址
   5.重新登陸:以後DHCP客戶機每次登陸網絡時,就不需要再發送DHCP discover發現信息了。而是直接發送包含前一次所分配IP地址的DHCP resquest請求。當DHCP服務器收到這一信息後,它會嘗試讓客戶機繼續使用原來的IP並回答一個DHCP ACK確認信息,如果此IP地址無法分配個原來的DHCP客戶機時(比如IP分配給其他DHCP客戶機使用) ,則DHCP服務器給DHCP客戶機回答一個DHCP NACK 否認消息,當原來的DHCP客戶機收到此消息後,它就必須重新發送DHCP discover發現信息重新請求新的IP地址。
   6.更新租約:DHCP服務器向DHCP客戶機出租的IP地址一般都由一個租借期限,期滿後DHCP服務器會收回出租的IP地址。如果DHCP客戶機要延長其IP租約,則必須更新其租約。DHCP客戶機啓動時和IP租約期限過一半時,DHCP客戶機都會自動向DHCP服務器發送其更新租約的信息。
  
DHCP由三種機制分配IP地址:
 1.自動分配方式:DHCP服務器爲主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務器租用到IP地址,就可以永久使用該地址。
 2.動態分配方式:DHCP服務器給主機指定一個有時間限制的IP地址, 時間到期或主機明確表示放棄該地址時,該地址可以被其他主機使用。
  3.手工分配方式:客戶端的IP地址是由網絡管理員指定的,DHCP服務器只是將指定的IP地址告訴客戶端主機。 
三種地址分配方式中, 只有動態分配方式可以重複使用客戶端不再需要的地址

DHCP服務配置

在開始之前注意selinux狀態disable  防火牆關閉
[root@localhost ~]# yum install -y dhcp            ##安裝服務
[root@localhost ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@localhost ~]# cp /usr/share/doc/dhc*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
  7 option domain-name "westos.com";           ##設置DNS域
  8 option domain-name-servers 172.25.8.10;    ##設置DNS服務器地址
  9 
 10 default-lease-time 600;                    ##設置默認租約時間,單位爲秒
 11 max-lease-time 7200;                       ##設置最大租約時間,單位爲秒
 14 #ddns-update-style none;                   ##設置dns的更新方式
 22 log-facility local7;                       ##指定日誌設備
#####註釋前面的subnet修改最後一個subnet聲明
 27 #subnet 10.152.187.0 netmask 255.255.255.0 {    
 28 #}
 32 subnet 172.25.8.0 netmask 255.255.255.0 {  ##子網網段和子網掩碼
 33   range 172.25.8.100 172.25.8.105;  ##設置ip地址池範圍100-105
 34   option routers 172.25.8.254;      ##設置客戶機的默認網關
 35 }
[root@localhost ~]# systemctl restart dhcpd  ##重啓服務

服務器的配置到此結束,下面進行客戶機的配置

[root@server ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
BOOTPROTO=dhcp    ###找到BOOTPROTO改稱dhcp
[root@server ~]# systemctl restart network  ##重啓網絡

重啓之前客戶端的IP(ps:不要在意主機名)

重啓之後IP變成了設置的範圍最小值(100-105)中的100

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