Linux网络DHCP服务详解
DHCP概述
DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,是一个局域网的网络协议,使用udp协议工作,DHCP服务器可以通过路由器或者服务器主机来设置。(服务端使用的是udp的67端口,客户端使用的是udp的68端口)
DHCP服务的用途
DHCP主要有两个用途:
- 给内部网络或网络服务供应商自动分配IP地址
- 给用户或者内部网络管理员作为对所有计算机中央管理的手段
使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
DHCP的IP地址自动获取工作原理
第一步:客户端在网络中搜索服务器
客户端通过广播发送DHCP Discover 报文寻找服务器端
第二步:服务器向客户端响应服务
服务端通过单播(华为的路由器使用的是单播,其他使用的是广播)发送DHCP offer报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端
第三步:客户端向服务器发出服务请求
如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只会接收第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP-request,报文告知服务端本地选择使用该IP地址
第四步:服务器向客户端提供服务
服务器通过广播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息。
如何建立DHCP服务
首先我们准备2台Linux虚拟机,1台win10虚拟机;其中一台Linux虚拟机作为服务端,win10虚拟机和另一台Linux虚拟机作为客户端,分别要对服务端客户端的主机进行配置文件的配置,使DHCP服务建立。
服务端配置
网络模式启用主机模式
由于我们的VMware软件本身的网络设置为NAT模式,并且启用了本地DHCP服务。为了防止我们本地的DHCP服务干扰我们自己搭建的DHCP服务器,我们将Linux以及windows主机都设置为主机模式:
关闭防火墙,selinux
完成环境的配置后,记得先关闭防火墙以及selinux,防止他干扰内部服务器之间的通讯
如果需要永久关闭selinux,操作如下:
安装服务
yum安装dhcp服务
修改dhcp配置文件
安装完成后,配置dhcp的配置文件
正常情况下,我们/etc/dhcpd/dhcpd.conf这个配置文件的默认配置为空
启用服务
设置完成后,启动服务
Linux客户端网卡配置
首先我们要配置我们的网卡配置文件,文件路径如下:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
文件配置结束后,我们重启网卡服务并查看我们是否有获取到地址池的IP地址:
systemctl restart network && ifconfig
win10客户端网卡配置
进入网络连接设置,右键网卡属性
设置网卡属性
重启网卡后,查看结果
到这里我们的dhcp服务就已经生效