概念: 动态主机配置协议
作用:动态分配网络参数(IP、网关、域名、MAC地址等)
DHCP工作原理:
一、获取网络参数:
1、客户端搜索DHCP服务器就会通过广播向(0.0.0.0——255.255.255.255)发送discovery包(包含客户端MAC地址)
2、DHCP服务器提供地址和配置信息:通过客户端MAC地址,向客户端发送offer包(包含IP地址、租约期限等简要参数)
3、客户端接受并广播:客户端会接受最先到达的offer包,向网络发送request广播包,告知选择结果。客户端接受offer包,向DHCP发送ARP包,检测IP地址是否被占用。(若占用DHCP服务器,拒绝offer包,客户端重新通过广播发送discovery包。未被占用则继续)
4、DHCP服务器确认请求向客户端发送ack包(包含完整的网络参数)
5、客户端接受并配置网络参数
二、重新登录
客户端:不发送discovery,直接发送request包,要求之前分配的网络参数
服务器:若之前的网络参数未被占用,则发送ack包分配网络参数
若之前的网络参数被占用,则发送nack包,客户端重新discovery
租约更新
客户端:1.租约期限过半(50%)时,向服务器发送request包,要求更新租约,更新成功,租约剩余时间恢复最大值。
2.更新不成功,则租约期限再过半时(75%)时,向服务器发送request包,请求更新租约,更新成功,则租约剩余时间恢复最大值。
3.更新不成功,继续使用至租约到期,客户端地址失效,重新发送discovery包获取新的网络参数。
DHCP服务
软件包:dhcp
服务名:dhcpd
端口号:UDP/67——接收客户端的请求
UDP/68——回应客户端的请求
配置文件:/etc/dhcp/dhcpd.conf
模板文件:/usr/share/doc/dhcp*/dhcpd.conf.example
配置文件解析
1.全局配置:对整个DHCP服务都生效
2.网络声明:仅对指定的网络生效
subnet 网络
netmask 子网掩码
range 指定的地址池(使用空格隔开)
option routers 指定为客户端分配的网关地址
3.主机声明:仅对当前指定的主机生效
host 自定义名称
hardware ethernet 指定客户端的MAC地址(ifconfig、dmesg | grep e1000查看)
fixed-address 指定为客户端分配的固定IP地址或域名
vim /etc/hdcp/dhcpd.conf 会给模板文件
将模板文件/usr/share/doc/dhcp*/dhcpd.conf.example复制到vim /etc/hdcp/dhcpd.conf 覆盖
[root@localhost ~]# vim /etc/dhcp/dhcp.conf #进入
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example #将模板复制到 vim /etc/dhcp/dhcpd.conf
# see dhcpd.conf(5) man page
配置文件解析
subnet 10.5.5.0 netmask 255.255.255.224 { #网络
range 10.5.5.26 10.5.5.30; #子网掩码
option domain-name-servers ns1.internal.example.org; #指定的地址池
option domain-name "internal.example.org";
option routers 10.5.5.1; #指定为客户端分配的网关地址
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
host passacaglia { #自定义名称
hardware ethernet 0:0:c0:5d:bd:95; #指定客户端MAC地址
filename "vmunix.passacaglia";
server-name "toccata.fugue.com";
主机生命的优先级大于网络声明
DHCP中继服务
1.中继机配置ens
2.中继机下载dhcp
3.服务器下载dhcp并更改配置
完成
4.中继机开启路由转发
5.中继机指定DHCP服务器,支撑中继功能,安装dhcp服务后
6.客户端配置ens33并重启
客户端可以跨网段
如果中继机VM网络适配器相同,则从小到大使用IP地址