DHCP
一、DHCP工作原理
- 作为服务端负责集中给客户端分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址)
- 传输协议: 服务端 UDP 67号 端口 ; 客户端 UDP 68号 端口
1.1背景
- DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
- 由Internet工作任务小组设计开发口
- 专门用于为-TCP/IP网络中的计算机自动分配TCP/IP参数的协议
1.2优点
-
减少管理员的工作量。
-
避免输入错误的可能。
-
避免IP地址冲突
-
当更改IP地址段时,不需要重新配置每个用户的IP地址
-
提高了IP地址的利用率
-
方便客户端的配置
1.3 DHCP分配方式
- 自动分配: 分配到一个IP地址后永久使用
- 手动分配: 由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其它客户机使用
1.4DHCP工作原理
第一步,客户端在网络中搜索服务器
- 客户端在网络中搜索服务器。客户端通过广播发送DHCP Discover 报文寻找服务器端
第二步,服务器向客户端响应服务 - 服务器向客户端响应服务。服务器端通过广播发送DHCP offer 报文向客户端提供P地址等网络信息,从P地址池中挑选一个尚未分配的P地址分配给客户端
第三步,客户端向服务器发出服务请求。 - 如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只接受第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP Request 报文告知服务器端本地选择使用该IP地址
第四步,服务器向客户端提供服务。 - 服务器通过广播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息
重新登录 - DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 请求信息。
更新租约
当 DHCP 服务器向客户机出租的 IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request 包,要求更新现有的地址租约。
Discover过程
offer过程
Request过程
ACK过程
客户端确认IP地址无人使用过程
Decline过程
二、使用DHCP动态配置主机地址
2.1实验一:动态配置主机地址
(1)关闭防火墙,selinux
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
(2)配置dhcp服务配置
把/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example复制到 /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
(3)在服务端设置全局参数
(4)禁用服务端的DHCP服务,设置仅主机模式
虚拟机自带dhcp服务,需要警用掉才能显示dhcp有没有配置成功
(5)这里用window示范,在客户端也调成net3
(6)打开网络连接,右击属性,设置的自动获取
(7)禁用在重启一下,右击状态,点击详细信息,就能获取地址池的地址了
(8)抓包查看
2.2给Linux客户机配置动态地址**
(1)服务端配置不变
同样先关闭防火墙
(2)把网不配置变成动态配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
重启网卡
(3)设置成net3模式,重启网卡
2.4设置一个外网口,给客户端设置一个固定的ip地址
(1)在服务端加一张网卡,设置为net2模式,配置与net3相同
(3)给net2设为外网口IP地址,配置BOOS地址,即固定地址
(3)接下来和实验一一致,
配置网络适配器为net2模式 --> 打开自动获取 --> 重启一下网络即可