陳欣
摘 要:DHCP是一種用于簡化計算機IP地址配置管理的協(xié)議,企業(yè)使用DHCP可以解決手工分配地址的失誤和IP地址管理不善而造成的問題。本文從初學(xué)者的角度出發(fā),在虛擬機linux環(huán)境中,研究了大型網(wǎng)絡(luò)如何跨越子網(wǎng)分配IP地址的技術(shù)。
關(guān)鍵詞:DHCP;虛擬機;中繼代理;linux
1 DHCP的簡介
在當今的互聯(lián)網(wǎng)中,DHCP(動態(tài)主機配置協(xié)議)是一種比較常見的服務(wù)。DHCP可以使客戶機通過網(wǎng)絡(luò)廣播向服務(wù)器發(fā)送請求,DHCP客戶機可以自動獲取網(wǎng)絡(luò)地址(包括ip地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)、DNS地址)。DHCP被設(shè)計成客戶端/服務(wù)器模式,下面介紹DHCP服務(wù)實現(xiàn)的過程:
1.1 DHCP客戶端請求提供IP地址
DHCP客戶端設(shè)置為自動獲取IP地址,客戶端第一次登錄網(wǎng)絡(luò)的時候,它會向網(wǎng)絡(luò)廣播,發(fā)出一個DHCP請求的數(shù)據(jù)包。
1.2 DHCP服務(wù)器提供IP租約
DHCP服務(wù)器接收到客戶端發(fā)出的廣播后,它會從自己的可用IP地址范圍內(nèi),選擇一個可用的IP地址,按照硬件地址的響應(yīng)給客戶端一個回應(yīng)。
1.3 DHCP客戶端選擇IP租約
互聯(lián)網(wǎng)中多臺DHCP服務(wù)器都發(fā)出響應(yīng),DHCP客戶端只會挑選最先抵達的那個,并且會向網(wǎng)絡(luò)發(fā)送一個廣播封包,通告它接收哪臺服務(wù)器提供的IP地址。
1.4 DHCP服務(wù)器確認IP租約
該DHCP服務(wù)器接收到客戶端的選擇信息后,隨后向客戶端發(fā)出一個確認信息,確認該IP租約的開始生效,DHCP工作過程正式完成。
2 中繼代理的簡介
大型企業(yè)通常存在多個IP子網(wǎng),而且不同子網(wǎng)的主機都需要DHCP服務(wù)器來提供IP地址的自動分配,如果為每個子網(wǎng)都分配一個DHCP服務(wù)器,那就增加了網(wǎng)絡(luò)的成本,而且也不方便網(wǎng)絡(luò)管理員管理。從節(jié)約成本的角度出發(fā),管理員可以只在一個子網(wǎng)中安裝DHCP服務(wù)器,并讓該服務(wù)器來為多個子網(wǎng)分配IP地址。
網(wǎng)絡(luò)中的廣播包通常是無法穿越路由器的,所以默認環(huán)境下一個子網(wǎng)內(nèi)的客戶機是無法向處于其他子網(wǎng)的DHCP服務(wù)器發(fā)送請求的,網(wǎng)絡(luò)管理員可以在連接多個子網(wǎng)的路由器上開啟DHCP中繼代理的功能,該功能能夠轉(zhuǎn)發(fā)DHCP消息,處于不同子網(wǎng)的計算機就可以通過該DHCP服務(wù)器獲取有效的IP地址。
3 DHCP中繼代理配置環(huán)境
用虛擬機模擬企業(yè)DHCP服務(wù)器來解決IP地址動態(tài)分配的問題,要求能夠自動分配IP地址以及其它網(wǎng)絡(luò)屬性信息,同時要求DHCP服務(wù)器為該企業(yè)位于不同網(wǎng)段的客戶機分配固定IP 地址。
虛擬機中需配置以下系統(tǒng):
⑴基于VMware虛擬機的linux系統(tǒng),充當DHCP服務(wù)器
⑵基于VMware虛擬機的windows系統(tǒng),充當DHCP客戶機
⑶基于VMware虛擬機的linux中繼代理服務(wù)器,同時擔任路由器。
linux中繼代理服務(wù)器配置兩塊網(wǎng)卡,啟用“路由和遠程訪問服務(wù)”功能就可以充當路由器,并實現(xiàn)不同網(wǎng)段的路由轉(zhuǎn)發(fā)功能。在DHCP中繼代理實驗的研究中,為了模擬不同的兩個網(wǎng)段,首先要對虛擬機的網(wǎng)卡做自定義設(shè)置。把處于同一子網(wǎng)的網(wǎng)卡定義為相同的網(wǎng)絡(luò)模式,連接方式以下:DHCP服務(wù)器的網(wǎng)卡,中繼代理服務(wù)器第一塊網(wǎng)卡使用自定義網(wǎng)絡(luò)聯(lián)網(wǎng)(處于3網(wǎng)段)。同樣,中繼代理服務(wù)器第二塊網(wǎng)卡、客戶機使用自定義網(wǎng)絡(luò)聯(lián)網(wǎng)(處于4網(wǎng)段)。
4 DHCP服務(wù)器的配置
對DHCP服務(wù)器的配置文件/etc/dhcpd.conf做如下修改:
#先配置全局參數(shù)
配置服務(wù)器動態(tài)更新的類型 ddns-update-style interim;
…
配置服務(wù)器支持的默認租約 default-lease-time 86400;
配置服務(wù)器支持的最大租約 max-lease-time 172800;
配置服務(wù)器分配的DNS地址option domain-name-servers 10.10.10.21;
配置服務(wù)器分配的廣播地址 option broadcast-address 192.168.10.255;
#下面配置超級作用域
shared-nework mynet{
配置第一個子作用域 subnet 192.168.10.0 netmask 255.255.255.0 {
配置網(wǎng)關(guān)地址 option routers 192.168.10.254;
配置地址范圍 range dynamic-bootp 192.168.10.1 192.168.10.200; }
配置第二個子作用域 subnet 192.168.20.0 netmask 255.255.255.0 {
配置網(wǎng)關(guān)地址 option routers 192.168.20.254;
配置地址范圍 range dynamic-bootp 192.168.20.1 192.168.20.200;}
5 中繼代理服務(wù)器的配置及客戶機獲得地址
⑴中繼代理服務(wù)器系統(tǒng)有兩塊網(wǎng)卡,分別作為兩個網(wǎng)段的網(wǎng)關(guān),設(shè)置IP地址,并指出對應(yīng)的網(wǎng)絡(luò)信息
步驟1:ifconfig eth0 192.168.10.254 netmask 255.255.255.0
route add –net 192.168.10.0 netmask 255.255.255.0 dev eth0
步驟2:ifconfig eth1 192.168.20.254 netmask 255.255.255.0
route add –net 192.168.20.0 netmask 255.255.255.0 dev eth1
⑵開啟服務(wù)器的路由轉(zhuǎn)發(fā)功能
步驟1:更改/proc/sys/net/ipv4/ip_forward的配置文件內(nèi)容
echo 1 > /proc/sys/net/ipv4/ip_forward
步驟2:更改/etc/sysctl.conf的配置文件內(nèi)容
設(shè)置net.ipv4.ip_forward=1
⑶開啟服務(wù)器的中繼代理功能
更改服務(wù)器配置文件/etc/sysconfig/dhcrealy.conf
INTERFACES="eth1"指出服務(wù)器代理的網(wǎng)段
DHCPSERVERS-"192.168.10.100" 指出服務(wù)器的地址
#dhcrelay -i eth1 192.168.10.100 開啟服務(wù)器的中繼代理
⑷重新啟動DHCP服務(wù)器,把windows客戶機網(wǎng)卡,選為自動獲取IP地址和DNS地址,windows客戶機即可實現(xiàn)中繼代理跨子網(wǎng)獲取IP地址。
[參考文獻]
[1]張棟.Red Hat Enterprise Linux服務(wù)器配置與管理.北京:人民郵電出版社,2009.
[2]張文庫,朱志輝.企業(yè)網(wǎng)搭建及應(yīng)用(第2版).北京:電子工業(yè)出版社,2011.
[3]王曉超.Linux服務(wù)器搭建完全技術(shù)寶典.北京:中國鐵道出版社,2010.