目录
一、概念
动态主机配置协议
二、作用
动态分配网络参数(IP、网关、域名、MAC地址等)
三、DHCP工作原理
1、获取网络参数
客户端搜索DHCP服务器
通过广播发送discovery包,寻找可用的DHCP服务器
源IP地址:0.0.0.0
目标地址:255.255.255.255
源MAC地址:客户端MAC地址
DHCP服务器提供地址和配置信息
回应客户端offer包
包含IP地址、租约期限等简要参数
客户端接受并广播
客户端接受最先到达的offer包
向网络中发送request广播包,告知选择结果
发送ARP包,检测IP地址是否被占用 若占用,则拒绝offer包,重新discovery
若未被占用,则继续
DHCP服务器确认请求
向客户端发送ack包,包含完整的网络参数
客户端接受并配置网络参数
2、重新登陆
客户端 不发送discovery,直接发送request包,要求之前分配的网络参数
服务器 若之前的网络参数未被占用,则发送ack包分配网络参数
若之前的网络参数被占用,则发送nack包,客户端重新discovery
3、租约更新
客户端 租约期限过半(50%)时,向服务器发送request包,要求更新租约
更新成功,租约剩余时间恢复最大值
更新不成功,则租约期限再过半时(75%)时,向服务器发送request包,请求更新租约
更新成功,则租约剩余时间恢复最大值
更新不成功,继续使用至租约到期,客户端地址失效,重新发送discovery包获取新的网络参数
四、DHCP服务
1、软件包
dhcp
2、服务名
dhcpd
3、端口号
UDP/67 接收客户端的请求
UDP/68 回应客户端的请求
4、配置文件
/etc/dhcp/dhcpd.conf
5、模板文件
/usr/share/doc/dhcp*/dhcpd.conf.example
6、配置文件解析
全局配置 对整个DHCP服务都生效
网络声明 仅对指定的网络生效
subnet 网络
netmask 子网掩码
range 指定的地址池(使用空格隔开)
option routers 指定为客户端分配的网关地址
主机声明 仅对当前指定的主机生效
host 自定义名称
hardware ethernet 指定客户端的MAC地址 ifconfig
fixed-address 指定为客户端分配的固定IP地址或域名
五、配置DHCP服务器
1、基本的网络参数分配
服务器端
准备环境
清空安全规则 iptables -F
setenforce 0
systemctl stop firewalld
配置本地yum源
配置基础网络参数 IP地址
子网掩码
网关
网卡模式
安装软件
yum install -y dhcp
修改配置文件
[root@localhost~]# vim /etc/dhcp/dhcp.conf
subnet 192.168.10 netmask 255.255.255.0{ #设置网段
range 192.168.1.10 192.168.1.100; #分配的地址范围
option domain-name-servers 192.168.1.254; #DNS服务器
option domain-name"hr.com"; #设置DNS域名
option routers 192.168.1.254; #网关
default-lease-time 600; #默认租约时间
max-lease-time 7200; #最大租约时间
}
重启服务
客户端
修改网络参数:将网络参数的获取方式改为自动获取dhcp
重启网卡
2、固定网络参数分配
服务器端
修改主配置文件
在主机声明区域更改 host自定义名称{
hardware ethemet 00:0c:29:of:49:74;
#获取指定主机的mac地址可以使用ifconfig-a、dmesg | grep eth0
fixed-address 192.168.1.150;
}
客户端
修改网络参数:将网络参数的获取方式改为自动获取dhcp
重启网卡
六、DHCP中继服务
原理
可以实现跨网段分配网络参数
要点
在DHCP服务器的配置文件中再声明一个网段,且必须包含服务器ip所在的网段声明
涉及到跨网段,必须指定网关
网关服务器开启路由转发
实现步骤
服务器端 声明两个网段
指定网关
中继服务器 开启路由转发 /etc/sysctl.conf net.ipv4.ip_forward=1
指定DHCP服务器,支撑中继功能 安装dhcp服务
指定dhcp服务器 dhcrelay 服务器IP地址
客户端 重新获取IP地址