dhcpd服务器的配置与管理(超详细!!!)

前提条件:

(1)虚拟机能够联网(如果nat模式不能联网的看另一期)

CentOS7 NAT模式不能联网-CSDN博客

(2)系统是Centos8,因为下载的dhcp-server软件包版本和Centos7不匹配,如果你能成功下载 dhcp-server就行

阿里云镜像: https://mirrors.aliyun.com/centos/

这个版本是最完整版的,具体想要什么版本根据自己的需求

一、了解DHCP

在企业网络中,一般会涉及主机等终端设备进行资源互访的情况,因此每个终端都需要配置IP地址等网络参数才能接入网络。在小型网络中,终端数量很少,可以手动配置IP地址,但是在中大型网络中,终端数量很多,手动配置 IP 地址工作量大,而且配置时容易导致IP地址冲突等错误,DHCP 可以为网络终端动态分配 IP 地址,解决了手工配置IP地址时的各种问题。

DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)是一种简化主机ip地址分配管理的TCP/IP标准协议,是通过服务器集中管理网络上使用的IP地址及其相关配置信息,以减少管理 IP 地址配置的复杂性。Linux 提供了DHCP服务,它允许服务器履行DHCP的职责,并且通过网络自动配置启用了 DHCP功能的客户端。

在使用DHCP时,网络中至少有一台拥有DHCP服务的Server/PC,客户端需要设置成自动获得IP地址。客户端在向服务器请求一个IP地址时,如果DHCP 服务器的IP地址数据中能提供IP,则登记IP信息并分配这个地址给客户端使用,顺带相关的配置选项。

二、DHCP工作过程

当DHCP客户端第一次启动时,它通过一系列的步骤获得 TCP/IP 配置信息和 IP 地址的租期。租期是指 DHCP 客户端从 DHCP 服务器获得完整的 TCP/IP配置后对该TCP/IP配置的保留使用时间。客户端从服务器上获得完整的TCP/IP配置要经过4个过程。

(**1)发现阶段:**由于客户端并不知道DHCP服务器的地址,因此会用0.0.0.0作为源地址,255.255.255.255作为目标地址,向网络上广播一个 DHCP Discover 消息报文,报文中包含了客户端的 MAC地址和NetBIOS名字。与客户端在同一物理网段上的每一台安装了TCP/IP协议的计算机都会收到该广播报文,但只有DHCP服务器才会做出响应。

**(2)提供阶段:**网络中的DHCP服务器收到来自客户端的DHCP Discover报文后,会从IP地址池中挑选一个尚未出租的 IP 地址预分配给 DHCP客户端,并且在网络上广播一个DHCP Offer 响应报文,该报文包含了客户端的MAC地址、服务器所提供的IP地址、子网掩码、租用期限,以及DHCP 服务器本身的 IP 地址。若网络中有多台DHCP服务器,则这些DHCP 服务器都会广播各自的DHCP Offer报文。

**(3)请求阶段:**如果客户端收到网络上多台DHCP服务器的响应报文,则DHCP客户端只接收第一个收到的 DHCP Offer 提供的信息,并向网络发送一个DHCP Request广播报文,以此告诉所有 DHCP 服务器它将选择哪一台 DHCP服务器提供的IP地址。

**(4)确认阶段:**当DHCP 服务器收到DHCP 客户端回答的 DHCP Request广播报文之后,查看报文中服务方的IP地址,确认自己是否被选为服务方。若未选中则撤销预分配的IP地址等信息,若被选择则发送一个 DHCP ACK报文,该报文包括一个租用期限和客户所请求的其他配置信息。客户端收到 DHCP ACK报文后,配置它的TCP/IP属性并加入网络中。

**注:**客户端发送DHCP Discover后,如果没有 DHCP 服务器响应客户端的请求,客户端会随机使用169.254.0.0/16 网段中的一个 IP 地址临时配置本机地址。此后,每隔5分钟发送一个DHCP Discover消息报文,尝试与DHCP服务器进行通信,若联系成功则使用由 DHCP 服务器提供的 IP 地址来更新自己的配置。

三、安装与启动DHCP服务

例题:公司有台 Linux服务器采用静态IP地址配置,现要对同网段的IT部进行IP地址分配,请按以下需求进行DHCP服务器搭配,保障IT部所有PC都可以正常获得正确的网络IP信息。

网段为192.168.159.50/24,DHCP 服务器,网关为192.168.159.1,分配的地址段为192.168. 159.100~192.168.159.150,租约时间默认;Linux PC1模拟自动获取

配置步骤如下:

按需求进行环境准备和信息采集,如表所示。

主机 操作系统 IP地址 MAC地址
Server Centos8 192.168.159.50 00:0C:29:93:52:CC
PC1 Centos8(克隆) 自动获取 00:0C:29:A2:9F:93
(1)先克隆一个Centos系统
(2)更新yum源
cd /etc/yum.repos.d

备份原来的源

mkdir bak

开始更新yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

建立新的元数据缓存

yum makecache
(3) 安装DHCP服务
yum install dhcp-server
(4)安装dhcp-server后在任务管理器上关闭VMnetDHCP服务重启虚拟机
(5)在DHCP Server 设置静态ip地址
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.159.50

重载配置信息

nmcli connection up ens33
(6)配置dhcp主配置文件
vi /etc/dhcp/dhcpd.conf

subnet 192.168.159.0 netmask 255.255.255.0{

range dynamic-bootp 192.168.159.100 192.168.159.150;

option routers 192.168.159.1;

}

子网ip和掩码都可以查看

检查配置

dhcpd -t
(7)重启dhcpd服务
systemctl restart dhcpd
(8)使用ifconfig查看 DHCP Server的ip
(9) 在PC1客户端(克隆的Centos系统)配置网络配置文件
cd /etc/sysconfig/network-scripts/

vim ifcfg-ens33

BOOTPROTO 改为dhcpONBOOT 改为yes

BOOTPROTO: 指定引导协议。no表示不使用引导协议(如DHCP或BOOTP)来获取IP地址。

ONBOOT: 指定是否在系统启动时自动启动网络接口。no表示在系统启动时不会自动启动这个接口。

(10)在PC1客户端设置动态获取IP地址
nmcli connection modify ens33 ipv4.method auto

nmcli connection up ens33

使用 ifconfig 查看PC1客户端(克隆的Centos系统)的ip

结果已经成功分配ip地址

相关推荐
两个人的幸福online3 分钟前
记录一次 用php 调用ai用stream返回
开发语言·php
还算善良_7 分钟前
【乐企文件生成工程】搭建docker环境,使用docker部署工程
运维·docker·容器
漂流瓶66666630 分钟前
Scala的模式匹配变量类型
开发语言·后端·scala
夏天吃哈密瓜35 分钟前
Scala中的正则表达式01
大数据·开发语言·后端·正则表达式·scala
2401_8337880537 分钟前
Scala的模式匹配(2)
java·开发语言
Lbs_gemini060338 分钟前
C++研发笔记14——C语言程序设计初阶学习笔记12
c语言·开发语言·c++·笔记·学习
ac-er88881 小时前
GD库如何根据颜色生成纯色背景图
开发语言·php
Curtis09801 小时前
RHCE——Ubuntu Linux操作系统
linux·服务器·ubuntu
青瓷看世界2 小时前
华为HarmonyOS 让应用快速拥有账号能力 -- 1 华为账号一键登录
服务器·华为·harmonyos·应用账号能力
悠悠龙龙2 小时前
框架模块说明 #05 权限管理_03
java·开发语言·spring