DHCP
- DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议),被应用在局域网环境中,主要作用是集中的管理、分配IP地址,使网路环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。由于DHCP是一个UDP协议,所以运行起来更加高效。
- DHCP协议采用客户端/服务端模型(C/S模型),服务端可以为客户端提供IP/掩码/网关/主机名/DNS/等信息。客户端只需将IP获得方式设置为自动获取即可。
- 目前可以提供DHCP服务的设备有很多,如:
- DHCP服务器(windows serverlinux)
- 硬件路由器
- 家用宽带路由
DHCP交互默认使用两个端口(udp67udp68)
DHCP server端,使用UDP端口:67
DHCP Client端,使用UDP端口:68
客户端获取IP四个步骤:
1、首先客户端会0.0.0.0:68-->255.255.255.255:67向局域网中发送广播
2、局域网中所有DHCP服务器会接受到请求并从自己的地址池中选出一个地址回发一个offer包
3、客户端开始向DHCP请求地址,发送一个REQUEST包
4、服务端发送一个ack包,建立连接。(此时客户端才拿到地址)
注:当客户端重新开机,会直接发起request包,请求之前的地址。如此地址已分配,客户端则才需要重新发起discover包
租约更新阶段
1、租约完成1/2
2、租约完成7/8
3、租约到期
租约文件的路径:/var/lib/dhcpd/dhcpd.leases
dhcp安装
yum install dhcp
相关配置文件
/etc/dhcp/dhcpd.conf 注配置文件
配置文件中相关指令解析
#作用域相关设置指令
#subnet 定义一个作用域
#netmask 定义作用域的掩码
#range 允许发放的IP范围
#option routers 指定网关地址
#option domain-name-servers 指定DNS服务器地址
#option broadcast-address 广播地址
启动DHCP服务
linux6 service dhcpd start
linux7 systemctl enable dhcpd
systemctl start dhcpd
注意:可能发现无法启动DHCP服务,原因是DHCP在启动的时候检查配置文件,发现并没有有效作用域(和服务器同网段的作用域)。