文章目录
认识认识DHCP
一、什么是DHCP?
动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。
DHCP于1993年10月成为标准协议,其前身是BOOTP协议。DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,DHCP Server为网络上的每个设备动态分配IP地址、子网掩码、默认网关地址,域名服务器(DNS)地址和其他相关配置参数,以便可以与其他IP网络通信。
1.1、为什么要使用DHCP?
在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从DHCP服务中监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。DHCP实现的自动化分配IP地址不仅降低了配置和部署设备的时间,同时也降低了发生配置错误的可能性。
DHCP的优势:
-
准确的IP配置
-
减少IP地址冲突
-
IP地址管理的自动化
-
高效的变更管理
1.2、DHCP是怎么工作的?
DHCP协议采用UDP作为传输协议,DHCP客户端发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给DHCP客户端的67号端口。
只有跟DHCP客户端在同一个网段的DHCP服务器才能收到DHCP客户端广播的DHCP DISCOVER报文。当DHCP客户端与DHCP服务器不同网段时,必须部署DHCP中继来转发DHCP客户端和DHCP服务器之间的DHCP报文。
1.2.1、客户端首次接入网络的工作原理
-
发现阶段
客户端通过广播发送DHCP Discover报文寻找服务器端
-
提供阶段
服务器端通过广播发送DHCP offer 报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的Ip地址分配给客户端
-
选择阶段
如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只接受第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP Request 报文告知服务器端本地选择使用该IP地址
-
确认阶段
服务器通过单播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息
1.2.2、客户端重用曾经使用过的地址的工作原理
-
选择阶段
客户端广播发送包含前一次分配的IP地址的DHCP REQUEST报文,报文中的Option50(请求的IP地址选项)字段填入曾经使用过的IP地址。
-
确认阶段
DHCP服务器收到DHCP REQUEST报文后,根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录,如果有则返回DHCP ACK报文,通知DHCP客户端可以继续使用这个IP地址。否则,保持沉默,等待客户端重新发送DHCP DISCOVER报文请求新的IP地址。
1.2.3、客户端更新租期的工作原理
-
当租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。
-
当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。
-
如果租期时间到时都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。
二、配置DHCP Server,为用户分配IP地址
实验说明:准备两台CentOS 7虚拟机(C-7-1、C-7-2),一台Windows 10虚拟机(win 10)。实验机在“vlan 10”,其中**"C-7-1"为服务器**,“C-7-2”、"win 10"为客户机
2.1、实验准备
2.2、C-7-1设置静态IP地址
vim /etc/sysconfig/network-scripts/*** ##修改网卡配置,***以自己网卡为实际
ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
IPADDR=192.168.10.2 #设置网卡的 IP 地址
NETMASK=24 #设置网卡的子网掩码
GATEWAY=192.168.10.1 #设置网卡的默认网关地址
systemctl restart network #重启所有的网卡
2.3、C-7-1安装dhcp软件包
yum makecache ##检查yum仓库
yum install -y dhcp ##安装dhcp软件
2.4、C-7-1编辑配置文件
可以参考/usr/share/doc/dhcp*/dhcpd.conf.example文件进行配置
*是安装的dhcp软件版本号
1.全局配置部分
vim /etc/dhcp/dhcpd.conf
default-lease-time 3600; #租约为 1小时,单位为秒
max-lease-time 43200; #最大租约为 12 小时,单位为秒
option domain-name "benet.com"; #指定默认域名
option domain-name-servers 114.114.114.114,8.8.8.8; #指定 DNS 服务器地址
ddns-update-style none; #禁用 DNS 动态更新
2.网段配置部分
subnet 192.168.10.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.10.10 192.168.10.80; #设置地址池
option routers 192.168.10.1; #指定默认网关地址
}
3.指定客户端固定IP
指定win 10的IP地址为192.168.10.18
查看win 10的MAC地址
## 同时按win键+R键,(先win后R),调出“运行”对话框,然后输入cmd,点确定。
ipconfig/all ##查看本机所有网卡配置
物理地址. . . . . . . . . . . . . : 00-0C-29-BF-F3-54 ##找到连接网卡的物理地址
配置指定主机的固定地址
host hostname { #指定需要分配固定 IP地址的客户机名称
hardware ethernet 00:0C:29:BF:F3:54; #指定该主机的 MAC地址
fixed-address 192.168.10.18; #指定保留给该主机的 IP地址
}
2.5、启动服务、关闭防火墙
systemctl stop firewalld ##停止服务“firewalld”
setenforce 0 ##关闭防火墙
systemctl start dhcpd ##启动服务“dhcpd”
2.6、客户机测试
2.6.1、C-7-2
vim /etc/sysconfig/network-scripts/*** ##修改网卡配置,***以自己网卡为实际
ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=dhcp #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
systemctl restart network #重启所有的网卡
ip r ##查看ip地址
2.6.2、win 10
##按Windows+R打开“运行”窗口。在“打开”框中,键入"control panel",然后单击“确定”将其打开。
##打开“控制面板”-“网络和Internet”-“网络共享中心”,找到当前所连接的网络,并点击“属性”。然后,在弹出的窗口中选择“Internet协议版本4(TCP/IPv4)”,并选择“自动获取IP地址”和“自动获取DNS服务器地址”。最后,点击“确定”即可。此时,你的设备就能够使用DHCP上网方式连接互联网。
##按Windows+R打开“运行”窗口。在“打开”框中,键入"cmd",然后单击“确定”将其打开。
ipconfig/all
以太网适配器 Ethernet0:
连接特定的 DNS 后缀 . . . . . . . : wl.com
描述. . . . . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
物理地址. . . . . . . . . . . . . : 00-0C-29-BF-F3-54
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
IPv4 地址 . . . . . . . . . . . . : 192.168.10.18(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2024年4月29日 20:26:40
租约过期的时间 . . . . . . . . . : 2024年4月29日 21:26:40
默认网关. . . . . . . . . . . . . : 192.168.10.1
DHCP 服务器 . . . . . . . . . . . : 192.168.10.2
DNS 服务器 . . . . . . . . . . . : 114.114.114.114
8.8.8.8
TCPIP 上的 NetBIOS . . . . . . . : 已启用
mac地址“00:0C:29:BF:F3:54”对应的IP为“192.168.10.18”