1. 程式人生 > 實用技巧 >DHCP伺服器在企業網路中的應用

DHCP伺服器在企業網路中的應用

動態主機配置協議(Dynamic Host Configuration Protocol ,DHCP)是一個區域網的網路協議,使用udp協議工作,主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址;給使用者或者內部網路管理員作為對所有計算機作中央管理的手段。埠號:server端 67 ,client端 68

地址分配方式:

Manual Allocation 手工分配

為每個主機繫結一個固定的IP地址,這種繫結是永久有效的。缺點:IP地址利用率低

Automatic Allocation 自動分配

客戶端從地址池中獲得ip地址,一經獲得,永久繫結。缺點:IP地址利用率低

Dynamic Allocation 動態分配

客戶端從地址池中獲得ip地址,但是並非永久的使用該地址,只要租約到期,客戶端就得釋放(release)這個 IP 地址,以給其它工作站使用。優點:動態分配,IP地址利用率高。

DHCP的工作原理

]QD6YF40LQHG3243K0OQ@ZH

dhcp客戶端獲得地址的過程分為以下4步:

1.DHCP DISCOVER (尋找DHCP Server)

當 DHCP 客戶端第一次登入網路的時候,也就是客戶發現本機上沒有任何 IP 資料設定,它會向網路發出一個 DHCP DISCOVER 封包。因為客戶端還不知道自己屬於哪一個網路,所以封包的來源地址會為 0.0.0.0 ,而目的地址則為255.255.255.255 ,然後再附上 DHCP discover 的資訊,向網路進行廣播。若一直得不到響應的情況下,客戶端一共會有四次 DHCP discover 廣播。如果都沒有得到 DHCP 伺服器的響應,客戶端則會顯示錯誤資訊,宣告 DHCP discover 的失敗,dhcp客戶端自動生成一個169.254.*.* 的地址來使用。

2.DHCP OFFER(提供 IP 租用地址)

當 網路上DHCP 伺服器監聽到客戶端發出的 DHCP discover 廣播後,它們會從那些還沒有租出的地址範圍內選擇空置 IP ,響應給客戶端一個 DHCP OFFER 封包,包內只包含一個ip地址資訊,而沒有閘道器,子網掩碼,dns等資訊。由於客戶端在開始的時候還沒有 IP 地址,所以在其 DHCP discover 封包內會帶有其 MAC 地址資訊,並且有一個 XID 編號來辨別該封包,DHCP 伺服器響應的 DHCP offer 封包則會根據這些資料傳遞給要求租約的客戶。如果客戶端收到網路上多臺 DHCP 伺服器的響應,只會挑選其中一個 DHCP offer (通常是最先抵達的那個)。

3.DHCP REQUEST(DHCP 請求)

當DHCP 客戶端收到dhcp offer 包後,將向網路傳送一個DHCP request廣播封包,告訴所有 DHCP 伺服器它將指定接受哪一臺伺服器提供的 IP 地址。同時,客戶端還會向網路傳送一個 ARP 封包,查詢網路上面有沒有其它機器使用該 IP 地址;如果發現該 IP 已經被佔用,客戶端則會送出一個 DHCPDECLIENT 封包給 DHCP 伺服器,拒絕接受其 DHCP offer ,並重新發送 DHCP discover 資訊。若網路上沒有其它機器使用該 IP 地址,則向提供該ip的dhcp伺服器提出使用該ip地址的請求,並通告其他dhcp伺服器,客戶端已使用其他dhcp伺服器的ip地址。

3.DHCP ACK(租約確認)

當 DHCP 伺服器接收到客戶端的 DHCP request 之後,會向客戶端發出一個

DHCPACK 響應,以確認 IP 租約的正式生效。包中包含該ip地址的詳細引數:子網掩碼,預設閘道器,dns指向,還有租約資訊。客戶端將ack包中的資訊寫入自己的網絡卡中,結束了一個完整的 DHCP 工作過程。

dhcp客戶端地址更新過程:

客戶端獲得ip地址後,當客戶端重啟機器後,客戶端傳送dhcp request廣播包,請求繼續使用重啟前的ip地址。若請求成功,則租約將重新計時。到達租約期限的50%時,客戶端要進行續約,傳送dhcp request廣播包,請求繼續使用正在使用ip地址,若此時dhcp伺服器不線上,則一直請求到租約的87.5%,若還請求不到,則傳送dhcpdiscover報文,重新查詢網路上的dhcp伺服器,若仍找不到dhcp伺服器,到達租約的100%時,系統自動產生一個169.254.*.* 的地址來使用。

下面通過4個案例詳細介紹dhcp的配置過程:

案例一:DHCP單作用域

案例二:DHCP超級作用域

案例三:DHCP中繼(linux作為路由器和dhcp伺服器)

案例四:DHCP中繼(windows server 2008作為路由器和dhcp伺服器)

案例配置

案例一 DHCP單作用域

實驗要求:

dhcp伺服器為兩臺PC分配ip地址,PC1 要求從地址池中自動獲得ip地址,PC2要求通過靜態繫結獲得ip地址。

拓撲圖

p_w_picpath

配置步驟

1.新建掛載點,掛載光碟,安裝dhcp伺服器軟體

p_w_picpath

2.修改dhcp的配置檔案:/etc/dhcpd.conf,將/usr/share/doc/dhcp*/dhcpd.conf.sample讀取到該配置檔案內。

p_w_picpath

p_w_picpath

3.重啟dhcp伺服器

p_w_picpath

4. tail –F /var/log/messages ,可以發現192.168.101.2 192.168.101.253已經派發給主機

p_w_picpath

5. pc1從地址池中得到ip地址192.168.101.253

p_w_picpath

6.PC2 通過mac---ip地址繫結,得到ip地址:192.168.101.2

p_w_picpath

案例二:超級作用域

在linux伺服器上搭建dhcp超級作用域,使兩臺pc分別獲得2.0 和3.0 網段ip

拓撲圖

p_w_picpath

配置步驟

1.新建掛載點,掛載光碟,安裝dhcp伺服器軟體

p_w_picpath

2.修改dhcp的配置檔案:/etc/dhcpd.conf,將/usr/share/doc/dhcp*/dhcpd.conf.sample讀取到該配置檔案內。

p_w_picpath

p_w_picpath

3重啟dhcp伺服器

p_w_picpath

4.pc1從子作用域192.168.2.0中獲得ip192.168.2.3

p_w_picpath

5.pc2從子作用域192.168.2.0中獲得ip192.168.3.3

p_w_picpath

案例三:DHCP中繼(linux作為路由器和dhcp伺服器)

如圖所示,某公司有兩個部門:技術部tec和市場部mkt,兩個不能分處不同vlan,伺服器vlan中有一臺dhcp伺服器,現要求使用該dhcp伺服器為技術部和市場部提供ip地址。

實驗環境中,使用一臺linux主機作為路由器,另一臺linux主機作為dhcp伺服器,將linux路由器的三個網絡卡分別處於不同的vnet來模擬vlan的環境:介面eth0處於vnet1,eth1 處於vnet2,eth2處於vnet3.

拓撲圖:

p_w_picpath

配置步驟:

linux DHCP Server 的配置

1.新建掛載點,掛載光碟,安裝dhcp伺服器軟體

p_w_picpath

2.修改dhcp的配置檔案:/etc/dhcpd.conf,將/usr/share/doc/dhcp*/dhcpd.conf.sample讀取到該配置檔案內。

p_w_picpath

p_w_picpath

3.重啟dhcp伺服器,將網絡卡選在處於vnet3 區域,配置閘道器為192.168.101.254

p_w_picpath

linux router的配置

p_w_picpath

三個網絡卡的ip地址

p_w_picpath

1.新建掛載點,掛載光碟,安裝dhcp伺服器軟體

p_w_picpath

2.編輯/etc/system/dhcrelay檔案。在INTERFACES後要寫做中繼的介面:eth0,eth1,但是還要寫上與dhcp伺服器所連的介面,可通過man dhcrelay檢視

The -i flag can be used to specify the network interfaces on which
the relay agent should listen. In general, it must listen not only
on those network interfaces to which clients are attached, but also
on those network interfaces to which the server (or the router that
reaches the server) is attached.

p_w_picpath

3.開啟linux router的路由轉發功能:vim /etc/sysctl.conf

p_w_picpath

4.sysctl -p 使/etc/sysctl.conf的修改生效

p_w_picpath

5.啟動dhcrelay服務:service dhcrelay restart

p_w_picpath

6.測試

找一臺pc,將其網絡卡選擇在vnet1區域。可以發現,該pc獲得了ip為192.168.101.250的dhcp Server提供的ip地址192.168.10.253。

p_w_picpath

找一臺pc,將其網絡卡選擇在vnet2區域。可以發現,該pc獲得了ip為192.168.101.250的dhcp Server提供的ip地址192.168.20.253。

p_w_picpath

兩臺dhcp客戶端都成功獲得了ip地址,且處於所在部門網段內。

案例四:DHCP中繼(windows server 2008作為路由器,windows server 2008作為dhcp Server)

如圖所示,某公司有兩個部門:技術部tec和市場部mkt,兩個不能分處不同vlan,伺服器vlan中有一臺wins 2003 dhcp伺服器,現要求使用該dhcp伺服器為技術部和市場部提供ip地址。

實驗環境中,使用一臺windows server2008 主機作為路由器,另一臺windows server2008 主機作為dhcp伺服器,將windows server2008路由器的三個網絡卡分別處於不同的vnet來模擬vlan的環境:介面eth0處於vnet1,eth1 處於vnet2,eth2處於vnet3.

拓撲圖

p_w_picpath

配置步驟:

windows server2008 DHCP伺服器配置

1.配置dhcp伺服器的ip地址

p_w_picpath

2.在伺服器管理器中選擇DHCP伺服器

p_w_picpath

3.dhcp伺服器的ip地址

p_w_picpath

4.dns選項配置,配置分派給dhcp客戶端的dns引數

p_w_picpath

5.dhcp作用域配置,為技術部配置作用域:包括地址池,閘道器,域名,子網掩碼,租約期限

p_w_picpath

6.dhcp作用域配置,為市場部配置作用域:包括地址池,閘道器,域名,子網掩碼,租約期限

p_w_picpath

6.確認配置資訊

p_w_picpath

安裝完成,通過管理工具開啟dhcp控制視窗;

p_w_picpath

Router路由器配置

1.網絡卡eth0 配置,區域選擇在vnet1

p_w_picpath

2.網絡卡eth1 配置,區域選擇在vnet2

p_w_picpath

3.網絡卡eth2 配置,區域選擇在vnet3

p_w_picpath

4.安裝路由遠端訪問服務,使該伺服器成為一臺路由器

p_w_picpath

5.選擇路由和遠端訪問

p_w_picpath

6.開啟路由與遠端訪問控制檯,配置並啟用路由和遠端訪問

p_w_picpath

7.選擇自定義配置

p_w_picpath

8.選擇LAN路由

p_w_picpath

9.完成路由安裝

p_w_picpath

10.啟用路由和遠端訪問

p_w_picpath

11.在常規選項上點右鍵,選擇新增路由協議

p_w_picpath

12.新增的路由協議為DHCP中繼代理程式

p_w_picpath

13.在DHCP中繼代理程式上單機右鍵,選擇新增介面,增加要中繼的介面

p_w_picpath

14.選擇需要中繼的介面,在WS2003中選擇兩個無dhcp伺服器的網絡卡介面(這和linux不同,linux上應選擇需要中繼的介面和與dhcp伺服器相連的介面)

p_w_picpath

p_w_picpath

15.選擇的中繼介面:

p_w_picpath

16.在DHCP中繼代理程式上單機右鍵,選擇屬性

p_w_picpath

17.指明dhcp伺服器的IP地址,當資料包到達該介面上時,將目的地址換為該地址。

p_w_picpath

測試

將測試pc的網絡卡選擇區域為vnet1

p_w_picpath

檢視dhcp伺服器的地址租用

p_w_picpath

將測試pc的網絡卡選擇區域為vnet2

p_w_picpath

檢視dhcp伺服器的地址租用

p_w_picpath

配置完成!

轉載於:https://blog.51cto.com/jialiang10086/962991