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客户端验证


相关推荐
黑客Ash3 分钟前
计算机中的网络安全
网络·安全·web安全
PersistJiao11 分钟前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
嚯——哈哈18 分钟前
从入门到精通:解析如何使用亚马逊云服务器(AWS EC2)
运维·服务器·aws
岳不谢1 小时前
VPN技术-VPN简介学习笔记
网络·笔记·学习·华为
编程修仙1 小时前
Collections工具类
linux·windows·python
follycat1 小时前
信息收集--CDN绕过
网络·安全·网络安全
芝麻团坚果1 小时前
对subprocess启动的子进程使用VSCode python debugger
linux·ide·python·subprocess·vscode debugger
Elastic 中国社区官方博客1 小时前
Elasticsearch 中的热点以及如何使用 AutoOps 解决它们
大数据·运维·elasticsearch·搜索引擎·全文检索
写点什么啦1 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
wellnw1 小时前
[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案
linux·ubuntu