DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)一般被應用在大型的局域網絡環境中,主要做用是集中的管理、分配IP地址,使網絡環境中的主機動態的得到IP地址、Gateway地址、DNS服務器地址等信息,並可以提高地址的使用率。linux
網絡配置web
靜態指定bash
動態獲取: bootp:boot protocol MAC與IP一一靜態對應服務器
dhcp:加強的bootp,動態網絡
DHCP: (Dynamic Host Configuration Protocol)dom
動態主機配置協議ide
局域網協議,UDP協議spa
主要用途:
orm
用於內部網絡和網絡服務供應商自動分配IP地址給用戶router
用於內部網絡管理員做爲對全部電腦做集中管理的手段
使用場景
自動化安裝系統
解決IPV4資源不足問題
續租
50% :租賃時間達到50%時來續租,剛向DHCP服務器發 向新的DHCPREQUEST請求。若是dhcp服務沒有拒絕的理 由,則迴應DHCPACK信息。當DHCP客戶端收到該應答信 息後,就從新開始新的租用週期
87.5%:若是以前DHCP Server沒有迴應續租請求,等到 租約期的7/8時,主機會再發送一次廣播請求
DHCP服務簡介
同網段多DHCP服務DHCP服務必須基於本地
相關協議先到先得的原則
Arp
跨網段rarp
RFC 1542 Compliant Routers
dhcrelay: 中繼
DHCP共有八種報文
一、 DHCP DISCOVER:客戶端到服務器
二、DHCP OFFER :服務器到客戶端
三、DHCP REQUEST:客戶端到服務器
四、 DHCP ACK :服務器到客戶端
五、 DHCP NAK:服務器到客戶端,通知用戶無 法分配合適的IP地址
六、DHCP DECLINE :客戶端到服務器,指 示地址已被使用
七、DHCP RELEASE:客戶端到服務器,放棄 網絡地址和取消剩餘的租約時間
八、DHCP INFORM:客戶端到服務器, 客戶 端若是須要從DHCP服務器端獲取更爲詳細 的配置信息,則發送Inform報文向服務器 進行請求,極少用到
dhcp工做原理
dhcp discover:由客戶端發送廣播,請求ip地址
dhcp offer:由dhcp服務器發送廣播,告知客戶端,我能提供IP地址
dhcp request:由客戶端再次發送廣播,告知全網絡我選擇了誰向我提供ip地址
dhcp ack:由指定的dhcp服務器向客戶端提供信息(ip,mask,gateway,release,dns)
免費ARP(自發自收):當機器從新啓動後,接入網絡後會發送一個arp廣播即免費ARP,以告訴玩網絡中的其餘主機該地址已被使用,間接實現檢測地址是否可使用。
DHCP實現
安裝dhcp
]# yum install dhcp
dhcp配置文件
~]# cat /etc/dhcp/dhcpd6.conf
配置文件模板文件
~]# cat /usr/share/doc/dhcp*/dhcpd6.conf.example
地址分配記錄
~]# cat /var/lib/dhcpd/dhcpd.leases
客戶端查看獲取地址過程信息
[root@localhost dhclient]# dhclient
DHCP配置文件
其它配置選項:
filename: 指明引導文件名稱
next-server:提供引導文件的服務器IP地址
示例:
filename "pxelinux.0"; next-server 192.168.100.100;
檢查語法
service dhcpd configtest
dhcpd.conf 文件示例:
[root@localhost ~]#cat /etc/dhcp/dhcpd.conf # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # option domain-name "magedu.com"; option domain-name-servers 192.168.77.77 ; #地址租期時間 default-lease-time 3000; #地址最大租期時間 max-lease-time 7200; log-facility local7; #指明地址段{分配地址範圍;指明路由(網關);[ 指明引導文件名稱;提供引導文件的服務器IP地址; ]} subnet 192.168.77.0 netmask 255.255.255.0 { range 192.168.77.7 192.168.77.70; option routers 192.168.77.77; next-server 192.168.77.77; filename "pxelinux.0"; } #mask綁定 host fantasia { hardware ethernet 08:00:07:26:c0:a5; fixed-address fantasia.fugue.com; }