前言
本篇将简述的内容:Linux系统下的DHCP服务器管理
一、概述
DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于动态地分配IP地址和其他网络配置参数给网络中的设备。能动态的进行IP地址分配,从而实现网络的自动配置。同一个网络环境下不允许存在多个DHCP服务器
DHCP协议是在客户端-服务器(Client-Server)网络架构下运作的。在这种架构中,有一个特定的DHCP服务器负责为网络中的客户端设备提供IP地址和其他配置参数。
DHCP服务器端口(Server Port):默认为UDP端口号67
DHCP客户端端口(Client Port):默认为UDP端口号68
DHCP使用以下几种方式来分配IP地址和其他配置参数给客户端设备
动态分配(Dynamic Allocation):这是最常见的方式。DHCP服务器维护一个IP地址池,当客户端设备请求IP地址时,服务器从地址池中选择一个可用的地址分配给该设备。分配的地址在一段时间后会被回收,可以被其他设备使用。
自动分配(Static Allocation):在这种方式下,网络管理员事先为每个客户端设备手动配置一个固定的IP地址,然后将这些配置信息保存在DHCP服务器上。当设备请求IP时,DHCP服务器会直接指派给设备预先配置的静态IP地址。
手动分配(Reservation Allocation):这种方式可以将某个特定的IP地址与设备的物理地址(MAC地址)相关联。当设备根据其MAC地址发送DHCP请求时,服务器会自动将预留地址分配给该设备,保证设备获取到固定的IP地址。
二、客户端类型
客户端类型
1.Linux
DHCP服务器不存在,没有IP
2.Windows
DHCP不存在,会启用备用IP地址
169.254.0.0/16 ~ 168.254.255.255/16
三、工作流程
1、 当客户端配置为自动获得IP地址时,客户端发送discover广播包(发现),用来寻找网络中的DHCP服务器
2、假如网络存在DHCP服务器,此时服务器给出回应,向客户端发送Offer广播包,携带了IP地址的信息,询问客户端是否使用该IP地址
3、假如客户端使用上述IP地址,向服务端发送Request广播包,并将请求信息写入到该包内
4、 服务端向客户端发送Ack广播包,并确定IP地址的租约期
四、何时更新租约
当租约期达到50%时# 四、当客户端重启后
五、客户端类型
客户端直接发送Request包
1.IP地址空闲
服务端直接回应Ack
2.IP地址被占用
服务端回应noAck
客户端需要将上述“工作流程”完整执行一遍
六、DHCP部署
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 :wq mount /dev/sr0 /mnt
2.关闭防火墙、网络图形化工具及SElinux
关闭防火墙及禁止防火墙自启
systemctl stop firewalld && systemctl disable firewalld
关闭网络图形化工具
systemctl stop NetworkManager && systemctl disable NetworkManager
查看SElinux状态 `getenforce`
设置宽容模式(临时关闭SElinux)
setenforce 0
永久关闭SElinux
vim /etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled
3.配置静态IP
配置静态IP
cd /etc/sysconfig/network-scripts/ vim ifcfg-ens33 TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.100.254 PREFIX=24 :wq
重启网络服务
systemctl restart network
4.安装DHCP软件包
yum install -y dhcp
5.核心配置文件
配置文件存储目录
/etc/dhcp
核心配置文件
/etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
配置DHCP分配的地址池–subnet
vim /etc/dhcp/dhcpd.conf
前三段subnet注释掉
subnet 192.168.100.0 #网段 netmask 255.255.255.0 #子网掩码{ range 192.168.100.2 192.168.100.253; #ip地址范围 option domain-name-servers 8.8.8.8; #域名解析服务地址 option domain-name "internal.example.org"; #域名 option routers 192.168.100.1; #网关地址 option broadcast-address 192.168.100.255; #广播地址 default-lease-time 600; #默认最短时间 max-lease-time 7200; #最长时间 }
固定IP地址–host
指定分配给对应的MAC地址的主机
host fantasia { hardware ethernet MACaddress; fixed-address IP address; }
6.重启DHCP服务器
systemctl restart dhcpd
7.客户端接入DHCP服务器
当客户端设备处于DHCP服务器下请求IP地址时,服务器从地址池中选择一个可用的地址分配给该设备。
七、中继配置
DHCP中继的使用使得一个DHCP服务器同时为多个网段服务成为可能,配置DHCP中继的网络设备可以在不同网段上从DHCP总服务器获取IP地址分配给下面的各主机
1.配置中继服务器–双网卡
2.配置yum源
cd /etc/yum.repos.d mkdir backup mv CentOS-* backup vim local.repo [local] name=local baseurl=file:///mnt enabled=1 gpgcheck=0 :wq mount /dev/sr0 /mnt
3.关闭防火墙、网络图形化工具及SElinux
关闭防火墙及禁止防火墙自启
systemctl stop firewalld && systemctl disable firewalld
关闭网络图形化工具
systemctl stop NetworkManager && systemctl disable NetworkManager
查看SElinux状态
getenforce
设置宽容模式(临时关闭SElinux)
setenforce 0
永久关闭SElinux
vim /etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled
4.配置静态IP–双网卡
cd /etc/sysconfig/network-scripts/ vim ifcfg-ens33
TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.100.1 PREFIX=24
cp ifcfg-ens33 ifcfg-ens37 vim ifcfg-ens37
TYPE=Ethernet BOOTPROTO=static NAME=ens37 DEVICE=ens37 ONBOOT=yes IPADDR=192.168.200.1 PREFIX=24
重启网络服务
systemctl restart network
5.配置文件
进入文件 vim /etc/sysctl.conf 中添加一行内容
net.ipv4.ip_forward = 1
载入sysctl配置文件
sysctl -p
6.安装DHCP软件包
yum install -y dhcp
7.设置DHCP的中继命令
dhcrelay 服务器IP
8.回到DHCP服务器,添加网关配置,修改dhcp配置文件,添加多网段内容
vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/dhcp/dhcpd.conf
粘贴内容后修改相应内容,保存退出
重启DHCP服务
9.查看使用vmnet2网卡的虚拟机是否获得地址
总结
本文介绍了在Linux系统下搭建和管理DHCP服务器的基本步骤,以及常见问题的解决方法。通过正确配置和管理DHCP服务器,我们可以实现自动化的网络配置,提高网络管理的效率。希望本文对您有所帮助!