一样漆、DHCP服務(wù)簡(jiǎn)介
****1. DHCP服務(wù)簡(jiǎn)介****
DHCP(Dynamic Host Configuration Protocol),動(dòng)態(tài)主機(jī)配置協(xié)議壳影,DHCP 協(xié)議主要是用來(lái)自動(dòng)為局域網(wǎng)中的客戶(hù)機(jī)分配 TCP/IP 信息的網(wǎng)絡(luò)協(xié)議耐床,并完成每臺(tái)客戶(hù)機(jī)的 TCP/IP 協(xié)議配置雷逆。當(dāng)我們將局域網(wǎng)中客戶(hù)機(jī)IP地址設(shè)置為動(dòng)態(tài)獲取方式時(shí)尾组,DHCP服務(wù)器就會(huì)根據(jù)DHCP協(xié)議給客戶(hù)機(jī)自動(dòng)分配IP地址壤追,使得客戶(hù)機(jī)能夠使用這個(gè)IP地址磕道。
DHCP的前身是BOOTP協(xié)議(Bootstrap Protocol),BOOTP被創(chuàng)建出來(lái)為連接到網(wǎng)絡(luò)中的設(shè)備自動(dòng)分配地址,后來(lái)被DHCP取代了行冰,DHCP比BOOTP更加復(fù)雜溺蕉,功能更強(qiáng)大。所有的IP網(wǎng)絡(luò)參數(shù)(包括IP地址悼做、網(wǎng)關(guān)和DNS服務(wù)器地址等)都由DHCP服務(wù)器集中管理疯特,并負(fù)責(zé)處理客戶(hù)端的DHCP要求;而客戶(hù)端則會(huì)使用從服務(wù)器分配的IP網(wǎng)絡(luò)參數(shù)肛走。
****2. 使用DHCP的優(yōu)點(diǎn)****
減少管理員的工作量漓雅;
避免IP沖突;
減少收入錯(cuò)誤的可能朽色;
能方便地更改網(wǎng)絡(luò)的IP網(wǎng)段邻吞;
移動(dòng)計(jì)算機(jī)后不用重新配置網(wǎng)絡(luò)信息;
提高IP地址的利用率葫男。
****3. DHCP的工作過(guò)程****
第1步:(請(qǐng)求DHCP服務(wù)器)
客戶(hù)端在局域網(wǎng)廣播發(fā)送 DHCP discovery包抱冷,尋找DHCP服務(wù)器,即向255.255.255.255發(fā)送特定的廣播信息梢褐,每一臺(tái)安裝了TCP/IP協(xié)議的主機(jī)都會(huì)有這個(gè)廣播地址旺遮,但只有DHCP服務(wù)器才會(huì)做出回應(yīng)。
第2步:(提供IP地址)
服務(wù)器收到DHCP discovery包后盈咳,向客戶(hù)機(jī)發(fā)送一個(gè)包含分配的IP地址和其它設(shè)置的 DHCP offer 包耿眉,目的告訴客戶(hù)機(jī),我能為你提供IP地址鱼响。
第3步:(選擇IP地址)
客戶(hù)機(jī)收到DHCP offer提供信息包后鸣剪,(如果客戶(hù)機(jī)在一段時(shí)間內(nèi)沒(méi)有接收到DHCP服務(wù)器發(fā)出dhcp offer包,則會(huì)重新發(fā)送dhcp discover。如果廣播區(qū)域內(nèi)不止一臺(tái)dhcp服務(wù)器西傀,則由客戶(hù)機(jī)決定使用哪個(gè))客戶(hù)機(jī)選擇第一個(gè)接收到的提供信息包斤寇,以廣播的方式再發(fā)送一個(gè)DHCP request請(qǐng)求信息包,客戶(hù)機(jī)向服務(wù)器請(qǐng)求IP地址拥褂。
第4步:(IP地址提供確認(rèn))
服務(wù)端收到客戶(hù)機(jī)回應(yīng)的DHCP request 請(qǐng)求信息包之后娘锁,便向客戶(hù)機(jī)發(fā)送一個(gè)DHCP ack 確認(rèn)信息包,告訴客戶(hù)機(jī)可以使用它提供的IP地址饺鹃。
第5步:(重新登錄)
以后DHCP客戶(hù)機(jī)每次使用此IP地址時(shí)莫秆,就不需要再發(fā)送DHCP discovery包了,而是直接發(fā)送一個(gè)包含前一次所分配的IP地址的DHCP request請(qǐng)求信息悔详。當(dāng)DHCP服務(wù)器收到這一信息以后镊屎,它會(huì)繼續(xù)讓客戶(hù)機(jī)使用此IP地址,并回答一個(gè)DHCP ack確認(rèn)信息茄螃。如果此IP地址已無(wú)法再分配給原來(lái)的客戶(hù)機(jī)使用時(shí)缝驳,則DHCP服務(wù)器給客戶(hù)機(jī)回答一個(gè)DHCP nack否認(rèn)信息。當(dāng)原來(lái)的客戶(hù)機(jī)收到此DHCP nack否認(rèn)信息后归苍,它就必須重新發(fā)送DHCP discovery尋找信息來(lái)請(qǐng)求新的IP地址用狱。
第6步:(更新租約)
DHCP服務(wù)器向客戶(hù)機(jī)出租的IP地址都有一個(gè)租借期限,期滿(mǎn)后DHCP服務(wù)器便會(huì)收回出租的IP地址拼弃。如果客戶(hù)機(jī)要延長(zhǎng)其IP租約夏伊,必須更新其IP租約∥茄酰客戶(hù)機(jī)啟動(dòng)時(shí)和IP租約期限過(guò)一半時(shí)溺忧,客戶(hù)機(jī)都會(huì)自動(dòng)向DHCP服務(wù)器發(fā)送更新其IP租約的信息。
****4. DHCP客戶(hù)機(jī)自動(dòng)更新IP租約****
客戶(hù)機(jī)租約期限已過(guò)去50%盯孙,自動(dòng)嘗試更新租約鲁森;當(dāng)期限過(guò)去87.5% 時(shí),發(fā)出廣播再次更新租約镀梭;若租約已經(jīng)到期(100%)刀森,客戶(hù)機(jī)必須立即停止使用當(dāng)前的IP地址。然后客戶(hù)機(jī)開(kāi)始新的DHCP租約過(guò)程报账,嘗試租用新的IP地址。
二埠偿、系統(tǒng)環(huán)境
系統(tǒng)平臺(tái): CentOS 7.3
DHCP Server: 192.168.8.88
更改主機(jī)名透罢,寫(xiě)/etc/hosts記錄
|
vim /etc/hosts
192.168.8.88 DHCP --最后添加DHCP服務(wù)器IP地址和主機(jī)名/別名
|
關(guān)閉防火墻
| # systemctl stop firewalld --臨時(shí)關(guān)閉防火墻
systemctl disable firewalld --永久關(guān)閉防火墻
|
關(guān)閉selinux
臨時(shí)關(guān)閉:
| # setenforce 0
|
永久關(guān)閉:
| # vim /etc/selinux/config
SELINUX=disabled --將enforcing改為disabled
reboot --重啟系統(tǒng)永久生效
|
三、CentOS下的DHCP服務(wù)
準(zhǔn)備兩臺(tái)機(jī)器冠蒋,一臺(tái)作為DHCP服務(wù)器羽圃,一臺(tái)作為客戶(hù)機(jī),如下圖:
****1. 在服務(wù)器上安裝DHCP軟件包****
| # yum -y install dhcp* --安裝dhcp軟件包
如果已經(jīng)安裝過(guò)了抖剿,則顯示“無(wú)須任何處理”
|
安裝好后朽寞,配置文件目錄:/etc/dhcp/dhcpd.conf
分給客戶(hù)端IP的記錄文件:/var/lib/dhcpd/dhcpd.leases
****2. 配置DHCP****
把系統(tǒng)默認(rèn)的樣例復(fù)制到/etc/dhcp/dhcpd.conf文件里
|
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"识窿? y --輸y覆蓋原文件
|
|
vim /etc/dhcp/dhcpd.conf --修改配置文件
7 option domain-name "example.org"; --DNS域名
8 option domain-name-servers ns1.example.org, ns2.example.org; --DNS的域服務(wù)器
9
10 default-lease-time 600; --默認(rèn)的租約時(shí)間,秒為單位
11 max-lease-time 7200; --最大的租約時(shí)間脑融,秒為單位
14 #ddns-update-style none; --表示要不要把IP地址的更新情況告訴DNS服務(wù)器喻频,默認(rèn)是關(guān)閉的
22 log-facility local7; --定義日志服務(wù),可以在日志配置文件中查看具體日志位置肘迎,默認(rèn)是:/var/log/boog.log甥温,但是在/var/log/messages里面也會(huì)記錄dhcp日志
47 subnet 192.168.8.0 netmask 255.255.255.0 { --分配的網(wǎng)段及子網(wǎng)掩碼,代表只在192.168.8.x這個(gè)C類(lèi)網(wǎng)段里生效妓布,子網(wǎng)掩碼設(shè)為255.255.255.0
48 range 192.168.8.30 192.168.8.60; --代表給客戶(hù)機(jī)分配可用的IP范圍姻蚓,起始到結(jié)束,盡量不要包含DHCP服務(wù)器的IP地址
49 option domain-name-servers 192.168.8.88; --配置要分配給客戶(hù)端的DNS地址,這里我們?cè)O(shè)為DHCP服務(wù)器的IP地址
50 option domain-name "internal.example.org"; --DNS的域名
51 option routers 192.168.8.88; --配置分配給客戶(hù)機(jī)的路由網(wǎng)關(guān)匣沼,這里我們?cè)O(shè)為DHCP服務(wù)器的IP地址
52 option broadcast-address 192.168.8.255; --給客戶(hù)機(jī)指定廣播地址狰挡,配置192.168.8.x這個(gè)網(wǎng)段的廣播地址
53 default-lease-time 600; --指定租約時(shí)間,秒為單位
54 max-lease-time 7200; --指定最大租約時(shí)間释涛,秒為單位
55 }
75 host fantasia { --將MAC地址和IP綁定加叁,host后面的名字隨意,如:fantasia
76 hardware ethernet 08:00:07:26:c0:a5; --MAC地址
77 fixed-address fantasia.fugue.com; --IP地址
78 }
85 class "foo" { --定義多個(gè)子網(wǎng)枢贿,class后面寫(xiě)組名
86 match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
87 }
88
89 shared-network 224-29 { --定義多個(gè)子網(wǎng)殉农,要從大往小寫(xiě)
90 subnet 10.17.224.0 netmask 255.255.255.0 {
91 option routers rtr-224.example.org;
92 }
93 subnet 10.0.29.0 netmask 255.255.255.0 {
94 option routers rtr-29.example.org;
95 }
96 pool {
97 allow members of "foo";
98 range 10.17.224.10 10.17.224.250;
99 }
100 pool {
101 deny members of "foo";
102 range 10.0.29.10 10.0.29.230;
103 }
104 }
|
修改紅色標(biāo)注位置就可以了,修改完成之后局荚,保存退出超凳。
****3、啟動(dòng)DHCP服務(wù)****
|
systemctl restart dhcpd.service --重啟DHCP服務(wù)
systemctl enable dhcpd.service --設(shè)置為開(kāi)機(jī)自啟動(dòng)
netstat -anlp | grep dhcpd --查看dhcp服務(wù)端口為67
|
****4耀态、來(lái)到客戶(hù)機(jī)驗(yàn)證****
把客戶(hù)端機(jī)的網(wǎng)卡配置成dhcp,再重啟網(wǎng)絡(luò)服務(wù)
|
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp --網(wǎng)卡指定方式改為dhcp
systemctl restart network.service --重啟網(wǎng)卡
|
打開(kāi)日志文件查看分配的IP地址
服務(wù)器:
| # tail -f /var/log/messages --在服務(wù)器上監(jiān)聽(tīng)日志
|
客戶(hù)機(jī):
打開(kāi)兩個(gè)終端窗口:一個(gè)查看日志轮傍,一個(gè)重啟網(wǎng)絡(luò)。
查看日志
| # tail -f /var/log/messages
|
重啟網(wǎng)絡(luò)
| # systemctl restart NetworkManager --重啟這個(gè)服務(wù)首装,每次重啟網(wǎng)絡(luò)服務(wù)時(shí)创夜,系統(tǒng)都會(huì)重新去DHCP服務(wù)器上獲取IP地址 |
查看IP
| # ifconfig --查看IP
|
查看網(wǎng)關(guān)
| # route -n | grep UG --查看網(wǎng)關(guān)
|
查看路由
| # cat /etc/resolv.conf --查看路由
|
****5、如果要把客戶(hù)機(jī)分配的IP給固定的話(huà)仙逻,可以在服務(wù)器做如下配置****
|
vim /etc/dhcp/dhcpd.conf --分給客戶(hù)機(jī)IP的記錄文件
在文件的最下面加上下面一段代碼即可
75 host Client { --host后面接的是客戶(hù)機(jī)主機(jī)名稱(chēng)驰吓,可以自定義,建議為主機(jī)名
76 hardware ethernet 00:0c:29:82:6f:db; --代表客戶(hù)機(jī)的物理MAC地址
77 fixed-address 192.168.8.40; --代表如果有遇到物理MAC地址為上面一行的系奉,則分配這行的IP給它
78 }
|
|
systemctl restart dhcpd.service --重啟DHCP服務(wù)
測(cè)試檬贰,重復(fù)第4步
|
****6、客戶(hù)機(jī)獲取IP****
先清除客戶(hù)機(jī)IP地址緩存
|
systemctl restart NetworkManager --重啟這個(gè)服務(wù)缺亮,每次重啟網(wǎng)絡(luò)服務(wù)時(shí)翁涤,系統(tǒng)都會(huì)重新去DHCP服務(wù)器上獲取IP地址
ifconfig --查看IP,應(yīng)該為設(shè)定的IP,即192.168.8.40
|