DHCP服務

1、DHCP服務

一、DHCP概念

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,使用UDP協議工做, 主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員做爲對全部計算機做中央管理的手段,。DHCP有3個端口,其中UDP67和UDP68爲正常的DHCP服務端口,分別做爲DHCP Server和DHCP Client的服務端口;546號端口用於DHCPv6 Client,而不用於DHCPv4,是爲DHCP failover服務,這是須要特別開啓的服務,DHCP failover是用來作「雙機熱備」的。vim

二、DHCP過程

(1)DHCP Client以廣播的方式發出DHCP Discover報文。服務器

(2)全部的DHCP Server都可以接收到DHCP Client發送的DHCP Discover報文,全部的DHCP Server都會給出響應,向DHCP Client發送一個DHCP Offer報文。DHCP Offer報文中「Your(Client) IP Address」字段就是DHCP Server可以提供給DHCP Client使用的IP地址,且DHCP Server會將本身的IP地址放在「option」字段中以便DHCP Client區分不一樣的DHCP Server。DHCP Server在發出此報文後會存在一個已分配IP地址的紀錄。網絡

(3)DHCP Client只能處理其中的一個DHCP Offer報文,通常的原則是DHCP Client處理最早收到的DHCP Offer報文。DHCP Client會發出一個廣播的DHCP Request報文,在選項字段中會加入選中的DHCP Server的IP地址和須要的IP地址。dom

(4)DHCP Server收到DHCP Request報文後,判斷選項字段中的IP地址是否與本身的地址相同。若是不相同,DHCP Server不作任何處理只清除相應IP地址分配記錄;若是相同,DHCP Server就會向DHCP Client響應一個DHCP ACK報文,並在選項字段中增長IP地址的使用租期信息。ide

(5)DHCP Client接收到DHCP ACK報文後,檢查DHCP Server分配的IP地址是否可以使用。若是可使用,則DHCP Client成功得到IP地址並根據IP地址使用租期自動啓動續延過程;若是DHCP Client發現分配的IP地址已經被使用,則DHCP Client向DHCPServer發出DHCP Decline報文,通知DHCP Server禁用這個IP地址,而後DHCP Client開始新的地址申請過程。測試

(6)DHCP Client在成功獲取IP地址後,隨時能夠經過發送DHCP Release報文釋放本身的IP地址,DHCP Server收到DHCP Release報文後,會回收相應的IP地址並從新分配。 5ab5c9ea15ce36d3d5e5e08939f33a87e850b1a1this

三、DHCP的狀態

狀態 解釋
DHCP discover 客戶端到服務器端
DHCP offer 服務器端到客戶端
DHCP request 客戶端到服務端
DHCP nack 服務器端到客戶端指示客戶端的網絡地址是不正確的
DHCP ack 服務器端到客戶端
DHCP decline 客戶端到服務器端,指示地址已經被使用
DHCP release 客戶端到服務器端,放棄網絡地址和取消剩餘的租約時間
DHCP inform 客戶端到服務器端,只要求本地配置參數,客戶端已經具備外部配置的網絡地址

四、如何續租呢?

當客戶端向服務器端取得地址之後獲得租期,當租期達到某個期限時,客戶端主動向服務器端發起廣播請求spa

%50:租賃時間達到50%時來續租,剛想DHCP服務器發現新的DHCP request請求。若是dhcp服務沒有拒絕的理由,則迴應DHCP ack信息。當DHCP客戶端收到應答信息後,就從新開始新的租用期限。

 87.5%:若是以前DHCP server沒有迴應,等到租約期的87.5%時,主動再發送一次廣播請求。

五、DHCP的配置文件

主配置文件 /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd6.conf 啓動配置文件 /etc/rc.d/init.d/dhcpd /etc/rc.d/init.d/dhcpd6 中繼器 /usr/sbin/dhcrelay /etc/rc.d/init.d/dhcrelay3d

六、/etc/dhcp/dhcpd.conf配置文檔詳解

# option definitions common to all supported networks...
option domain-name "example.org";   #searchname
option domain-name-servers ns1.example.org, ns2.example.org;    #設置DNS服務器地址

default-lease-time 600;     #設置租約時長
max-lease-time 7200;    #設置客戶端最長租期

# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;    #設置DHCP更新

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;    #設置日誌級別

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

subnet 10.152.187.0 netmask 255.255.255.0 {
}   

# This is a very basic subnet declaration.

subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;    #設置可分配IP的範圍
  option routers rtr-239-0-1.example.org,   rtr-239-0-2.example.org;    #設置客戶端默認網關
}
filename    #指明引導文件名稱
next-server #提供引導文件的服務器IP地址

當咱們配置完時候,不知道是否出現問題這時候就須要對配置文件盡心檢查 service dhcp configtestrest

示例:

(1)安裝dhcp服務 [root@localhost ~]# yum install -y dhcp (2)將配置文件複製到/etc/dhcp/目錄下[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf(3)編輯配置文件 [root@localhost ~]# vim /etc/dhcp/dhcpd.conf 2017-09-17_173719.png(4)重啓dhcp服務 [root@localhost ~]# systemctl restart dhcpd(5)在另一個機器上測試,是否能夠拿到地址。[root@localhost ~]#service restart dhcpd 2017-09-17_175020.png

注意:

一、在進行編輯注意每行完成之後要以「;」結尾。

二、在配置DHCP服務時,有時獲取到地址並不能ping,頗有可能dhcp服務IP變化。

相關文章
相關標籤/搜索