網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
目錄
一、DHCP
1.DHCP簡(jiǎn)介
2.DHCP優(yōu)點(diǎn)
3.DHCP自動(dòng)獲取ip地址工作原理
二、Linux配置DHCP服務(wù)器
實(shí)驗(yàn)一:客戶(hù)端動(dòng)態(tài)獲取DHCP服務(wù)器ip地址
實(shí)驗(yàn)二:DHCP服務(wù)器為單機(jī)分配固定ip
一、DHCP
1.DHCP簡(jiǎn)介
????????DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)是一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議。指的是由服務(wù)器控制一段IP地址范圍,客戶(hù)機(jī)登錄服務(wù)器時(shí)就可以自動(dòng)獲得服務(wù)器分配的IP地址和子網(wǎng)掩碼。默認(rèn)情況下,DHCP作為Windows Server的一個(gè)服務(wù)組件不會(huì)被系統(tǒng)自動(dòng)安裝,還需要管理員手動(dòng)安裝并進(jìn)行必要的配置。
????????DHCP服務(wù)對(duì)應(yīng)傳輸層UDP協(xié)議,因?yàn)槭荂/S架構(gòu),所以客戶(hù)機(jī)端口號(hào)是67,服務(wù)器端口號(hào)是68。
? ? ? ? DHCP服務(wù)器可以設(shè)置在路由器或主機(jī)上。
2.DHCP優(yōu)點(diǎn)
- 減少管理員的工作量
- 避免輸入錯(cuò)誤的可能
- 避免IP地址沖突
- 當(dāng)更改IP地址段時(shí),不需要重新配置每個(gè)用戶(hù)的IP地址
- 提高了IP地址的利用率
- 方便客戶(hù)端的配置
3.DHCP自動(dòng)獲取ip地址工作原理?
獲取ip過(guò)程
第一步:客戶(hù)機(jī)向局域網(wǎng)中所有DHCP服務(wù)器發(fā)送DHCP discovery報(bào)文,來(lái)請(qǐng)求DHCP服務(wù)器下發(fā)ip地址。
第二步:局域網(wǎng)中所有DHCP服務(wù)器回復(fù)DHCP ?offer報(bào)文,為客戶(hù)機(jī)提供一個(gè)尚未分配的ip地址。
(華為的服務(wù)器使用的是單播)。
第三步:客戶(hù)機(jī)選擇第一臺(tái)DHCP服務(wù)器回復(fù)的ip地址,并且要發(fā)送DHCP request報(bào)文,通告給局域網(wǎng)中所有的DHCP服務(wù)器,它選擇了哪個(gè)ip和哪個(gè)DHCP(發(fā)送DHCP request的原因有兩層,第一層是通告所有DHCP,讓未被選中的服務(wù)器,把未使用的地址收回,第二層是通告給被選中的服務(wù)器,這個(gè)IP地址客戶(hù)機(jī)要使用了)。
第四步:被選中的DHCP服務(wù)器收到DHCP request消息后,會(huì)給DHCP客戶(hù)機(jī)回復(fù)一個(gè)DHCP Ack,告知客戶(hù)端此ip地址可以被使用了,并包含ip地址的租期信息客戶(hù)機(jī)將此ip與自己的MAC地址綁定,方便下次使用,而其他DHCP服務(wù)器將收回分配給該客戶(hù)機(jī)的ip地址。
獲取后過(guò)程
第五步:之后客戶(hù)端每次登錄網(wǎng)絡(luò)時(shí),不需要再發(fā)送DHCP discover報(bào)文,而是直接發(fā)送包含前一次分配的ip地址的DHCP request請(qǐng)求。
第六步:當(dāng)DHCP服務(wù)器向客戶(hù)端出租的ip地址租期達(dá)到50%時(shí),就需要更新租約。客戶(hù)機(jī)直接向DHCP服務(wù)器發(fā)送DHCP request報(bào)文,請(qǐng)求續(xù)約。
二、Linux配置DHCP服務(wù)器
實(shí)驗(yàn)一:客戶(hù)端動(dòng)態(tài)獲取DHCP服務(wù)器ip地址
1.關(guān)閉防火墻和selinux
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0
2.安裝DHCP服務(wù)并查看相關(guān)配置文件
[root@localhost ~]#yum install -y dhcp
[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
# 可以看到這個(gè)配置文件是空的,但是上面提示了模板配置文件
3.將虛擬機(jī)網(wǎng)絡(luò)連接模式改為僅主機(jī)模式
??
?4.設(shè)置DHCP服務(wù)端的ip地址等配置
//設(shè)置DHCP服務(wù)的ip地址等信息
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" --此處改為靜態(tài)
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="0b9122cc-f871-4b9b-8ca5-51dc7e0b9fb4"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.192.20 --設(shè)置ip,與僅主機(jī)模式在同一網(wǎng)段網(wǎng)段
NETMASK=255.255.255.0 --子網(wǎng)掩碼
GATEWAY=192.168.192.2 --網(wǎng)關(guān)
//重啟網(wǎng)卡
[root@localhost ~]#systemctl restart network
//ip設(shè)置成功
[root@localhost ~]#ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.192.20 netmask 255.255.255.0 broadcast 192.168.192.255
inet6 fe80::6fa1:2a57:eb7:f714 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:fc:cd:08 txqueuelen 1000 (Ethernet)
RX packets 167 bytes 12741 (12.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 264 bytes 21137 (20.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
5.拷貝模板配置文件并修改??
關(guān)鍵字段解釋
//設(shè)置全局配置參數(shù)
default-lease-time 21600; ? ? ?--默認(rèn)租約為6小時(shí),單位為秒
max-lease-time 43200; ? ? ? ? ? --最大租約為12小時(shí),單位為秒
option domain-name "benet.com"; ? ? ? ? --指定默認(rèn)域名
option domain-name-servers 202.106.0.20,202.106.148.1; ? ? ?--指定DNS服務(wù)器地址
ddns-update-style none; ? ? ? ? ?--禁用DNS動(dòng)態(tài)更新//subnet網(wǎng)段聲明(作用于整個(gè)子網(wǎng)段,部分配置參數(shù)優(yōu)先級(jí)高于全局配置參數(shù))
subnet 192.168.100.0 netmask 255.255.255.o { ? ? ? ? --聲明要分配的網(wǎng)段地址
range 192.168.100.128 192.168.100.200; ? ? ? ? ? ? ? --設(shè)置地址池
option routers 192.168.100.1; ? ? ? ? ? ? ? --指定默認(rèn)網(wǎng)關(guān)地址
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
//在命令模式輸入以下代碼,拷貝配置文件內(nèi)容
:.! cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
//我們?cè)谶@里只展示關(guān)鍵需要修改的配置,其他的內(nèi)容可以注釋或刪除
//設(shè)置全局配置
14 default-lease-time 21600; --設(shè)置租約時(shí)間為6小時(shí)
15 max-lease-time 43200; --設(shè)置最大租約時(shí)間為12小時(shí)
36 subnet 192.168.192.0 netmask 255.255.255.0 { --指定要分配的網(wǎng)段地址
37 range 192.168.192.100 192.168.192.200; --設(shè)置地址池
38 option routers 192.168.192.2; --指定默認(rèn)網(wǎng)關(guān)地址
39 }
[root@localhost ~]#systemctl restart dhcpd.service
[root@localhost ~]#systemctl is-active dhcpd.service
active
6.測(cè)試DHCP服務(wù)是否可用
首先將測(cè)試客戶(hù)端也設(shè)置為僅主機(jī)模式,再修改配置文件
//設(shè)置客戶(hù)端dhcp動(dòng)態(tài)獲取ip
[root@localhostmain ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="d762dea5-cf23-4074-837a-1b1a7cd72ded"
DEVICE="ens33"
ONBOOT="yes"
//重啟網(wǎng)卡
[root@localhost ~]#systemctl restart network
//客戶(hù)端獲取到了DHCP服務(wù)端ip地址池的其中一個(gè)ip
[root@localhost ~]#ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.192.101 netmask 255.255.255.0 broadcast 192.168.192.255
inet6 fe80::7791:1d06:d2da:af8e prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:3b:4b:c3 txqueuelen 1000 (Ethernet)
RX packets 219 bytes 47706 (46.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 338 bytes 37742 (36.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
實(shí)驗(yàn)二:DHCP服務(wù)器為單機(jī)分配固定ip
1.打開(kāi)win10虛擬機(jī),打開(kāi)cmd命令界面,輸入ipconfig /all,查看本機(jī)MAC地址
2.在第一個(gè)實(shí)驗(yàn)的DHCP服務(wù)器dhcp.conf文件中增加host配置?
//host主機(jī)聲明(給單機(jī)分配固定的IP地址) ? ?
host hgstname{ ? ? ? ? ? ? ? ? ? ? ? ? --指定需要分配固定IP地址的客戶(hù)機(jī)名稱(chēng)
hardware ethernet 00:c0:c3:22:46:81; ? ? ? ? --指定該主機(jī)的MAC地址
fixed-address 192.168.4.100; ? ? ? ?--指定保留給該主機(jī)的IP地址?
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
host myboss { --指定主機(jī)名,名字無(wú)要求
hardware ethernet 00:0C:29:39:8B:5A; --客戶(hù)機(jī)的MAC地址,從第一步獲取
fixed-address 192.168.192.188; --DHCP服務(wù)端指定分配給單客戶(hù)機(jī)的ip地址
}
//重啟dhcp服務(wù)
[root@localhost ~]#systemctl restart dhcpd
3.客戶(hù)機(jī)cmd命令界面,先輸入ipconfig /release,再輸入ipconfig /renew ,發(fā)現(xiàn)客戶(hù)機(jī)已經(jīng)獲取到了DHCP服務(wù)端提供的ip地址:192.168.192.188?
原文鏈接:https://blog.csdn.net/weixin_58544496/article/details/126296776
相關(guān)推薦
- 2022-05-23 C#中的數(shù)據(jù)結(jié)構(gòu)介紹_C#教程
- 2022-09-26 tomcat下載安裝及配置環(huán)境變量,但打開(kāi)startup文件出現(xiàn)閃退問(wèn)題解決方法
- 2022-09-28 Linux在兩個(gè)服務(wù)器直接傳文件的操作方法_Linux
- 2022-08-18 Kotlin函數(shù)使用示例教程_Android
- 2023-12-11 IOC和AOP概念簡(jiǎn)述
- 2022-06-01 C語(yǔ)言超詳細(xì)講解棧與隊(duì)列實(shí)現(xiàn)實(shí)例_C 語(yǔ)言
- 2022-06-09 使用Ajax實(shí)現(xiàn)進(jìn)度條的繪制_AJAX相關(guān)
- 2023-03-17 Go語(yǔ)言依賴(lài)管理三要素示例解析_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支