DHCP原理与配置

DHCP原理与配置

文章目录

1、DHCP原理

(1)什么是DHCP

tex 复制代码
DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议):给网络内的客户机自动分配IP地址
由internet工作任务小组设计开发口专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
DHCP采用的是UDP作为传输协议,有两个端口67和68,DHCP客户端发送请求消息给服务端的67号端口,DHCP服务端回应响应消息给客户端的68端口

(2)DHCP的好处

tex 复制代码
减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当更改IP地址时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置

(3)DHCP的分配方式

tex 复制代码
自动分配:分配到一个IP地址后永久使用
手动分配:由DHCP服务器管理员专门指定IP地址
动态分配:使用完释放该IP,供其他客户使用

(4)DHCP的工作原理

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

分为四个步骤

shell 复制代码
(1)客户端通过广播发送DHCP Discover报文寻找DHCP服务端
(2)服务端通过广播发送DHCP Offer报文向客户端提供从地址池挑选的可用IP等信息
(3)客户端只接受第一个收到的DHCP Offer报文并提取IP地址,然后通过广播发送DHCP Request报文告知服务端要使用该IP地址
(4)服务端通过广播发送DHCP ACK报文告知客户端该IP地址是合法可用的,并提供租约信息

DHCP客户机每次登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次分配的IP地址的DHCP Request请求信息。如果IP地址可用,DHCP会发送DHCP ACK确认消息。如果IP地址不可用,DHCP服务器会发送DHCP Nack否认消息,此时DHCP客户端需要重新发送DHCP Discover报文寻找DHCP服务端

*linux、windows客户端和服务端都是以广播方式发送消息
华为设备客户端以广播方式发送消息,服务端以单播的方式发送消息*

2、配置DHCP实验

(1)实验目的

模拟DHCP自动获取IP地址

(2)实验准备

三台虚拟机:一台完好的linux虚拟机来当DHCP服务端,一台完好的linux虚拟机来当DHCP客户端1,一台完好的windows虚拟机来当DHCP客户端2

(3)实验要求

两台客户端虚拟机能通过服务端虚拟机来自动获取到IP地址

(4)实验步骤

1)服务端虚拟机初始化操作

将网络连接调至仅主机模式(如用nat模式,需将其本地的dhcp服务给关闭)

如果使用仅主机模式,需将电脑里网络连接的vmnet1(仅主机使用的)里的ipv4

协议属性进行修改

关闭防火墙,设置其立即开机不自启

临时关闭selinux防火墙,然后永久关闭

tex 复制代码
补充
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
selinux(security enhanced linux)安全强化的linux,它是一个linux内核模块,也是linux的一个安全子系统

SELinuxd的工作模式

enforcing强制模式,违反 SELinux 规则的行为将被阻止并记录到日志中
permissive
宽容模式,违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
disabled
关闭 SELinux。
2)安装dhcp服务

有两种方式安装

第一种:rpm -ivhRPM包文件

第二种:yum -y install dhcp(需检查本地yum源有没有配好)

3)修改dhcp配置文件

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

由于etc/dhcp/dhcpd.conf的文件是没有什么内容的,我们需将usr/share/doc/dhcp-4.2.5/dhcpd.conf.example这个模版文件复制过来

启动dhcp服务并查看

如果启动报错,可以查看日志文件/var/log/messages或通过journalctl -xe

4)打开客户机查看验证

两台客户端虚拟机都得把网络状态设置为仅主机模式

windows客户端验证

linux客户端验证


相关推荐
YC运维1 分钟前
Jenkins 安装,自动化全方位详解文档
运维·自动化·jenkins
半梦半醒*2 分钟前
Jenkins流水线项目发布
运维·ci/cd·tomcat·jenkins·maven·运维开发
---学无止境---24 分钟前
Linux中dcache和inode缓存回收函数的实现
linux
Мартин.27 分钟前
[Meachines] [Hard] Pollution MyBB+Redis_session+PHP-Filter+PHP-FPM+prototype
linux
总有刁民想爱朕ha29 分钟前
银河麒麟v10 Mysql8部署教程(小白版)
linux·mysql数据库备份
塔能物联运维38 分钟前
物联网运维中的自适应网络拓扑重构技术
运维·物联网·重构
cozil1 小时前
记录磊科B39路由器跨域组网遇到的问题
网络·智能路由器·跨域组网
LCG元1 小时前
性能排查必看!当Linux服务器CPU/内存飙高,如何快速定位并"干掉"罪魁祸首进程?
linux·后端
路由侠内网穿透1 小时前
本地部署开源数据分析平台 Elastic Stack 并实现外部访问( Windows 版本)
运维·服务器·网络·windows·开源·jenkins
FreeBuf_2 小时前
AWS服务大规模中断,基础设施故障影响全球企业
网络·数据库·aws