一、概述
1、DHCP协议
Dynamic Host Configuration Protocol ,动态主机配置协议
动态的进行IP地址分配
服务端的监听端口 67/udp
客户端监听端口 68/udp
网络架构 C/S
2、DHCP的优势
提高配置效率
减少配置错误
3、DHCP的分配方式
手动分配
自动分配
动态分配
4、应用场景
更加准确的配置网络参数的情况下
网络环境较大时
5、注意
同一个网络环境下不允许存在多个DHCP服务器
二、工作流程
1、 当客户端配置为自动获得IP地址时,客户端发送discover广播包(发现),用来寻找网络中的DHCP服务器
2、假如网络存在DHCP服务器,此时服务器给出回应,向客户端发送Offer广播包,携带了IP地址的信息,询问客户端是否使用该IP地址
3、假如客户端使用上述IP地址,向服务端发送Request广播包,并将请求信息写入到该包内。
4、 服务端向客户端发送Ack广播包,并确定IP地址的租约期。
三、何时更新租约
当租约期达到50%时
四、当客户端重启后
客户端直接发送Request包
IP地址空闲
服务端直接回应Ack
IP地址被占用
服务端回应noAck
客户端需要将上述“工作流程”完整执行一遍
五、客户端类型
Linux DHCP服务器不存在,没有IP
Windows
DHCP不存在,会启用备用IP地址
169.254.0.0/16 ~ 168.254.255.255/16
六、部署
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
mount /dev/sr0 /mnt
关闭防火墙及SElinux
systemctl stop firewalld && systemctl disable firewalld
查看SElinux状态 getenforce
设置宽容模式 setenforce 0
关闭SElinux
vim /etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled
重启才能生效
配置静态IP
关闭网络图形化工具
systemctl stop NetworkManager ; s
ystemctl disable NetworkManager
1、配置静态IP
cd /etc/sysconfig/network-scripts/1
vim ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.254
PREFIX=24
systemctl restart network
安装DHCP软件包
yum install -y dhcp
七、 配置
1、配置文件存储路径 /etc/dhcp
2、默认配置文件副本路径 /usr/share/doc/dhcp-4.2.5/
3、数据文件存储路径 /var/lib/dhcpd
4、核心配置文件 /etc/dhcp/dhcpd.conf
4.1打开配置文件
4.2 查看文件dhcpd.conf
4.2 找到演示文件地址将其拷贝到本地址并覆盖
配置项
subnet
配置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;
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
固定IP地址,指定分配给对应的MAC地址的主机
host fantasia { hardware ethernet 08:00:07:26:c0:a5; fixed-address IP address; }
重启DHCP服务器
systemctl restart dhcpd
八、中继配置
1、简述 中继实现的是分配多个地址段
2、配置DHCP服务器网关
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33 添加GATEWAY=192.168.100.1
3、额外创建一个dhcp中继服务器
添加多块网卡,并且选择不同的虚拟网络
4、为dhcp中继服务器两块网卡配地址
关掉中继的防火墙和SELinux
systemctl stop firewalld && systemctl disable firewalld
关掉网络图形化工具
修改所有网卡配置参数 DHCP中继第一块网卡的IP地址必须设置为DHCP服务器的网关地址。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
设置一下ens37网卡配置
重启网络服务,并查看配置
5、配置文件
添加内容
进入文件 vim /etc/sysctl.conf 中添加一行内容 net.ipv4.ip_forward = 1
文件生效 sysctl -p
此时中继已具有路由器的性质
6、配置中继的本地源,并安装DHCP,但不启动dhcp服务
输入命令查看一下
dhcrelay 192.168.100.253
vim /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
出去之后重启一下网络
配完之后开始分配网址
7、设置DHCP的中继命令
dhcrelay 服务器IP
回到DHCP服务器,修改dhcp配置文件,添加多网段内容
vim /etc/dhcp/dhcpd.conf
重启DHCP服务
验证另一个网段下的客户端能否正确获得地址
分配一个端口在中继机子上复制一下更改配置
第一条线是需要配置的网关
需要分配的的主机改一下网络配置