天天看點

搭建DHCP服務實作動态配置設定IP位址【詳解】

搭建DHCP服務實作動态配置設定IP位址

一:實驗内容

 DHCP伺服器工作原理

 使用DHCP為區域網路中的機器配置設定IP位址

 使用DHCP為伺服器配置設定固定IP位址

二:實驗環境:

服務端:xuegod63  IP:192.168.1.70

用戶端:RHEL-6.2-64-71  IP:192.168.1.71

用戶端:RHEL-6.2-64-72  IP:192.168.1.72

三:實驗步驟

第一塊:概述

1:DHCP服務概述:

名稱:DHCP  - Dynamic Host Configuration Protocol  動态主機配置協定

功能:DHCP(Dynamic Host Configuration Protocol,動态主機配置協定)是一個區域網路的網絡協定,使用UDP協定工作,

主要有兩個用途:

1、 給内部網絡或網絡服務供應商自動配置設定IP位址,主機名,DNS伺服器,域名

2、 配和其它服務,實作內建化管理功能。如:無人執守安裝伺服器

3、 特點: C/S 模式   用戶端/服務端

自動配置設定IP位址,友善管理

DHCP不會同時租借相同的IP位址給兩台主機

DHCP管理者可以限制特定的計算機使用特定的IP位址

客戶機在不同子網間移動時不需要重新設定IP位址。每次都自動擷取IP位址就可以了。

2:DHCP的缺點:

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

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

你的DHCP隻能在一個區域網路裡工作

3:端口:

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

                     67是服務端 68是用戶端

[root@xuegod63~]#vim/etc/services

<a href="http://s4.51cto.com/wyfs02/M02/8B/57/wKiom1hKEIPSYvW6AAAtToWSseI248.png" target="_blank"></a>

bootp協定:引導程式協定(BOOTP)。它可以讓無盤工作站從一個中心伺服器上獲得IP位址,為區域網路中的無盤工作站配置設定動态IP位址,并不需要每個使用者去設定靜态IP位址。

  BOOTP有一個缺點:您在設定前須事先獲得用戶端的硬體位址,而且,MCA位址與IP的對應是靜态的。換而言之,BOOTP非常缺乏“動态性 ”,若在有限的IP資源環境中,BOOTP的一對一對應會造成非常可觀的浪費。

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

4:DHCP服務運作原理:

DHCP用戶端向服務端請求IP位址過程

注釋:

-------DHCP  DISCOVER -------&gt;  udp 目标67  源IP0.0.0.0 目的IP:255.255.255.255

即DHCP客戶機尋找DHCP伺服器的階段。DHCP客戶機以廣播方式(因為DHCP伺服器的IP位址對于客戶機來說是未知的)發送DHCP  discover資訊來尋找DHCP伺服器,即向位址255.255.255.255發送特定的廣播資訊。網絡上每一台安裝了TCP/IP協定的主機都會接收到這種廣播資訊,但隻有DHCP伺服器才會做出響應

&lt;------DHCP   OFFER ----------udp  68  源IP是DHCP伺服器的IP, 目的IP:  255.255.255.255,即DHCP伺服器提供IP位址的階段。在網絡中接收到DHCP  discover發現資訊的DHCP伺服器都會做出響應,它從尚未出租的IP位址中挑選一個配置設定給DHCP客戶機,向DHCP客戶機發送一個包含出租的回複資訊。

-------DHCP   REQUEST --------&gt;udp 67 源IP0.0.0.0目的IP:255.255.255.255,即DHCP客戶機選擇某台DHCP伺服器提供的IP位址的階段。如果有多台DHCP伺服器向DHCP客戶機發來的DHCP  offer提供資訊,則DHCP客戶機隻接受第一個收到的DHCP  offer提供資訊,然後它就以廣播方式回答一個DHCP  request請求資訊,該資訊中包含向它所標明的DHCP伺服器請求IP位址的内容。之是以要以廣播方式回答,是為了通知所有的DHCP伺服器,他将選擇某台DHCP伺服器所提供的IP位址。

&lt;------DHCP   ACK ------------udp   68 源IP是伺服器的IP 目的IP:  255.255.255.255,即DHCP伺服器确認所提供的IP位址的階段。當DHCP伺服器收到DHCP客戶機回答的DHCP  request請求資訊之後,它便向DHCP客戶機發送一個包含它所提供的IP位址和其他設定的DHCP  ack确認資訊,告訴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

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.1.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.168.1.1     0.0.0.0         UG    0      0        0 eth0

5:安裝軟體包

[root@xuegod63 ~]# rpm -ivh /mnt/Packages/dhcp-common-4.1.1-25.P1.el6.x86_64.rpm

[root@xuegod63 ~]# rpm -ivh /mnt/Packages/dhcp-4.1.1-25.P1.el6.x86_64.rpm

檢視包被安裝在哪裡

/etc/dhcp/dhcpd.conf   #包的配置檔案

Linux下的所有安裝包都在/mnt/Packages/下面

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

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

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

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

cp:是否覆寫"/etc/dhcp/dhcpd.conf"?

注:

當DHCP 主程式包安裝好後會自動生成主配置檔案的範本檔案

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

而在/etc 目錄下會建立一個空白的dhcpd.conf 主配置檔案。

ls /etc/dhcp/dhcpd.conf

現在我們将範本配置檔案複制到/etc 目錄下替換掉空白dhcpd.conf 主配置檔案。

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

6:服務啟動關閉腳本,檢視端口

[root@xuegod63 ~]# /etc/init.d/dhcpd start

[root@xuegod63 ~]# chkconfig dhcpd on

[root@xuegod63 ~]# chkconfig --list dhcpd

dhcpd          0:關閉1:關閉2:啟用3:啟用4:啟用5:啟用6:關閉

修改其啟動級别

[root@xuegod63 ~]# chkconfig --level 6 dhcpd on

[root@xuegod63 ~]# chkconfig --level 3 dhcpd off

dhcpd          0:關閉1:關閉2:啟用3:關閉4:啟用5:啟用6:啟用

7:DHCP配置檔案參數說明

說明:

   dhcp 範本配置檔案内容包含了部分參數、聲明以及選項的用法,其中注釋部分可以放在任何位

置,并以“#”号開頭,當一行内容結束時,以“;”号結束,大括号所在行除外

可以看出整個配置檔案分成全局和局部兩個部分。但是并不容易看出哪些屬于參數,哪些屬于聲明和選項。

概念與協定:

作用域:可以配置設定IP的範圍 subnet

位址池:可以配置設定給用戶端的IP,range包括的IP

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

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

配置檔案:/etc/dhcp/dhcpd.conf 部配置設定置解釋

# option definitions common to all supported networks...    #定義全局配置,通用于所有支援的網絡選項.

option domain-name "example.org";    #為用戶端指定所屬的域

option domain-name-servers ns1.example.org, ns2.example.org;  #為用戶端指定DNS伺服器位址

default-lease-time number(數字)

  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 7200;  (數字)

作用:定義用戶端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 子網路遮罩 {......}

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

如:

注意:網絡号必須與DHCP 伺服器的網絡号相同

下面介紹以下每個選項的含意:

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

作用:指定動态IP 位址範圍

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

常用選項介紹

選項通常用來配置DHCP 用戶端的可選參數,比如定義用戶端的DNS 位址、預設網關等等。選項

内容都是以option 關鍵字開始。

常見選項使用如下:

(1)option routers IP 位址

作用:為用戶端指定預設網關

如:option routers 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 指令檢視租約資料庫檔案内容了

執行個體:

  1:配置設定IP位址

   公司有60 台計算機,IP 位址段為192.168.1.2-192.168.1.254,子網路遮罩是255.255.255.0,網關為192.168.1.1,保留位址段192.168.1.2-192.168.1.30 網段位址給伺服器配置,用戶端可以使用的位址段為192.168.1.100—192168.1.200,其餘剩下的IP 位址為保留位址。

實驗環境:

    我的虛拟機使用橋接模式是否可行? 不行,因為你的區域網路中有可能就有DHCP伺服器,這樣你就很難讓你的用戶端是從你的DHCP伺服器獲得IP位址。另外,也可能造成公司區域網路中其它機器因為獲得了你DHCP伺服器上的IP位址,而上不了網。

xuegod63.cn   :192.168.0.63     虛拟機網卡: vmnet4

xuegod64.cn   :192.168.0.64     虛拟機網卡: vmnet4

[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

[root@xuegod63 ~]# service network restart

1):修改DHCP配置檔案

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

隻保留:

subnet 192.168.0.0 netmask 255.255.255.0 {

  range 192.168.0.100 192.168.0.200;

  option domain-name-servers 192.168.0.1;

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

  option routers 192.168.0.1;

  option broadcast-address 192.168.0.255;

  default-lease-time 600;

  max-lease-time 7200;

2):重新開機dhcp服務

[root@xuegod63 ~]# service dhcpd restart

然後xuegod64改為自動擷取IP位址。

将xuegod63和xuegod64 的網卡模式改為:

檢視:

[root@xue63 ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:12:EC:1E  

          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe12:ec1e/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:5084 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5087 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:664380 (648.8 KiB)  TX bytes:521089 (508.8 KiB)

3)檢視預設網關

[root@xue63 ~]# route -n

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

4)檢視DNS

[root@xue63 ~]# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

search internal.example.org com

nameserver 192.168.0.1

5)檢視租約資料庫檔案

[root@xuegod64 dhcp]# cat /var/lib/dhcpd/dhcpd.leases

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-4.1.1-P1

server-duid "\000\001\000\001\030\233\206H\000\014)H\200\237";

lease 192.168.0.200 {

  starts 3 2013/01/30 07:30:16;

  ends 3 2013/01/30 07:40:16;

  cltt 3 2013/01/30 07:30:16;

  binding state active;

  next binding state free;

  hardware ethernet 00:0c:29:12:ec:1e;

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

[root@xuegod63 ~]# vim /etc/dhcp/dhcpd.conf   # 找到對應的子網範圍,修改成以下内容

  host xuegod63 {    #這一段内容,要寫在subnet字段中,和subnet配合使用。

    hardware ethernet 00:0C:29:12:ec:1e;

    fixed-address 192.168.0.251;

 }

本文轉自 于學康 51CTO部落格,原文連結:http://blog.51cto.com/blxueyuan/1881045,如需轉載請自行聯系原作者