dhcp服務

DHCP服務概述

名稱:DHCP  Dynamic  Host  Configuration Protocol

功能:DHCP是一個局域網的網絡協議。使用UDP協議工作,主要有兩個用途:

1、給內部網絡或網絡服務提供商自動分配IP地址,主機名,DNS服務器,域名

2、配合其他服務,實現集成化管理功能。如無人值守安裝服務器

 

特點:C/S 模式   客戶端/服務端    bs apache

自動分配IP地址,方便管理

DHCP不會同時租借相同的IP地址給兩臺主機;

DHCP管理員可以約束特定的計算機使用特定的IP地址

可以爲每個DHCP作用域設置很多選項

客戶機在不同子網間移動時不需要重新設置IP地址,每次都自動獲取ip地址就可以了。

 

DHCP的缺點

當網絡上存在多服務器時,一個DHCP服務器不能查出已被其他服務器租出去的IP地址;

DHCP服務器不能跨路由器與客戶機通信,除非路由器允許BOOTP協議轉發。

 

端口:

DHCP服務使用:端口67(bootps) 68(bootpc)

查看   vim/etc/services

wKioL1ekN-nyDVPVAACV1mwQNwc794.jpg

 

DHCP協議由 bootp 協議發展而來,是BOOTP的增強版本,bootps 代表服務端端口,bootpc代表客戶端端口

bootp 協議:引導程序協議(bootp) 它可以讓無盤工作站從一箇中心服務器上獲取IP地址,爲局域網中的無盤工作站分配動態IP地址,並不需要每個用戶去設置靜態IP地址。

 

TOOTP有一個缺點:在設定前需事先獲得客戶端的硬件地址,而且 MAC地址與IP的對應是靜態的。換而言之,BOOTP非常缺乏“動態性”, 若在有限的IP資源環境中,BOOTP的一一對應會造成非常可觀的浪費

 

DHCP可以說是BOOTP的增強版本,它分爲兩個部分:一個是服務器端,而另一個是客戶端。所有的IP網絡設定數據都由DHCP服務器集中管理,並負責處理客戶端的DHCP要求;而客戶端則會使用從服務器分配下來的IP環境數據。比較BOOTP,DHCP透過“租約”的概念,有效且動態的分配客戶端TCP/IP設定,而且 作爲兼容考慮,DHCP也完全照顧了BOOTP Client 需求。

 

DHCP服務運行原理:

DHCP客戶端向服務端請求IP地址過程

wKiom1ekN_Xj32xaAADmstM7qdc410.jpg

discover

目標端口           源IP               目標IP

udp67            0.0.0.0             255.255.255.255

即  DHCP客戶機尋找 DHCP服務器的過程。DHCP客戶機以廣播方式(因爲DHCP服務器的IP地址對於客戶機來說是未知的) 。  發送DHCP DISCOVER 發現信息來尋找DHCP服務器。即向地址255.255.255.255發送特定的廣播信息。網絡上每一臺安裝了 TCP/IP 協議的主機都會接收到這種廣播信息,但只有DHCP服務器纔會做出響應

 

offer

目標端口           源IP                目標IP

68                dhcp服務器的ip    255.255.255.255

即 DHCP服務器提供IP地址的階段。在網絡中接收到DHCPDISCOVER 發現信息的DHCP服務器都會做出響應,它從尚未出租的IP地址中挑選一個分配給DHCP客戶機。向DHCP客戶機發送一個包含出租的IP地址和其他設置的DHCPOFFER 提供信息

 

request

目標端口           源IP                目標IP

udp  67          0.0.0.0              255.255.255.255

即 DHCP客戶機選擇某臺DHCP服務器提供的IP地址的階段。如果有多臺DHCP服務器向DHCP客戶機發來的DHCPOFER提供信息,則DHCP客戶機只接受第一個收到的DHCPoffer提供信息,然後它就以廣播方式回答一個DHCPREQUEST請求信息,該信息中包含它所選定的DHCP服務器請求IP地址的內容。之所以要以廣播形式回答,是爲了通知所有DHCP服務器,它將選擇某臺DHCP服務器所提供的IP地址。

 

ack

目標端口           源IP                目標IP

udp 68           服務器ip             255.255.255.255

即 DHCP服務器確認所提供的IP地址的階段。當DHCP服務器收到DHCP客戶機回答的DHCPREQUEST請求信息後,它便向DHCP客戶機發送一個包含它所提供的IP地址和其他設置的DHCPack確認信息。告訴DHCP客戶機可以使用它所提供的IP地址。然後DHCP客戶機便將其TCP/IP協議與網卡綁定,另外 除DHCP客戶機選中的服務器外,其他的DHCP服務器都將收回曾提供的IP地址

 

注意:客戶端執行DHCP DISCOVER後 ,如果沒有DHCP服務器響應客戶端的請求,客戶端會隨機使用 169.254.0.0/16 網段中的一個IP地址配置本機地址。

 

169.254.0.0/16 是windows自動專有IP尋址範圍,也就是在無法通過DHCP獲取IP地址時,由系統自動分配的IP地址段。

 

早先的linux上並不會產生這條路由,現在有這條路由大概是爲了和windows兼容。

[root@xuegod63 ~]#route -n     #查看路由表,netstat -rn也可以。

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.9.100.0     0.0.0.0         255.255.255.0   U    0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U    1002   0        0 eth0

0.0.0.0         192.9.100.1     0.0.0.0         UG   0      0        0 eth0

 

 

軟件包安裝

root@xuegod63 ~]# yuminstall dhcp -y

 

配置文件位置

/etc/dhcp/dhcpd.conf

 

[root@xuegod63 ~]# cat/etc/dhcp/dhcpd.conf

#

# DHCP ServerConfiguration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see 'man 5 dhcpd.conf'

 

[root@xuegod63 ~]# cp/etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

 [root@xuegod63~]#cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf

cp: overwrite`/etc/dhcp/dhcpd.conf'? y

 

當DHCP主程序包安裝好後會自動生成主配置文件的範本文件

/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

而在/etc目錄下回自動建立一個空白的dhcpd.conf 主配置文件。

現在我們將範本配置文件複製到/etc 目錄下替換掉空白的dhcpd.conf主配置文件

 

 

服務啓動關閉腳本,查看端口

/etc/init.d/dhcpd start

service dhcpd restart

 

開機啓動

chkconfig  dhcpd on      #配置的服務要保證開機啓動

1)chkconfig

運行級別3  自動加載dhcpd 服務

chkconfig --level 3dhcpd on

運行級別3  關閉自動加載dhcpd服務

chkconfig --level 3dhcpd off

 

 

修改配置文件實戰

說明:

dhcp 範本配置文件內容包含了部分參數、聲明以及選項的用法,其中註釋部分可以放在任何位置,並以“#”號開頭,當一行內容結束時,以“;”號結束,大括號所在行除外】

 

可以看出整個配置文件分成全局和局部兩個部分。但並不容易看出那些屬於參數,那些屬於聲明和選項

 

概念與協議:

作用域:可以分配IP的範圍 subnet

地址池:可以分配給客戶端的IP,range包括的IP

保留地址: 指定給某個客戶端使用一個特定IP,通過host配置的

租約(時間): 客戶端可以使用這個IP地址的時間

 

 

配置文件:/etc/http/httpd.conf    部分配置解釋

#option  definitions common  to all supportednetworks...  定義全局配置,通用於所有支持的網絡選項

option  domain-name “example.org”;  #爲客戶端指定所屬的域

option  domain-name-servers  ns1.example.com.org,ns2.example.com.org; 爲客戶端指定DNS服務器地址

 

(3)default-lease-time 600;

作用:定義默認IP租約時間,以秒爲單位的租約時間。

50%:續約。(續不上繼續用)

87.5%:再次續約。(續不上找別人)

dhcp客戶機除了在開機的時候發出DHCPREQUEST 請求之外,在租約期限一半的時候也會發出DHCPrequest,如果此時得不到DHCP服務器的確認的話,工作站還可以繼續使用該IP;當租約起過了87.5%時,如果客戶機仍然無法與當初的DHCP服務器聯繫上,它將與其他DHCP服務器通信。如果網絡上再沒有任何DHCP協議服務器運行時,該客戶機必須停止使用該IP地址,並從新發送一個DHCPdiscover數據包 開始,再一次重複整個過程。要是您想退組,可以隨時送出DHCPRELEASE命令解約,就算您的租約在前一秒鐘才獲得的。

 

(4)max-lease-time number7200;

作用:定義客戶端IP租約時間的最大值,當客戶端超過租約時間,卻尚未更新IP時,最長可以使用該IP的時間;

 

例:

比如,機器在開機獲得IP地址後,關機了。這時 當時間過了 default-lease-time 600秒後,沒有機器向DHCP續約,DHCP會保留7200秒,保留此IP地址不用於分配給其他機器。當超過7200秒後,將不再保留此IP地址給此機器。

 

注意:(3)、(4)都是以秒爲單位的租約時間,該項參數可以作用在全局配置中,也可以作用在局部配置中。

 

log-facility local7;           #定義日誌類型爲  local7

 

聲明一般用來指定IP作用域,定義爲客戶端分配的IP 地址池等等

聲明格式如下:

subnet 網絡號 netmask 子網掩碼{

選項或參數

}

 

例:

常見聲明的使用 如下:

(1) subnet 網絡號 netmask 子網掩碼{......}

作用:定義作用域,指定子網

subnet 10.5.5.0 netmask255.255.255.224 {

  range 10.5.5.26 10.5.5.30;

  option domain-name-serversns1.internal.example.org;

  option domain-name"internal.example.org";

  option routers 10.5.5.1;

  option broadcast-address 10.5.5.31;

  default-lease-time 600;

  max-lease-time 7200;

注意: 網絡號必須與DHCP服務器的網絡號相同

 

下面介紹一下每個選項的含義

(1) range 起始IP地址   結束IP地址

作用: 指定動態IP地址範圍

注意:可以在subnet(子網)聲明中指定多個range,但多個range所定義IP範圍不能重複

 

常用選項介紹

選項通常用來配置DHCP客戶端的可選參數,比如定義客戶端的DNS地址,默認網關等。選項內容都是以option關鍵字開始。

 

常見選項使用如下:

(1)option  routers  IP地址

作用:爲客戶端指定默認網關

如:optionrouters 10.5.5.1

(3) option  domain-name-servers  IP 地址

作用:爲客戶端指定DNS服務器地址

注意:(1)、(2) 、(3)選項可以用在全局配置中,也可以用在局部配置中。

 

租約數據庫文件

租約數據庫文件用於保存一系列的租約聲明,其中包含客戶端的主機名、MAC地址、分配到的IP地址

以及IP地址的有效期等相關信息。這個數據庫文件是可編輯的ASCII格式文本文件。每當發生租約變化的時候,都會在文件結尾添加新的租約記錄。

DHCP 剛安裝好後租約數據庫文件 dhcpd.leases 是個空文件

/var/lib/dhcpd/dhcpd.leases

當DHCP服務正常運行後就可以使用cat 命令查看租約數據庫文件內容了。

 

 

實例:

公司有60臺計算機,IP地址段爲192.168.0.1-192.168.0.254. 子網掩碼是255.255.255.0,網關爲192.168.0.1,192.   網段地址168.0.2-192.168.0.30給服務器配置,客戶端可以使用的地址段爲192.168.0.100-200,其餘ip地址爲保留地址。

 

實驗環境:

我的虛擬機使用橋接模式是否可行? 不行,因爲你的局域網中已經有dhcp服務器,這樣你就很難讓你的客戶端從你的dhcp服務器獲取地址。同時也會造成公司局域網中其他機器因爲獲取你的dhcp服務器分配的地址 而上不了網

 

虛擬機網卡置成vmnet4

client端 設置爲自動獲取ip地址

wKioL1ekOFKSZDnDAAE5qItnu4M063.jpg

客戶端

wKiom1ekOGrgueHCAADD0qpyuZk498.jpg

wKioL1ekOGvA1LrQAABhEyohQNM727.jpg


例2: ip地址綁定

在DHCP 中的IP地址綁定用於給客戶端分配固定IP地址。比如服務器需要使用固定IP地址就可以使用IP地址綁定。通過MAC地址與IP地址的對應關係爲指定的物理地址計算機分配固定IP地址。

整個配置過程需要用到host聲明和hardware 、fixed-address參數。

 

(1) host 主機名{......}

作用:用於定義保留地址

(2)hardware 類型 硬件地址

作用:定義網絡接口類型和硬件地址。常用類型爲以太網(ethernet),地址爲MAC地址。

(3)fixed-address IP地址

作用: 定義DHCP客戶端指定的IP地址。

 

vim/etc/dhcp/dhcpd.conf    添加host字段

wKiom1ekOJvTLajnAAFU6xFr3_c531.jpg

在服務端重啓dhcp服務

service dhcpd restart

 

在客戶端重啓網卡

service  network restart

wKioL1ekOL7gDdX7AACbYTvRrZU777.jpg

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