一、DHCP概述
DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。
1.使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能性
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
2.DHCP的特点
- DHCP可以自动分配IP、子网掩码、网关、DNS。
- DHCP客户端使用的端口68,服务端使用端口67,使用的UDP传输协议。
- DHCP分配的IP地址有租期,会周期性改变。一般不为服务器分配IP,因为他们要使用固定IP,所以DHCP一般只为办公环境的主机分配IP。
- DHCP服务器和客户端需要在一个局域网内,在为客户端分配IP的时候需要进行多次广播。但DHCP也可以为其他网段内主机分配IP,只要连接两个网段中间的路由器能转发DHCP配置请求即可,但这要求路由器配置中继功能。
二、DHCP工作原理
- 客户端广播发送DISCOVER报文寻找服务端;
- 服务端广播发送OFFER报文响应给客户端,报文中还包含地址池中的一个可用IP;
- 客户端只会接收第一个发来的OFFER报文并提取出可用IP,再向服务端广播发送REQUEST报文请求使用这个可用IP。
- 服务端广播发送ACK报文响应给客户端,告知IP合法可用并提供租期信息。
重新登录
DHCP客户机每次重新登录网络时,不需要再发送Discover信息,而是直接发送包含前一次所分配的 IP地址的Request请求信息。
更新租约
当 DHCP服务器向客户机出租的 IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送Request包,要求更新现有的地址租约。
IP地址分配顺序:从小到大
三、安装与配置DHCP
vim /etc/dhcp/dhcpd.confsubnet 网段IP netmask 子网掩码 { #声明要分配的网段地址 range IP地址池起始IP IP地址池终止IP; #设置地址池 option routers 默认网关IP; #指定默认网关地址 option domain-name-servers DNS服务器IP; #可选 default-lease-time 默认租期秒数; #可选 max-lease-time 最大租期秒数; #可选}host 自定义名称 {#指定需要分配固定 IP地址的客户机名称 hardware ethernet MAC地址用:分隔;#指定该主机的 MAC地址 fixed-address IP地址;#指定保留给该主机的 IP地址}systemctl restart dhcpd客户端主机设置自动获取IP Linux系统:网卡配置 BOOTPROTO=dhcp
1.取消虚拟机dhcp服务
首先打开虚拟机界面上方的编辑–虚拟网络编辑器,新建一个vmnet3,取消“使用本地DHCP服务将IP地址分配给虚拟机”这个选项,保存设置,应用退出。
首先打开虚拟机界面上方的虚拟机-设置,点击网络适配器进行修改,然后确定退出。
2.编辑网卡信息
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #配置静态IPsystemctl restart network #重启网卡
3.安装DHCP
###为保证实验顺利,关闭防火墙和selinuxsystemctl stop firewalld #关闭防火墙setenforce 0 #关闭selinux###安装dhcpyum -y install dhcpvim /etc/dhcp/dhcpd.conf #打开dhcp配置文件##DHCP Server configuration file.# see /usr/share/doc/dhcp*/dhcpd.conf.example# see dhcpd.conf(5) man page#cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf#会看到该配置文件的路径在 /usr/share/doc/dhcp* 下,因此我们把该路径下的模板文件覆盖到 /etc/dhcp下
4.修改配置文件
vim /etc/dhcp/dhcpd.confsubnet 网段IP netmask 子网掩码 { #声明要分配的网段地址 range IP地址池起始IP IP地址池终止IP;#设置地址池 option routers 默认网关IP;#指定默认网关地址 option domain-name-servers DNS服务器IP; #可选 default-lease-time 默认租期秒数; #可选 max-lease-time 最大租期秒数; #可选}host 自定义名称 {#指定需要分配固定 IP地址的客户机名称 hardware ethernet MAC地址用:分隔;#指定该主机的 MAC地址 fixed-address IP地址;#指定保留给该主机的 IP地址}
systemctl start dhcpd #启用DHCP服务ss -lunp | grep 67 #查看DHCP服务,67是服务端使用的udp端口
5.测试DHCP服务
同上,将windows10网络适配器修改为vmnet3。
5.1打开windows系统的网络连接窗口
5.2 右击Ethernet0,点属性;选中(TCP/IPv4),点右下角的属性,选择自动获得IP地址,然后确定
5.3进入cmd命令指示符
ipconfig /release #释放IP地址ipconfig /renew #重新获取IP地址
可以看到,现在系统的IPv4地址变为了192.168.88.100;
默认网关变为了192.168.88.254;
IPv4 DHCP服务器变为了192.168.88.10;
均符合上述设置,证明DHCP部署成功。