天天看點

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

dhcp服務

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位址過程

dhcp服務

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

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

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位址

dhcp服務

用戶端

dhcp服務
dhcp服務

例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字段

dhcp服務

在服務端重新開機dhcp服務

繼續閱讀