DHCP應用

 

DHCP小記

動態主機設置協議(Dynamic Host Configuration Protocol, DHCP)是一個局域網的網絡協議,使用UDP協議工作,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址給用戶給內部網絡管理員作爲對所有計算機作中央管理的手段。

工作模式
手工分配 manual     網絡管理員爲某些少數特定的Host綁定固定IP地址,且地址不會過期

自動分配 automatic  一旦 DHCP 客戶端第一次成功的從 DHCP 服務器端租用到 IP 地址之後,就永遠使用這個地址。

動態分配 dynamic    當 DHCP客戶端 第一次從 DHCP 服務器端租用到 IP 地址之後,並非永久的使用該地址,只要租約到期,客戶端就得釋放(release)這個 IP 地址,以給其它工作站使用。

工作原理

 

 

尋找 Server
        當 DHCP 客戶端第一次登錄網絡的時候,也就是客戶發現本機上沒有任何 IP 數據設定,它會向網絡發出一個 DHCP DISCOVER 封包。因爲客戶端還不知道自己屬於哪一個網絡,所以封包的來源地址會爲 0.0.0.0 ,而目的地址則爲 255.255.255.255 ,然後再附上 DHCP discover 的信息,向網絡進行廣播。
提供 IP 租用地址
  當 DHCP 服務器監聽到客戶端發出的 DHCP discover 廣播後,它會從那些還沒有租出的地址範圍內,選擇最前面的空置 IP ,連同其它 TCP/IP 設定,響應給客戶端一個 DHCP OFFER 封包。由於客戶端在開始的時候還沒有 IP 地址,所以在其 DHCP discover 封包內會帶有其 MAC 地址信息,並且有一個 XID 編號來辨別該封包,DHCP 服務器響應的 DHCP offer 封包則會根據這些資料傳遞給要求租約的客戶。根據服務器端的設定,DHCP offer 封包會包含一個租約期限的信息。
接受 IP 租約
  如果客戶端收到網絡上多臺 DHCP 服務器的響應,只會挑選其中一個 DHCP offer 而已(通常是最先抵達的那個),並且會向網絡發送一個DHCP request廣播封包,告訴所有 DHCP 服務器它將指定接受哪一臺服務器提供的 IP 地址。同時,客戶端還會向網絡發送一個 ARP 封包,查詢網絡上面有沒有其它機器使用該 IP 地址;如果發現該 IP 已經被佔用,客戶端則會送出一個 DHCPDECLIENT 封包給 DHCP 服務器,拒絕接受其 DHCP offer ,並重新發送 DHCP discover 信息。
租約確認
          當 DHCP 服務器接收到客戶端的 DHCP request 之後,會向客戶端發出一個 DHCPACK 響應,以確認 IP 租約的正式生效,也就結束了一個完整的 DHCP 工作過程。 DHCP 發放流程第一次登錄之後:一旦 DHCP 客戶端成功地從服務器哪裏取得 DHCP 租約之後,除非其租約已經失效並且 IP 地址也重新設定回 0.0.0.0 ,否則就無需再發送 DHCP discover 信息了,而會直接使用已經租用到的 IP 地址向之前之 DHCP 服務器發出 DHCP request 信息,DHCP 服務器會盡量讓客戶端使用原來的 IP 地址,如果沒問題的話,直接響應 DHCPack 來確認則可。如果該地址已經失效或已經被其它機器使用了,服務器則會響應一個 DHCPNACK 封包給客戶端,要求其重新執行 DHCP discover。至於 IP 的租約期限卻是非常考究的,並非如我們租房子那樣簡單, 以 NT 爲例子:DHCP 客戶端除了在開機的時候發出 DHCP request 請求之外,在租約期限一半的時候也會發出 DHCP request ,如果此時得不到 DHCP 服務器的確認的話,客戶端還可以繼續使用該 IP ;當租約期過了87.5%時,如果客戶端仍然無法與當初的DHCP服務器聯繫上,它將與其它DHCP服務器通信。如果網絡上再沒有任何DHCP服務器在運行時,該客戶端必須停止使用該IP地址,並從發送一個Dhcpdiscover數據包開始,再一次重複整個過程。要是想退租,可以隨時送出 DHCPRELEASE 命令解約,就算租約在前一秒鐘才獲得的。


DHCP中繼

如果DHCP客戶機與DHCP服務器在同一個物理網段,則客戶機可以正確地獲得動態分配的ip地址。如果不在同一個物理網段,則需要DHCP Relay Agent(中繼代理)。用DHCP Relay代理可以去掉在每個物理的網段都要有DHCP服務器的必要,它可以傳遞消息到不在同一個物理子網的DHCP服務器,也可以將服務器的消息傳回給不在同一個物理子網的DHCP客戶機。

工作原理

在大型的網絡中,可能會存在多個子網。DHCP客戶機通過網絡廣播消息獲得DHCP服務器的響應後得到IP地址。但廣播消息是不能跨越子網的。因此,如果DHCP客戶機和服務器在不同的子網內,客戶機就不能向服務器申請IP地址,這時就要用到DHCP中繼代理。DHCP中繼代理實際上是一種軟件技術,安裝了DHCP中繼代理的計算機稱爲DHCP中繼代理服務器,它承擔不同子網間的DHCP客戶機和服務器的通信任務。

DHCP配置實例

 

搭建dhcp服務器
#vim /etc/sysconfig/network-sprict/ifcfg_eth0 設置服務器ip
  IPADDR=192.168.2.100
  GATEWAY=192.168.2.254 
              

安裝dhcp服務
#mkdir /mnt/cdrom                      建立掛載點
#mount /dev/cdrom /mnt/cdrom   掛載光盤
#cd /mnt/cdrom/Server
#rpm -ivh dhcp-3.0.5-21.el5.i386.rpm 安裝dhcpd
#rpm -ql dhcp |less        查看dhcp的配置文檔
  /etc/dhcpd.conf                   dhcp配置文件
  /etc/rc.d/init.d/dhcpd           dhcp進程
  /etc/rc.d/init.d/dhcrelay        dhcp中繼
  /etc/sysconfig/dhcrelay        dhcp中繼配置文件
  /var/lib/dhcpd/dhcpd.leases 獲得地址的記錄文件

編輯dhcp配置文件
#vim /etc/dhcpd.conf
底行模式下:r /usr/share/doc/dhcp*/dhcpd.conf.sampl


#service dhcpd configtest   檢查語法是否正確
#service dhcpd start           啓用服務
#chkconfig dhcpd on         設置自動啓動


DHCP客戶端
#pgrep dhclient   查看是否有dhclient進程若沒有則安裝
#rpm -ivh dhclient-3.0.5-21.el5
#dhclient -d eth0 看到dhcp獲得的整個過程

 

此時可以看到獲得的地址爲192.168.3.253

另外兩個分別獲得的地址爲192.168.2.101和192.168.2.253

 DHCP中繼配置實例

實驗描述 

用linux服務器模擬路由,其中有三塊網卡分別爲eth0,eth1,eth2地址分別爲2.254,3.254,4.254。其中eht0網卡與dhcp服務器通過vmnet1連接;eth1與tec主機通過vmnet2連接;eth2與mkt主機通過vm3連接;mkt與tec需要從dhcp服務器上動態獲得地址。
 

 

 

 

實驗步驟

配置DHCP服務器

#setup 分別設置三個網卡的參數 

 編輯dhcp配置文件
 #vim /etc/dhcpd.conf
底行模式下:r /usr/share/doc/dhcp*/dhcpd.conf.sampl

 

#service dhcpd configtest  檢查語法
#service dhcpd restart      
重啓dhcp服務

設置eth0的參數,默認網關指向192.168.2.254
#route  –n 查看路由

查看dhcp服務是否安裝,若沒有安裝則安裝
#rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
#vim /etc/sysconfig/dhcrelay                    配置中繼,在進口的網卡上配置
  INTERFACES="eth0  eth1 eth2"         連接客戶及服務器的接口都要寫
  DHCPSERVERS="192.168.2.100"

#server dhcrelay configtest           檢查語法
# chkconfig dhcrelay on               設置自動啓動
#service dhcrelay start                 啓動中繼服務

開啓路由轉發
#echo "1"  >/proc/sys/net/ipv4/ip_forward 
或者
#vim /etc/sysctl .conf

 #sysctl -p 重新讀取配置文件

在windows 2003下配置DHCP中繼

配置網卡參數如下

選擇路由遠程訪問

配置並啓用路由和遠程訪問

選擇自定義配置

選擇LAN路由,完成

在常規選項中選擇新增路由協議,選擇DHCP中繼

在中繼代理中選擇新增接口,添加本地連接2和本地連接3

右鍵屬性中添加DHCP服務器的IP地址

以下爲連接vmnet2和vmnet3的兩個客戶端獲得的IP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章