1. 程式人生 > >設定DHCP服務的配置以及DHCP工作原理

設定DHCP服務的配置以及DHCP工作原理

設定dhcp服務的配置

**1.DHCP服務 **

  DHCP(Dynamic Host Configuration Protocol,動態主機設定協議),是一個區域網的網路協議,使用UDP協議工作。它是TCP/IP協議簇中的一種,
  主要作用是集中的管理、分配IP地址,使client動態的獲得IP地址、Gateway地址、DNS伺服器地址等資訊,並能夠提升地址的使用率。
  簡單來說,DHCP就是一個不需要賬號密碼登入的、自動給內網機器分配IP地址等資訊的協議。
  這些被分配的IP地址都是DHCP伺服器預先保留的一個由多個地址組成的地址集,並且它們一般是一段連續的地址。 
  使用DHCP時必須在網路上有一臺DHCP伺服器,而其他機器執行DHCP客戶端。當DHCP客戶端程式發出一個資訊,要求一個動態的IP地址時,
  DHCP伺服器會根據目前已經配置的地址,提供一個可供使用的IP地址和子網掩碼給客戶端。      

2. DHCP工作原理
在這裡插入圖片描述
簡述:

(1)客戶機尋找伺服器(DHCP Client發現階段):廣播發送discover包,尋找dhcp伺服器
(2)伺服器響應請求(DHCP Server 提供階段):單播發送offer包,對客戶機做出響應。提供客戶端網路相關的租約以供選擇其中伺服器在收到客戶端的請求後,會針對客戶端的mac地址與本身的設定資料進行一下工作:
    a)到伺服器的登入檔案中尋找該使用者之前曾經使用過的ip,若有且該ip目前沒有人使用,這提供此ip為客戶機
    b)若配置檔案中有針對該mac提供額外的固定ip,且該ip沒有被使用,則提供此ip給客戶機
    c)如果沒有符合以上兩個條件,則隨機取用目前沒有被使用的ip引數給客戶機並記錄到leases檔案中。
(3)客戶機發送ip請求(DHCP Client 選擇階段):廣播request包,選擇一個伺服器提供的網路引數租約回報伺服器。此外,客戶機會發送一個廣播封包給區域網內的所有主機,告知自己已經接受伺服器的租約。
(4)伺服器確認租約(DHCP Server確認階段):單播Ack包,伺服器與客戶機確認租約關係並記錄到伺服器的leases檔案中 。
  DHCP獲得ip地址的4步驟: discover-­-->offer­--->request­--->ack(nak)

  DHCP重新整理租期的步驟:    request­--->ack(nak)

  DHCP釋放ip的步驟:      release

注意事項:

客戶端傳輸廣播包給整個物理網路段內的所有主句,如區域網內有DHCP伺服器時,才會響應客戶端的IP引數要求,
所以DHCP伺服器與客戶端應該在同一個物理網段內。

3.dhcp服務的搭建

實驗環境:

 dhcp服務端: desktop
 dhcp客戶端: server

安裝包:

dhcp-4.2.5-27.el7.x86_64.rpm

(1).安裝dhcp服務

rpm -ivh dhcp-4.2.5-27.el7.x86_64.rpm  ##安裝dhcp服務
    
具體引數的含義:
        i: 安裝(install)
        v: 顯示安裝資訊
        h: hash解密
[[email protected] Desktop]# cd /mnt
[[email protected] mnt]# ls
dhcp-4.2.5-27.el7.x86_64.rpm  etc.tar  westos1  westos3  westos5
etc                           file     westos2  westos4
##安裝dhcp
[[email protected] mnt]# rpm -ivh dhcp-4.2.5-27.el7.x86_64.rpm 
warning: dhcp-4.2.5-27.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                                                            (100%################################# [100%]
Updating / installing...
   1:dhcp-12:4.2.5-27.el7                                               (  2%################################# [100%]
##此時dhcp服務無法開啟
[[email protected] mnt]# systemctl start dhcpd
[[email protected] mnt]#systemctl status dhcpd

在這裡插入圖片描述

(2) .配置dhcp服務

@1.拷貝模板

[[email protected] mnt]# cd
[[email protected] ~]# cd /etc/dhcp
[[email protected] dhcp]# ls
dhclient.d  dhcpd6.conf  dhcpd.conf
[[email protected] dhcp]# vim dhcpd.conf
##################
/usr/share/doc/dhcp*/dhcpd.conf.example ##模板

在這裡插入圖片描述

##拷貝模板到 /etc/dhcp/dhcpd.conf 檔案中
[[email protected] dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y  ##確定覆蓋原檔案

@2.更改配置檔案

[[email protected] dhcp]# vim dhcpd.conf
##################
7 option domain-name "westos.com";   ##域名(與公司名稱相對應)
8 option domain-name-servers 172.25.254.250;  ##dns地址(地址解析:將網址轉換為ip)

10 default-lease-time 600;  ##預設租約期
11 max-lease-time 7200;     ##最長租約期

刪除27 28 行

30 subnet 172.25.254.0 netmask 255.255.255.0 {  ##網路位(子網)  子網掩碼
31   range 172.25.254.60 172.25.254.70;  #分配ip範圍(地址池)
32   option routers 172.25.254.250;      #閘道器(在企業中是已知的)
33 }

刪除34行以後的所有內容

在這裡插入圖片描述
在這裡插入圖片描述

##只有做好了dhcp服務的配置,dhcp服務才能啟動成功
[[email protected] dhcp]# systemctl restart dhcpd

(3).測試

 ##先重置虛擬機器
[[email protected] Desktop]$ rht-vmctl reset server
[[email protected] Desktop]$ rht-vmctl view server
##在圖形介面開啟server;發現獲得了一個ip
[[email protected] Desktop]# ifconfig eth0

在這裡插入圖片描述

##發現server主機的獲取的ip來自於node1的dhcp;因為二者的mac地址相同
[[email protected] dhcp]# cat /var/lib/dhcpd/dhcpd.leases

在這裡插入圖片描述
答疑解惑:

1)如何知道客戶機從哪個DNS Server獲得ip地址?
客戶端的租約檔案在/var/lib/dhclient/dhclient.leases
服務端的租約檔案在/var/lib/dhcpd/dhcpd.leases

2)伺服器分配ip的順序?
從小的ip開始分配

3)為何客戶機在獲得一個ip後,釋放再獲得ip時會獲得以前使用的ip?
客戶機內有一個租約檔案存放自己曾經獲得的ip地址,伺服器端也有一個租約檔案存放了自己已經分配的ip以及其對應的主機mac。

4)伺服器會在哪些埠提供dhcp服務?
預設在任何埠提供dhcp服務。實際上只是在與dhcp同一網段的網絡卡上提供dhcp服務。

5)如果租約到期,而伺服器並沒有續約,該如何處理?
會向其他伺服器尋找dhcp服務