**1.DHCP简介**
DHCP (Dynamic Host Configuration Protocol,动态主机配置协议〉是一个工作在应用层的局域网网络协议,数据传输时使用UDP不可靠传输协议工作,通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配网络资源,使网络环境中的主机能动态的获得IP地址、Gateway 地址、DNS服务器地址等信息,并能够提升地址的使用率。
**2.DHCP工作原理(租约四部曲+续租)**
![](https://img2020.cnblogs.com/blog/1945756/202104/1945756-20210423163130319-1115378058.png)
** DHCP客户端进行请求**
当一个DHCP客户机启动时,会自动将自己的IP地址配置成0.0.0.0,由于使用0.0.0.0不能进行正常通信,所以客户机就必须通过DHCP服务器来获取一个合法的地址。由于客户机不知道DHCP服务器的IP地址,所以它使用0.0.0.0的地址作为源地址。使用255.255.255.255作为目标地址,使用UDP 67端口作为目的端口来广播请求IРP她址信息。广播信息DECP Discover中包含了DHCP客户机的MAC地址和计算机名,以便使 DHCP服务器能确定是哪个客户机发送的请求。
** DHCP 服务器的响应请求**
当DHCP服务器接收到客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记,加入到DHCP OFFER的消息中,然后DHKCP服务器就广播一则包括下列信息的DHCP OFFER消息:DHCP客户机的MAC地址:DHCP服务器提供的合法IP地址:子网掩码:默认网关(路由)﹔租约的期限:DHCP服务器的IP地址-MAC。因为DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP地址作为源地址,使用256.255.256.258作为目标地址,使用UDP 68端口作为源端口来广播DHCP OFPFER信息
**DHCP服务器确认租约**
**DHCP服务器确认租约**
**DHCP客户机续租**
**3.DHCP服务器搭建**
3.1准备环境
两台机器,网络连接模式设为NAT虚拟机关闭DHCP的功能
防护的关闭
1. iptables -L # 防火墙
2. selinux # 关闭
DHCP相关信息
软件名
dhcp #dhcp服务软件包
dhcp-common #dhcp命令软件包(默认已安装)
服务名
dhcpd #dhcp服务名
dhcprelay #dhcp中继服务器
端口号
udp 67 # 作为客户端的目标端口,接收客户端的DHCP请求
udp 68 # 作为服务端的源端口,用来向客户端回复数据包
配置文件
dhcpd /etc/dhcp/dhcpd.conf # 配置文件默认是空的,需要找模板文件重新生成
dhcpd.conf.sample /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample # dhcp的模板配置文件
dhcrelay /etc/sysconfig/dhcrelay #中继配置文件
DHCP配置文件详解
subnet 192.168.200.0 netmask 255.255.255.224 { #声明要分配的网段和子网掩码
range 192.168.200.20 192.168.200.30; #声明可用IP地址池
# option domain-name-servers ns1.internal.example.org;#设置DNS域
# option domain-name "internal.example.org"; #设置DNS服务器地址
# option routers 10.5.5.1; #默认网关的地址
# option broadcast-address 10.5.5.31; #广播地址(可不写)
default-lease-time 600; #默认租约(s)
max-lease-time 7200; #最大租约(s)********
}
**DHCP实验部署**
1.生成配置文件
cp -a /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
2.修改配置文件
subnet 192.168.200.0 netmask 255.255.255.224 {
range 192.168.200.20 192.168.200.30;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 192.168.200.2;
option broadcast-address 192.168.200.255;
default-lease-time 600;
max-lease-time 7200;
}
3.重启服务
# service dhcpd restart
4.客户端 重启网卡 (配置文件中改为dhcp)
ifup 网卡名
![](https://img2020.cnblogs.com/blog/1945756/202104/1945756-20210423170019679-500720686.png)
![](https://img2020.cnblogs.com/blog/1945756/202104/1945756-20210423170037592-1136518241.png)
client以自动分配地址 192.168.200.20