目录
一、 DHCP的定义
二、 使用DHCP的好处
三、 DHCP的分配方式
四、 DHCP的租约过程
1. 客户机请求IP
2. 服务器响应
3. 客户机选择IP
4. 服务器确定租约
5. 重新登录
6. 更新租约
五、 DHCP服务配置过程
一、 DHCP的定义
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议。它是一种应用层协议,用于在 IP 网络中自动为网络设备分配 IP 地址等网络配置参数。在 CentOS Linux 环境下,DHCP 服务可以让局域网中的客户端(如计算机、移动设备等)自动获取 IP 地址,而不需要手动配置
二、 使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当网络更改IP地址段时,不需要重新配置每个用户的IP
- 提高了IP的利用率
- 方便客户端的配置
三、 DHCP的分配方式
DHCP 的典型应用模式如下:在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址);其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP 服务器进行通信,完成自动配置过程。
在 DHCP 的工作原理中,DHCP 服务器提供了三种IP地址分配方式:
自动分配(Automatic Allocation)、手动分配和动态分配 (Dynamic Allocation)。
- 自动分配是当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久地使用这个IP 地址。
- 手动分配是由 DHCP 服务器管理员专门指定IP 地址。
- 动态分配是当DHCP客户机第一次从DHCP服务器获取到IP地址后,并非永久地使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用。
四、 DHCP的租约过程
客户端从DHCP服务器获取IP 地址的过程称之为DHCP租约过程, 此过程主要分为以下四个步骤。
- 客户端在网络中搜索服务器
- 服务器向客户端响应服务
- 客户端向服务器发出服务请求
- 服务器向客户端提供服务
其中包含的具体过程如下所示:
1. 客户机请求IP
当一个DHCP 客户机启动时,客户机还没有IP地址,所以客户机要通过 DHCP 获取一个合法的地址。此时DHCP 客户机以广播方式发送 DHCP Discover发现信息来寻找DHCP服务器
2. 服务器响应
当DHCP服务器接收到来自客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记,加入到DHCP Offer的消息中,然后DHCP服务器就广播一则 DHCP Offer 消息
3. 客户机选择IP
DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP 服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机。之后DHCP客户机会向服务器发送DHCP Request 消息
4. 服务器确定租约
DHCP 服务器接收到DHCP Request 消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。当客户机收到DHCP ACK消息时,它就配置了IP 地址,完成TCP/IP的初始化
5. 重新登录
DHCP客户机每次重新登录网络时, 不需要再发送DHCP Discover信息, 而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
6. 更新租约
当DHCP 服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送DHCP Request包, 要求更新现有的地址租约
五、 DHCP服务配置过程
1. 192.168.180.110为主服务器
2. 均关闭防火墙,不管是服务器还是linux客户端、windows客户端都要关闭防火墙
DHCP-server
1. 挂载光盘
mount /dev/cdrom /mnt
2. 用rpm下载dhcp服务
cd /mnt/Packages/
rpm -ivh dhcp-4.2.5-82.el7.centos.x86_64.rpm
3. 复制模板到主配置文件
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
4. 修改主配置文件
vim /etc/dhcp/dhcpd.confoption domain-name "test.com"; //可以修改域名
option domain-name-servers 8.8.8.8, 202.96.134.133; //修改DNSsubnet 192.168.180.0 netmask 255.255.255.0 { //声明网段range 192.168.180.10 192.168.180.20; //设置地址池option routers 192.168.180.110; //指定网关
}
5. 开启DHCP
systemctl start dhcpd
netstat -nultp | grep dhcpd
6. 关闭防火墙
systemctl stop firewalld
setenforce 0
linux客户端
1. 修改网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
红色修改为dhcp,蓝色全部删除
2. 重启网卡
systemctl restart network
3. 查看IP,已成功获取到IP
注意!注意!注意!
注意!注意!注意!
注意!注意!注意!
虚拟机自身的DHCP要关闭,不然获取不到IP,你使用的是哪个网段,就将哪个网段的DHCP关闭
windows客户端
1. 关闭防火墙
2. 全部设置为DHCP获取
3. 将这块网卡重新禁用启用
4. 查看,已获取IP
到这里实验就完美结束了!!!⭐⭐⭐