一、DHCP的原理
DHCP 是 Dynamic Host Configuration Protocol(動態主機配置協議)縮寫,它的前身是 BOOTP。BOOTP 原本是用於無磁盤主機連接的網絡上面的:網絡主機使用 BOOT ROM 而不是磁盤啓動並連DHCP 接上網絡,BOOTP則可以自動地爲那些主機設定 TCP/IP 環境。但 BOOTP 有一個缺點:您在設定前須事先獲得客戶端的硬件地址,而且,與 IP 的對應是靜態的。換而言之,BOOTP 非常缺乏 "動態性" ,若在有限的 IP 資源環境中,BOOTP 的一對一對應會造成非常嚴重的資源浪費。DHCP 可以說是 BOOTP 的增強版本,它分爲兩個部份:一個是服務器端,而另一個是客戶端。所有的 IP 網絡設定數據都由 DHCP 服務器集中管理,並負責處理客戶端的 DHCP 要求;而客戶端則會使用從服務器分配下來的IP環境數據。比較起 BOOTP ,DHCP 透過 "租約" 的概念,有效且動態的分配客戶端的 TCP/IP 設定,而且,作爲兼容考慮,DHCP 也完全照顧了 BOOTP Client 的需求。DHCP 的分配形式 首先,必須至少有一臺 DHCP 工作在網絡上面,它會監聽網絡的 DHCP 請求,並與客戶端磋商 TCP/IP的設定環境。
使用DHCP時必須在網絡上有一臺DHCP服務器,而其他機器執行DHCP客戶端。當DHCP客戶端程序發出一個信息,要求一個動態的IP地址時,DHCP服務器會根據目前已經配置的地址,提供一個可供使用的IP地址和子網掩碼給客戶端。
使用DHCP的優點
DHCP使服務器能夠動態地爲網絡中的其他服務器提供IP地址,通過使用DHCP,就可以不給Intranet網中除DHCP、DNS和WINS服務器外的任何服務器設置和維護靜態IP地址。使用DHCP可以大大簡化配置客戶機的TCP/IP的工作,尤其是當某些TCP/IP參數改變時,如網絡的大規模重建而引起的IP地址和子網掩碼的更改。
DHCP服務器是運行Microsoft TCP/IP、DHCP服務器軟件和Windows NT Server的計算機,DHCP客戶機則是請求TCP/IP配置信息的TCP/IP主機。DHCP使用客戶機/服務器模型,網絡管理員可以創建一個或多個維護TCP/IP配置信息的DHCP服務器,並且將其提供給客戶機。
DHCP服務器上的IP地址數據庫包含如下項目:
對互聯網上所有客戶機的有效配置參數。
在緩衝池中指定給客戶機的有效IP地址,以及手工指定的保留地址。
服務器提供租約時間,租約時間即指定IP地址可以使用的時間。
在網絡中配置DHCP服務器有如下優點:
管理員可以集中爲整個互聯網指定通用和特定子網的TCP/IP參數,並且可以定義使用保留地址的客戶機的參數。
提供安全可信的配置。DHCP避免了在每臺計算機上手工輸入數值引起的配置錯誤,還能防止網絡上計算機配置地址的衝突。
使用DHCP服務器能大大減少配置花費的開銷和重新配置網絡上計算機的時間,服務器可以在指派地址租約時配置所有的附加配置值。
客戶機不需手工配置TCP/IP。
客戶機在子網間移動時,舊的IP地址自動釋放以便再次使用。在再次啓動客戶機時,DHCP服務器會自動爲客戶機重新配置TCP/IP。
大部分路由器可以轉發DHCP配置請求,因此,互聯網的每個子網並不都需要DHCP服務器。
註釋:
如果要使用DHCP服務器支持跨越多重路由器的子網,則路由器可能需要硬件升級。路由器必須支持RFC 1533、1534、1541和1542。
2. DHCP分配地址的方式
DHCP使用客戶/服務器模式,網絡管理員建立一個或多個DHCP服務器,在這些服務器中保存了可以提供給客戶機的TCP/IP配置信息。這些信息包括網絡客戶的有效配置參數、分配給客戶的有效IP地址池(其中包括爲手工配置而保留的地址)、服務器提供的租約持續時間。
如果將TCP/IP網絡上的計算機設定爲從DHCP服務器獲得IP地址,這些計算機則成爲DHCP客戶機。啓動DHCP客戶機時,它與DHCP服務器通信以接收必要的TCP/IP配置信息。該配置信息至少包含一個IP地址和子網掩碼,以及與配置有關的租約。
DHCP服務器有3種爲DHCP客戶機分配TCP/IP地址的方式:
手工分配:在手工分配中,網絡管理員在DHCP服務器通過手工方法配置DHCP客戶機的IP地址。當DHCP客戶機要求網絡服務時,DHCP服務器把手工配置的IP地址傳遞給DHCP客戶機。
自動分配:在自動分配中,不需要進行任何的IP地址手工分配。當DHCP客戶機第一次向DHCP服務器租用到IP地址後,這個地址就永久地分配給了該DHCP客戶機,而不會再分配給其他客戶機。
動態分配:當DHCP客戶機向DHCP服務器租用IP地址時,DHCP服務器只是暫時分配給客戶機一個IP地址。只要租約到期,這個地址就會還給DHCP服務器,以供其他客戶機使用。如果DHCP客戶機仍需要一個IP地址來完成工作,則可以再要求另外一個IP地址。
動態分配方法是惟一能夠自動重複使用IP地址的方法,它對於暫時連接到網上的DHCP客戶機來說尤其方便,對於永久性與網絡連接的新主機來說也是分配IP地址的好方法。DHCP客戶機在不再需要時才放棄IP地址,如DHCP客戶機要正常關閉時,它可以把IP地址釋放給DHCP服務器,然後DHCP服務器就可以把該IP地址分配給申請IP地址的DHCP客戶機。
使用動態分配方法可以解決IP地址不夠用的困擾,例如C類網絡只能支持254臺主機,而網絡上的主機有三百多臺,但如果網上同一時間最多有200個用戶,此時如果使用手工分配或自動分配將不能解決這一問題。而動態分配方式的IP地址並不固定分配給某一客戶機,只要有空閒的IP地址,DHCP服務器就可以將它分配給要求地址的客戶機;當客戶機不再需要IP地址時,就由DHCP服務器重新收回。
服務器Ip:
[root@station1 ~]# cd /mnt/cdrom/Server/
[root@station1 Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
[root@wbk ~]# vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 { //用戶可以用subnet語句通知DHCP服務器,把服務器可以分配的IP地址範圍限制在規定的子網內。Subnet語句包含了表示子網掩碼的netmask
#defaultgatewa optionrouters192.168.10.1; //設置網關和路由器的IP地址】
option subnet-mask255.255.255.0; //設置子網掩碼
option nis-domain "domain.org";optiondomain-name "abc1.com"; //設置DNS域名
option domain-name-servers 192.168.10.1; //設置DNS服務器的IP地址(可多個)
option time-offset -18000; # Eastern Standard Time //設置與格林威治時間的偏移差
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# Selects point-to-point node (default is hybrid). Don't change this unless
# you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.10.2 192.168.10.2; //通過range語句,可以指定動態分配給庫互動的IP地址範圍。在range語句中需要知道地址段的首地址和尾地址(可設多個範圍)
default-lease-time 21600; //指定客戶端IP地址默認租用的時間長度是多少(以秒爲單位) max-lease-time 43200; //設置客戶最長租用IP地址時間(以秒爲單位)
# we want the nameserver to appear at a fixed address
host ns { //給某些主機綁定固定IP(可設置多個) next-server marvin.redhat.com; //設置用於定義服務器從影到文件裝副的主機名,一般不用(僅用於設置無盤工作站)
hardware ethernet 12:34:56:78:AB:CD; //需設置固定IP的網卡的MAC地址fixed-address 207.175.42.254; //對指定的MAC地址分配IP地址
}
}
測試:
DHCP超級作用域:
服務器Ip:
[root@wbk ~]# vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
shared-network dde {
subnet 192.168.10.0 netmask 255.255.255.0 { //用戶可以用subnet語句通知DHCP服務器,把服務器可以分配的IP地址範圍限制在規定的子網內。Subnet語句包含了表示子網掩碼的netmask
# --- default gatewayoptiorouters 192.168.10.1 //設置網關和路由器的IP地址
option subnet-mask 255.255.255.0; //設置子網掩碼
option nis-domain "domain.org";optiondomain-na "abc1.com"; //設置DNS域名
option domain-name-servers 192.168.10.1; //設置DNS服務器的IP地址(可多個)
option time-offset -18000; # Eastern Standard Time //設置與格林威治時間的偏移差
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2; range dynamic-bootp 192.168.10.2 192.168.10.2; //通過range語句,可以指定動態分配給庫互動的IP地址範圍。在range語句中需要知道地址段的首地址和尾地址(可設多個範圍)
default-lease-time 21600; //指定客戶端IP地址默認租用的時間長度是多少(以秒爲單位)
max-lease-time 43200; //設置客戶最長租用IP地址時間(以秒爲單位)
# we want the nameserver to appear at a fixed address host ns //給某些主機綁定固定IP(可設置多個)
next-server marvin.redhat.com; //設置用於定義服務器從影到文件裝副的主機名,一般不用(僅用於設置無盤工作站)
hardware ethernet 12:34:56:78:AB:CD; //需設置固定IP的網卡的MAC地址
fixed-address 207.175.42.254; //對指定的MAC地址分配IP地址
}
}
subnet 192.168.100.0 netmask 255.255.255.0 { //用戶可以用subnet語句通知DHCP服務器,把服務器可以分配的IP地址範圍限制在規定的子網內。Subnet語句包含了表示子網掩碼的netmask
# --- default gateway
option routers 192.168.100.1; //設置網關和路由器的IP地址
option subnet-mask 255.255.255.0; //設置子網掩碼
option nis-domain "domain.org";
option domain-name "abc.com"; //設置DNS域名
ption domain-name-servers 192.168.100.1; //設置DNS服務器的IP地址(可多個)
option time-offset -18000; # Eastern Standard Time //設置與格林威治時間的偏移差
range dynamic-bootp 192.168.100.3 192.168.100.3; //通過range語句,可以指定動態分配給庫互動的IP地址範圍。在range語句中需要知道地址段的首地址和尾地址(可設多個範圍)
default-lease-time 21600; //指定客戶端IP地址默認租用的時間長度是多少(以秒爲單位)
max-lease-time 43200; //設置客戶最長租用IP地址時間(以秒爲單位)
}
}
}
DHCP中繼:
DHCP服務器:
1. dhcp服務器安裝
2. 編輯dhcpd.conf文件
3.
3. 重啓dhcp服務器
5.
DHCP超級作用域
1.
2.在pc1上
3.在pc2上
DHCP中繼
用ws2003作爲路由器
拓撲圖
1.配置dhcp服務器
2.在WS2003 中添加兩塊網卡,三塊網卡區域分別爲:vnet1,vnet2,vnet3。
3.在WS2003中啓動路由和遠程訪問服務
4.“配置並啓用路由和遠程訪問”
5.
6.
7.
8.
9.
10.選擇需要中繼的接口,在WS2003中選擇兩個無dhcp服務器的網卡接口,tec,mkt。
11.指明dhcp服務器的IP地址
12.在vnet2段內用pc進行測試。
13。.在vnet2段內用pc進行測試。
DHCP中繼
-------用linux作爲路由器
拓撲圖
1.配置dhcp服務器
2.在路由器上添加兩塊網卡,分別在vnet1,vnet2,vnet3
3.在路由器(linux)上安裝dhcp服務器,利用其中繼功能
4.編輯/etc/sysctl.conf文件打開路由器轉發功能
Sysctl –p使生效
5.編輯/etc/sysconfig/dhcrealy,設置中繼功能。接口要寫包括dhcp服務器所在網段的接口,共3個。與windows server 2003 不同
6.
7.配置完成,用PC進行驗證。
dhcp是一種非常實用的網絡服務,用於小 中 大各種網絡中 ,使用DHCP服務省去了網絡管理員的很多麻煩,同時也方便了網絡用戶。。。。。