日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dhcp动态主机配置协议

發布時間:2023/11/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dhcp动态主机配置协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

dhcp簡介:

??????? 動態主機設置協議Dynamic Host Configuration Protocol,DHCP)是一個局域網的網絡協議,使用UDP協議工作,計算機網絡應用層協議

主要有兩個用途:用于內部網或網絡服務供應商自動分配IP地址;

??????????????????????????????? 給用戶用于內部網管理員作為對所有計算機作中央管理的手段。

主要作用:是集中的管理、分配IP地址,使網絡環境中的主機動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,并能夠提升地址的使用率。

DHCP采用C/S模型,主機地址的動態分配任務由網絡主機驅動。當DHCP服務器接收到來自網絡主機申請地址的信息時,才會向網絡主機發送相關的地址配置等信息,以實現網絡主機地址信息的動態配置。

DHCP具有以下功能:

1. 保證任何IP地址在同一時刻只能由一臺DHCP客戶機所使用。

2. DHCP應當可以給用戶分配永久固定的IP地址。

3. DHCP應當可以同用其他方法獲得IP地址的主機共存(如手工配置IP地址的主機)。

4. DHCP服務器應當向現有的BOOTP客戶端提供服務。

DHCP有三種機制分配IP地址:

1) 自動分配方式(Automatic Allocation),DHCP服務器為主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務器端租用到IP地址后,就可以永久性的使用該地址。

2) 動態分配方式(Dynamic Allocation),DHCP服務器給主機指定一個具有時間限制的IP地址,時間到期或主機明確表示放棄該地址時,該地址可以被其他主機使用。

3) 手工分配方式(Manual Allocation),客戶端的IP地址是由網絡管理員指定的,DHCP服務器只是將指定的IP地址告訴客戶端主機。

三種地址分配方式中,只有動態分配可以重復使用客戶端不再需要的地址。

理論過程:

DHCP協議采用UDP作為傳輸協議,主機發送請求消息到DHCP服務器的68號端口,DHCP服務器回應應答消息給主機的67號端口。

  1. DHCP Client以廣播的方式發出DHCP Discover報文。

  2. 所有的DHCP Server都能夠接收到DHCP Client發送的DHCP Discover報文,所有的DHCP Server都會給出響應,向DHCP Client發送一個DHCP Offer報文。

    DHCP Offer報文中“Your(Client) IP Address”字段就是DHCP Server能夠提供給DHCP Client使用的IP地址,且DHCP Server會將自己的IP地址放在“option”字段中以便DHCP Client區分不同的DHCP Server。DHCP Server在發出此報文后會存在一個已分配IP地址的紀錄。

  3. DHCP Client只能處理其中的一個DHCP Offer報文,一般的原則是DHCP Client處理最先收到的DHCP Offer報文。

    DHCP Client會發出一個廣播的DHCP Request報文,在選項字段中會加入選中的DHCP Server的IP地址和需要的IP地址。

  4. DHCP Server收到DHCP Request報文后,判斷選項字段中的IP地址是否與自己的地址相同。如果不相同,DHCP Server不做任何處理只清除相應IP地址分配記錄;如果相同,DHCP Server就會向DHCP Client響應一個DHCP ACK報文,并在選項字段中增加IP地址的使用租期信息。

  5. DHCP Client接收到DHCP ACK報文后,檢查DHCP Server分配的IP地址是否能夠使用。如果可以使用,則DHCP Client成功獲得IP地址并根據IP地址使用租期自動啟動續延過程;如果DHCP Client發現分配的IP地址已經被使用,則DHCP Client向DHCPServer發出DHCP Decline報文,通知DHCP Server禁用這個IP地址,然后DHCP Client開始新的地址申請過程。

  6. DHCP Client在成功獲取IP地址后,隨時可以通過發送DHCP Release報文釋放自己的IP地址,DHCP Server收到DHCP Release報文后,會回收相應的IP地址并重新分配。

在使用租期超過50%時刻處,DHCP Client會以單播形式向DHCP Server發送DHCPRequest報文來續租IP地址。如果DHCP Client成功收到DHCP Server發送的DHCP ACK報文,則按相應時間延長IP地址租期;如果沒有收到DHCP Server發送的DHCP ACK報文,則DHCP Client繼續使用這個IP地址。

在使用租期超過87.5%時刻處,DHCP Client會以廣播形式向DHCP Server發送DHCPRequest報文來續租IP地址。如果DHCP Client成功收到DHCP Server發送的DHCP ACK報文,則按相應時間延長IP地址租期;如果沒有收到DHCP Server發送的DHCP ACK報文,則DHCP Client繼續使用這個IP地址,直到IP地址使用租期到期時,DHCP Client才會向DHCP Server發送DHCP Release報文來釋放這個IP地址,并開始新的IP地址申請過程。

需要說明的是:DHCP客戶端可以接收到多個DHCP服務器的DHCPOFFER數據包,然后可能接受任何一個DHCPOFFER數據包,但客戶端通常只接受收到的第一個DHCPOFFER數據包。另外,DHCP服務器DHCPOFFER中指定 [1]? 的地址不一定為最終分配的地址,通常情況下,DHCP服務器會保留該地址直到客戶端發出正式請求。

正式請求DHCP服務器分配地址DHCPREQUEST采用廣播包,是為了讓其它所有發送DHCPOFFER數據包的DHCP服務器也能夠接收到該數據包,然后釋放已經OFFER(預分配)給客戶端的IP地址。

如果發送給DHCP客戶端的地址已經被其他DHCP客戶端使用,客戶端會向服務器發送DHCPDECLINE信息包拒絕接受已經分配的地址信息。

在協商過程中,如果DHCP客戶端發送的REQUEST消息中的地址信息不正確,如客戶端已經遷移到新的子網或者租約已經過期,DHCP服務器會發送DHCPNAK消息給DHCP客戶端,讓客戶端重新發起地址請求過程。

過程如下圖:

???? server1??????????????????????????????????? client????????????????????????????????????????? server2

搭建過程:

實驗環境:?? server1: 172.25.1.3 ?????????????? dhcp-server

?????????????????????? localhost ? ? ? ? ? ? ? ? ? ? ?????????? ? dhcp-client

服務器端:

[root@server3 ~]# yum install -y dhcp????????????????

[root@server3 ~]# cd /etc/dhcp/
[root@server3 dhcp]# ls
dhcpd6.conf? dhcpd.conf? scripts
[root@server3 dhcp]# cp /usr/share/doc/dhcp-*/dhcpd.conf.example ./dhcpd.conf
cp: overwrite ‘./dhcpd.conf’? y

[root@server3 dhcp]# vim dhcpd.conf

? 1 # dhcpd.conf
? 2 #
? 3 # Sample configuration file for ISC dhcpd
? 4 #
? 5
? 6 # option definitions common to all supported networks...
? 7 option domain-name "example.org";???????????????????????? //域名
? 8 option domain-name-servers 114.114.114.114;???????????? //客戶端可以獲得的DNS
? 9

?10 default-lease-time 600;?????????????? //默認的最短租約期
?11 max-lease-time 7200;???????????????? //最長租約期
?12
?13 # Use this to enble / disable dynamic dns updates globally.
?14 #ddns-update-style none;
?15
?16 # If this DHCP server is the official DHCP server for the local
?17 # network, the authoritative directive should be uncommented.
?18 #authoritative;
?19
?20 # Use this to send dhcp log messages to a different log file (you also
?21 # have to hack syslog.conf to complete the redirection).
?22 log-facility local7;
?23
?24 # No service will be given on this subnet, but declaring it helps the
?25 # DHCP server to understand the network topology.
?26
?27 # This is a very basic subnet declaration.
?28
?29 subnet 172.25.1.0 netmask 255.255.255.0 {??????????????????????? //前者是網絡位,后者為子網掩碼
?30?? range 172.25.1.100 172.25.1.200;?????????????????????? //分配動態IP的IP地址池
?31?? option routers 172.25.1.3;??????????????????? //設置客戶端獲得的網關
?32 }

[root@server3 dhcp]# systemctl start dhcpd??????????????? //開啟dhcp服務

[root@server3 dhcp]# systemctl enable dhcpd??????????? //設置開機自起

[root@server3 dhcp]# systemctl status dhcpd???????????? //查看服務器狀態

客戶端:

注意:獲取IP過程需要斷網,這樣才能看出實驗效果,否則會有干擾

dhcp服務可以應用于我們封裝虛擬機時,這樣就不需要挨個給虛擬機配置ip地址了。

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=eth0
ONBOOT=yes

[root@localhost ~]# systemctl restart network

可以看到IP為我們所設置IP池的范圍

當我們另外封裝完一臺虛擬機時在reboot后可以捕捉到:

封裝虛擬機的過程可借鑒:https://blog.csdn.net/weixin_41922887/article/details/82819037

返回server3端:

[root@server3 dhcp]# cat /var/lib/dhcpd/dhcpd.leases??????????????????? //可以看到對應的IP給了誰

文件中hardware ethernet 和localhost中查看到的 link/ether 完全相同,從而說明localhost 的ip就是server3 動態分配的。

到此,dhcp服務已經實現,實驗結束。

總結

以上是生活随笔為你收集整理的dhcp动态主机配置协议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:dhcp动态主机配置协议