目录
一、 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.conf
option domain-name "test.com"; //可以修改域名
option domain-name-servers 8.8.8.8, 202.96.134.133; //修改DNS
subnet 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
到这里实验就完美结束了!!!⭐⭐⭐