前言
在Linux中,DHCP(动态主机配置协议)服务器管理是用于分配IP地址和其他网络配置信息给计算机和设备的服务。它的作用主要有以下几个方面:
1. IP地址分配:DHCP服务器可以自动分配IP地址给连接到网络的计算机和设备,避免了手动配置每个设备的麻烦。通过DHCP,设备可以动态地获得可用的IP地址。
2. 简化网络管理:使用DHCP服务器可以简化网络管理。当有新设备加入网络或设备离开网络时,DHCP服务器将自动分配或释放相应的IP地址,减少了管理员的工作量。
3. 管理其他网络配置信息:除了IP地址,DHCP服务器还可以提供其他网络配置信息,如子网掩码、默认网关、DNS服务器等。这些配置信息可以自动分配给设备,使其能够顺利地与网络和互联网上的其他设备进行通信。
4. 防止IP地址冲突:DHCP服务器可以避免IP地址冲突的发生。在手动配置IP地址时,可能会出现多个设备使用相同的IP地址的情况,而DHCP服务器能够确保每个设备都获得唯一的IP地址。
总而言之,DHCP服务器管理在Linux中的作用是自动为计算机和设备分配IP地址和其他网络配置信息,简化网络管理并避免IP地址冲突。这使得网络设置更加方便和高效。
一、DHCP概述
概述
DHCP协议全称: Dynamic Host Configuration Protocol ,动态主机配置协议
可以 动态的进行IP地址分配 、服务端的监听端口67/udp、客户端监听端口 68/udp
网络架构 C/S
DHCP的优势: 提高配置效率、减少配置错误
DHCP的分配方式 手动分配、 自动分配、动态分配
应用场景:更加准确的配置网络参数的情况下、 网络环境较大时配置ip
!!!注意: 同一个网络环境下不允许存在多个DHCP服务器
二、DHCP工作流程
工作流程
1、 当客户端配置为自动获得IP地址时,客户端发送discover广播包(发现),用来寻找网络中的DHCP服务器
2、假如网络存在DHCP服务器,此时服务器给出回应,向客户端发送Offer广播包,携带了IP地址的信息,询问客户端是否使用该IP地址
3、假如客户端使用上述IP地址,向服务端发送Request广播包,并将请求信息写入到该包内。
4、 服务端向客户端发送Ack广播包,并确定IP地址的租约期。
何时更新租约:当租约期达到50%时
当客户端重启后客户端直接发送Request包
(1) IP地址空闲 服务端直接回应Ack
(2)IP地址被占用 服务端回应noAck,客户端需要将上述“工作流程”完整执行一遍
客户端类型
Linux: DHCP服务器不存在,没有IP
Windows: DHCP不存在,会启用备用IP地址 范围 169.254.0.0/16 ~ 168.254.255.255/16
三、部署
1、基础环境首先把我们的虚拟机的网络适配器设置成vmnet1(虚拟机不开机)
2.打开虚拟网络编辑器不选中使用本地DHCP服务将IP地址分配给虚拟机
1)配置yum源
cd /etc/yum.repos.d mkdir backup mv CentOS-* backup vim local.repo [local] name=local baseurl=file:///mnt enabled=1 gpgcheck=0
2)关闭防火墙及SElinux:
systemctl stop firewalld.service && systemctl disable firewalld.service
查看SElinux状态: getenforce
设置宽容模式 :setenforce 0
关闭SElinux
vim /etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled
重启才能生效
3)配置静态IP(是对DHCP服务器进行配置)
关闭网络图形化工具
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33 TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.254 PREFIX=24
systemctl restart network
4)安装DHCP软件包
yum install -y dhcp
当我们安装好软件之后我们可以查看一下它所对应的文件、路径rpm -ql dhcp
通过查看我们知道了DHCP的配置文件存储路径/etc/dhcp 主配置文件dhcpd.conf
四、配置
通过上述步骤的查看我们知道了 配置文件存储路径 /etc/dhcp
查看dhcpd.conf发现里面没有东西,但是它提示我们们可以参照 see /usr/share/doc/dhcp*/dhcpd.conf.example
我们把模版复制过来其中配置项 subnet:配置DHCP分配的地址池 host :固定IP地址,指定分配给对应的MAC地址的主机
前三个subnet可以用#注释掉。配置完成后重新启动DHCP服务器systemctl restart dhcpd
其中subnet 表示的是网段 net mask 表示掩码 range表示IP池
五、案列
前提
1)准备3台虚拟机,一台作为DHCP服务器两台客户机,将它们按照上述要求把他们的网络设置调配好
2)按照上述步骤配置本地yum源,关闭防火墙及EXLinux,完成DHCP服务机的静态配置。
3)安装DHCP软件包
4)配置 /etc/dhcp/dhcp.conf
1、分配一个地址段动态分配
1)查看我们配置好的IP
2)编辑vim /dhcpd.conf
修改网段,码,IP池保存退出重启DHCP服务
3)打开我们的其他2台客户机连接网络并且查看IP
此时我们客户机的IP分别为192.168. 1.3和192.168.1.4说明IP地址获取成功
2.分配固定IP地址,指定分配给对应的MAC地址的主机
和上面一样我们再添加一台客户机指定分配给他的它的IP为192.168.1.55
首先我们先进入新的客户机查看它的mac地址,它的mac地址为00:0c:29:1f:61:f6
好的,下面我们进入DHCP服务器,还是编辑 /etc/dhcp/dhcpd.conf我们找到
把MAC地址改为客户机的地址输入想要分配的IP,保存退出,重启dhcpd
打开我们的客户机连接网络并查看IP ,成功获得我们指定的IP
3.分配多个地址段
分配多个网段地址我们还需要添加一台(中继服务器)虚拟机充当路由器的角色,再添加一台客户机。这次我们添加网段为192.168.2
1)我们添加一台中继设备并且再添加一块网卡,选择vmnet2,客户机也是选择vmnet2
2)我们打开中继设备,IP a 查看网卡
3)我们编辑2块网卡 cd /etc/sysconfig/network-scripts/
创建ifcfg-ens37 并编辑
4)做完这些我们编辑vim /etc/sysctl.conf在末尾输入net.ipv4.ip_forward = 1
输入sysctl -p使之生效
5)配置中继设备的本地yum源并且关闭防火墙和EXlinux,和图形化
配置本地yum源
安装dhpc
6)用中继服务区指向DHCP服务器
7)进入DHCP服务器编辑vim dhcpd.conf。进入命令模式输入set nu显示行号将我们的之前编辑的那几行输入9yy复制p粘贴,可以添加注释#192.168.20
修改,保存退出并重启dhcp systemctl restart dhcpd
验证: 打开客户端查看是否获取IP
客户机获得192.168.2网段IP
总结
我么在配中继设备时要注意!我们添加的网卡都要进行配置,不要忘记配置,其次网卡配置时名字不能搞错。另外如果你在配置结束后在重启服务时发现重启失败,你可以去查看你的配置文件在你编辑时是否有误,一定要细心,我建议能复制就复制。最后我们要把实验的步骤捋清楚,否则容易遗忘某些步骤。