DHCP服务
1、DHCP服务的简介
DHCP (Dynamic Host Configuration Protocol,动态主机配置协议) 是一个局域网的网络协议,使用UDP协议工作,给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的目的。
- DHCP 概念和原理
dhcp 服务作用:
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本,提高网络配置效率
DHCP 可分配的地址信息主要包括:
网卡的IP地址、子网掩码
对应的网络地址
默认网关地址
DNS服务器地址
引导文件、TFTP服务器地址
DHCP 原理:地址租约四部曲
DHCP工作流程 :======================================
(1)客户机寻找服务器:客户端网卡设置为dhcp 获取。 BOOTPROTO=dhcp,广播发送 discover 包,地址是??,寻找dhcp服务器,进行地址请求。
(2)服务器响应请求:单播 发送offer包,对客户机做出响应。提供客户端网络相关的租约以供选择,其中服务器在收到客户端的请求后。
会针对客户端的mac地址与本身的设置进行以下工作:
a) 到服务器的登录文件中寻找该用户之前曾经使用过的 ip,若有且该 ip 目前没有人使用,则为客户机提供此ip
b) 若配置文件中有针对该 mac 提供额外的固定 ip,且该 ip 没有被使用,则提供此 ip 给客户机
c) 如果没有符合以上两个条件,则随机从地址池中挑选有一个IP,给客户机,并记录到 leases 文件中
(3)客户机发送ip请求:广播 request包,选择一个服务器提供的 IP地址 。
此外,客户机会发送一个广播封包给局域网内的所有主机,告知自己已经接受服务器的租约。
(4)服务器确认租约:单播 确认包,服务器与客户机确认租约关系并记录到 彼此 的 租约leases文件 中 。
一个局域网/广播域 内最好只有一个dhcp服务器,当一个局域网内存在多个服务器时,客户机只选择最先到达的 offer。
DHCP客户机续租:======================================
DHCP客户机会在租期过去50%的时候,直接向为其提供IP地址的DHCP服务器发送DHCPREQUEST消息包。如果客户机接收到该服务器回应的DHCPPACK消息包,客户机就根据包中所提供的新的租期以及其他已经更新的TCP/IP参数更新自己的配置,IP租用更新完成。如果没有收到该服务器的回复,则客户机继续使用现有的ip地址,因为当前租期还有50%。
如果在租期过去50%的时候没有更新,则DHCP客户机在租期过去87.5%的时候再次向为其提供IP地址的DHCP服务器联系,如果还不成功,到租约的100%的时候,DHCP客户机必须放弃这个IP地址,重新申请。如果此时无DHCP服务器可用,DHCP客户机会使用169.254.0.0/16中随机的一个地址,并且每隔5分钟再进行尝试。
- DHCP 配置文件
安装DHCP软件包
yum install dhcp* ##安装 dhcp 软件包
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #拷贝示例文件覆盖原来的空文件
修改主配置文件
[root@deng-120 ~]# vim /etc/dhcp/dhcpd.conf
subnet 10.10.1.0 netmask 255.255.255.0 { ##网段和掩码
range 10.10.1.100 10.10.1.128; ##地址范围
option domain-name-servers 202.96.128.166; ## dns
option domain-name "rosen.com"; ##该网段的域名,可以省略
option routers 10.10.1.1; ##网关
option broadcast-address 10.10.1.255; ##广播地址
default-lease-time 300; ## 租约时间
max-lease-time 7200; ## 最大租约时间
host serverftp { ## 备注名称,可以自行定义
hardware ethernet 12:34:56:78:AB:CD; ## mac 地址绑定
fixed-address 207.175.42.254; ## 地址绑定
};
}
如果需要设置两个网段,必须拥有三张网卡,另外一张网卡配置所需的网段地址,上述配置文件信息可复制多一段,编辑地址等信息就好。
启动 httpd 服务
[root@deng-120 ~]# systemctl start httpd
通过客户机进行测试,把网卡里面的 static 换成 dhcp,重启网卡就可以通过自动获取到地址。