DHCP是什么
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)通常被應用在大型的局域網絡環境中,主要作用是集中的管理、分配IP地址,使網絡環境中的主機動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。DHCP使用UDP協議工作,常用有2個端口:67(DHCP server),68(DHCP client)
DHCP服務器的優點和缺點
優點:在主機比較多的大型局域網或者主機數量頻繁變動的局域網內,可以使用DHCP服務器來提供客戶端使用的IP地址,減輕網絡管理員手動配置IP地址的負擔,減少IP沖突的可能
缺點:DHCP不能發現網絡上非DHCP客戶機已經在使用的IP地址;當網絡上存在多個DHCP服務器時,一個DHCP服務器不能查出已被其它服務器租出去的IP地址;DHCP服務器不能跨路由器與客戶機通信,除非路由器允許BOOTP轉發
DHCP的運行機制
DHCP實現過程有以下幾個過程:發現階段,提供階段,確認階段,選擇階段,重新登錄,更新租約
①發現階段,即DHCP客戶機尋找DHCP服務器的階段。DHCP客戶機以廣播方式(因為DHCP服務器的IP地址對於客戶機來說是未知的)發送DHCP discover發現信息來尋找DHCP服務器,即向地址255.255.255.255發送特定的廣播信息。網絡上每一台安裝了TCP/IP協議的主機都會接收到這種廣播信息,但只有DHCP服務器才會做出響應
②提供階段,即DHCP服務器提供IP地址的階段。在網絡中接收到DHCP discover發現信息的DHCP服務器都會做出響應,它從尚未出租的IP地址中挑選一個分配給DHCP客戶機,向DHCP客戶機發送一個包含出租的IP地址和其他設置的DHCP offer提供信息。
③選擇階段,即DHCP客戶機選擇某台DHCP服務器提供的IP地址的階段。如果有多台DHCP服務器向DHCP客戶機發來的DHCP offer提供信息,則DHCP客戶機只接受第一個收到的DHCP offer提供信息,然后它就以廣播方式回答一個DHCP request請求信息,該信息中包含向它所選定的DHCP服務器請求IP地址的內容。之所以要以廣播方式回答,是為了通知所有的DHCP服務器,他將選擇某台DHCP服務器所提供的IP地址。
④確認階段,即DHCP服務器確認所提供的IP地址的階段。當DHCP服務器收到DHCP客戶機回答的DHCP request請求信息之后,它便向DHCP客戶機發送一個包含它所提供的IP地址和其他設置的DHCP ack確認信息,告訴DHCP客戶機可以使用它所提供的IP地址。然后DHCP客戶機便將其TCP/IP協議與網卡綁定,另外,除DHCP客戶機選中的服務器外,其他的DHCP服務器都將收回曾提供的IP地址
⑤重新登錄。以后DHCP客戶機每次重新登錄網絡時,就不需要再發送DHCP discover發現信息了,而是直接發送包含前一次所分配的IP地址的DHCP request請求信息。當DHCP服務器收到這一信息后,它會嘗試讓DHCP客戶機繼續使用原來的IP地址,並回答一個DHCP ack確認信息。如果此IP地址已無法再分配給原來的DHCP客戶機使用時(比如此IP地址已分配給其它DHCP客戶機使用),則DHCP服務器給DHCP客戶機回答一個DHCP nack否認信息。當原來的DHCP客戶機收到此DHCP nack否認信息后,它就必須重新發送DHCP discover發現信息來請求新的IP地址。
⑥更新租約。DHCP服務器向DHCP客戶機出租的IP地址一般都有一個租借期限,期滿后DHCP服務器便會收回出租的IP地址。如果DHCP客戶機要延長其IP租約,則必須更新其IP租約。DHCP客戶機啟動時和IP租約期限過一半時,DHCP客戶機都會自動向DHCP服務器發送更新其IP租約的信息
DHCP在linux中的配置過程
配置環境:
服務端:centos7.5
客戶端:centos7.5
①安裝dhcp服務端:
yum install dhcp
②配置:vim /etc/dhcp/dhcpd.conf
③dhcp客戶端的網卡設置為自動獲取(vim /etc/sysconfig/network-scripts/ifcfg-ens33)
④設置完成后,重啟網卡,可以看到獲取的IP地址
⑤如果要給某台主機每次都分固定的IP地址,則需要添加以下配置
⑥重啟dhcp服務器,重啟客戶端網卡,可以看到客戶端已經獲取到新的IP地址
注意,dhcp分配的動態IP存放在/var/lib/dhcpd/dhcpd.leases文件中