1、概述
DHCP(Dynamic HostConfiguration Protocol)是應用層協議,傳輸層是UDP協議,服務器段的端口爲67,客戶端的端口爲68。由於DHCP服務器需要固定的IP地址和DHCP客戶端計算機進行通訊,所以DHCP服務器必須配置爲使用靜態IP地址。
2、DHCP作用域
DHCP作用域是本地邏輯子網中可以使用的IP地址的集合,例如192.168.0.1~192.168.0.254。DHCP服務器只能使用作用域中定義的IP地址來分配給DHCP客戶端,因此,你必須創建作用域才能讓DHCP服務器分配IP地址給DHCP客戶端。另外,DHCP服務器會根據接收到DHCP客戶端租約請求的網絡接口來決定哪個DHCP作用域爲DHCP客戶端分配IP地址租約,決定的方式如下:DHCP服務器將接收到租約請求的網絡接口的主IP地址和DHCP作用域的子網掩碼相與,如果得到的網絡ID和DHCP作用域的網絡ID一致則使用此DHCP作用域來爲DHCP客戶端分配IP地址租約,如果沒有匹配的DHCP作用域則不對DHCP客戶端的租約請求進行應答。這確保了DHCP服務器只是分配匹配自己接收到DHCP客戶端租約請求的網絡接口網絡ID的IP地址租約給DHCP客戶,從而DHCP客戶可以直接和DHCP服務器進行通訊。例如DHCP服務器從自己的網絡接口192.168.1.1/24接收到DHCP客戶端的租約請求,如果DHCP服務器具有一個子網掩碼爲255.255.255.0、網絡ID爲192.168.1.0的DHCP作用域,則使用此作用域中的IP地址爲DHCP客戶端提供租約;如果沒有匹配上述條件的DHCP作用域,則此DHCP服務器不應答DHCP客戶端的租約請求。
唯一的例外是針對DHCP中繼代理或兼容RFC 1542的路由器所轉發的租約請求,當它們轉發DHCP請求到DHCP服務器時,會修改轉發的DHCP請求數據包中的Gateway字段爲自己接收到DHCP客戶端租約請求的網絡接口的IP地址,而DHCP服務器則使用Gateway字段中的IP地址代替自己網絡接口的IP地址和DHCP作用域的子網掩碼相與,從而決定分配IP地址租約的DHCP作用域。
我們提到過DHCP服務器決定分配IP地址租約的DHCP作用域的選擇條件,DHCP服務器不會使用不匹配網絡接口主IP邏輯子網的DHCP作用域來爲DHCP客戶端的分配IP地址租約。而單個DHCP作用域只能包含一個固定的子網,如果網絡中具有多個子網並且我想在DHCP服務器的某個網絡接口上分配屬於這些不同子網的IP地址租約,該怎麼辦呢?
答案就是超級作用域。超級作用域是由多個DHCP作用域組成的作用域,單個DHCP作用域只能包含一個固定的子網,而超級作用域可以包含多個DHCP作用域,從而包含多個子網。超級作用域主要用於解決以下問題:
(1)當前單個DHCP作用域中的可用地址幾乎耗盡,而且網絡中將添加更多的計算機,需要添加額外的IP網絡地址範圍來擴展同一物理網段的地址空間;
(2)DHCP客戶端必須遷移到新作用域,例如重新規劃IP網絡編號,從現有的活動作用域中使用的地址範圍遷移到使用另一IP網絡地址範圍的新作用域;
(3)希望使用兩個DHCP服務器在同一物理網段上管理分離的邏輯IP網絡。
DHCP服務器按照和使用標準DHCP作用域相同的方式來使用超級作用域爲DHCP客戶端分配IP地址租約,但是,當DHCP服務器接收到DHCP客戶端發送的租約請求時,只要超級作用域中的一個DHCP作用域匹配接收到租約請求的網絡接口的網絡ID,那麼DHCP服務器將使用這個超級作用域中的所有可用IP地址爲DHCP客戶端分配IP地址租約。DHCP服務器會優先使用超級作用域中匹配接收到租約請求的網絡接口的網絡ID的DHCP作用域來爲DHCP客戶端分配IP地址租約,如果此DHCP作用域中沒有可用的IP地址,則使用超級作用域中其他具有可用IP地址的DHCP作用域,而不管此作用域的網絡ID是否匹配接收到租約請求的網絡接口的網絡ID。
3. 典型組網應用
(1)在本網段內申請地址
(2)跨網段申請地址
4、實驗
(1)完成一個基本的DHCP服務配置(給客戶機分配默認網關,域名,子網掩碼,廣播地址),給一特定主機分配固定的IP
(2)給DHCP服務器安裝兩塊網卡,創建兩個作用域,也就是多作用域的應用。
(3)給DHCP服務器安裝一塊網卡,創建超級作用域;同時安裝一個DHCP中繼服務器(安裝兩塊網卡),給另一個網段分配IP地址,讓這兩個網段能互能。
實驗環境:
(1)ubserver5配置爲DHCP服務器,ubserver6配置爲DHCP中繼服務器(兩塊網卡);PC兩臺用來測試,一臺爲windows xp3,一臺爲ubuntu 10.4桌面操作系統。
(2)都安裝ubuntu server 10.4操作系統,dhcp3-server軟件包,dhcp3-relay軟件包。
1,ubserver5配置成DHCP服務器,實驗目標一。
(1)安裝dhcp3-server軟件包前先給ubserver5設置固定的IP地址192.168.3.50,子網掩碼255.255.255.0。
#sudo apt-get installdhcp3-server
完成後會出現如下提示,可忽略,因還沒配置DHCP.
/etc/dhcp3/dhcpd.conf是配置文件
/var/lib/dhcp3/dhcpd.leases是IP租約文件
(2)配置DHCP服務
#cd/etc/dhcp3
#sudovim dhcp3.conf
*:每行都以“;”結尾,否則出錯。
ddns-update-style定義所支持的DNS動態更新類型(必選)
allow/ignore client-updates 允許/忽略客戶機更新DNS記錄
default-lease-time指定默認的租約期限
max-lease-time指定最大的租約期限
subnet 網絡號 netmask 子網掩碼 定義作用域
rang 開始IP地址終止IP地址定義IP範圍
subnet-mask定義子網掩碼
routers給客戶機定義默認網關
broadcast-address給客戶機定義廣播地址
domain-name給客戶機指定DNS域名
domain-name-servers給客戶機指定DNS域名服務器的IP地址
重啓dhcp服務
#sudo/etc/init.d/dhcp3-server restart
分配IP地址的範圍是從192.168.3.10到192.168.3.100,子網掩碼255.255.255.0,默認網關是192.168.3.1,廣播地址是192.168.3.255,域名是ublab.org,DNS服務器因沒配置先註釋掉。
在一臺PC上測試
可以看到得到的IP是192.168.3.10,子網掩碼,默認網關,域名與設置的內容相符,DHCP服務器是ubserver5 的IP。完成基本的DHCP功能。
給一個特定的主機分配固定的IP,配置如下
在原有的內容上增加了紅線部分,00:0C:29:49:AF:D2爲客戶機的MAC地址,192.168.3.90是要分配的IP地址。
host 名字{.......} 指定保留的地址
hardware硬件類型 MAC地址
fixed-address要給客戶機分配的固定IP地址
重啓dhcp服務
#sudo/etc/init.d/dhcp3-server restart
在一臺測試PC上測試
2,實驗目標二,給DHCP服務器ubserver5安裝兩塊網卡,第二塊網卡的IP地址爲192.168.4.50,掩碼255.255.255.0,創建第二個作用域,拓撲如下:
/etc/dhcp3/dhcpd.conf配置內容如下:
重啓dhcp服務
#sudo/etc/init.d/dhcp3-server restart
經測試,完成第二個實驗目標。
3,實驗目標三,給DHCP服務器ubserver5安裝一塊網卡,安裝一個DHCP中繼服務器ubserver6(安裝兩塊網卡),拓撲如下
ubserver5的配置如下:
創建超級作用域 shared-network 名字{......}
DHCP中繼服務器ubserver6的安裝:
安裝dhcp3-relay軟件包
#sudoapt-get install dhcp3-relay
在安裝的過程中會讓你設置要把DHCP請求包轉發到哪臺DHCP服務上,要監聽那些網卡
配置文件是/etc/default/dhcp3-relay,配置如下
server=”192.168.3.50”把收到的DHCP包轉發到DHCP服務器上
INTERFACES=”eth4 eth3” 要監聽的網卡,這就是DHCP中繼服務器ubserver6上的兩塊網卡。
eth3的IP地址是:192.168.3.60
eth4的IP地址是:192.168.4.62
修改/etc/sysctl.conf文件,設置net.ipv4.ip_forward=1,使用192.168.3.0/24能與192.168.4.0/24兩個網段的PC能互通。
#sudosysctl –p
使修改生效
在測試機PC2上,測試
IP爲192.168.4.61的機器也能ping 通192.168.3.50的機器。
在DHCP服務器ubserver5上查看/var/lib/dhcp3/dhcpd.leases文件,看租出的IP地址
可以看到客戶端的IP地址及主機名。
參考鏈接:
http://bbs.51cto.com/thread-485998-1.html