DHCP是Dynamic Host Configuration Protocol的缩写,即动态主机配置协议。使用UDP协议工作,用来给内部网络或网或服务供应商自动分配IP地址,给用户或网络管理员带来了极大的方便。
DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。
1、DHCP客户端发送IP租用请求(DHCPDISCOVER)。由于客户端此时没有IP地址。同时也不知道DHCP服务器的IP地址,因此会通过广播发送一个 DHCPDISCOVER消息,请求租用IP地址等参数。
2、DHCP服务器提供IP地址(DHCPOFFER)。网络中所有收到客户端发出的DHCPDISCOVER消息的合法DHCP服务器都会通过广 播发送一个DHCPOFFER,并为客户端暂时保留一个IP地址。
3、DHCP客户端进行IP租用选择(DHCPREQUEST)。由于网络中可能存在不止一台的DHCP服务器,因此所有合法的DHCP服务器在收到请求后都会广播发出自己的DHCPOFFER消息,为客户端提供IP地 址。客户端收到后会选择第一个收到的DHCPOFFER中提供的IP地址,然后广播发送一个DHCPREQUEST消息,告知自己所选择的IP地址,并等待被选择服务器发来的用于确认的 DHCPACK消息。
DHCPREQUEST消息中包含源IP地址(0.0.0.0,客户端此时没有IP地址)、目的IP地址(255.255.255.255,广播地址)、源端口号(UDP68)、目的端口号(UDP67)、选择的IP地址和提供该地址的服务器标识符以及DHCP客户端的硬件地址和主机名等信息。
4、DHCP服务器进行IP租用确认(DHCPACK)。所有曾经发出的DHCPOFFER消息的DHCP服务器都将收到由DHCP客户端发出的 DHCPREQUEST消息。那些未被选择的DHCP服务器将收回它们曾提供的IP地址;而被选择的DHCP服务器则会通过广播发送一个DHCPACK消息,确认接受客户端的选择,正式告知客户端可以使用其所提供的IP地址。
其中DHCP服务器需要固定的IP地址和DHCP客户端计算机进行通讯,所以DHCP服务必须有一个固定的IP地址。在linux服务器中配置DHCP时,需要建立DHCP服务器的IP段的空区域,否则,DHCP客户端则不能动态获得地址
案例一:地址绑定
下面我们进行测试,利用renew命令使客户机的地址不断刷新,由图知,这一案例成功了
第22行的mac是所要绑定的主机的mac。23行的地址是所要绑定的主机的ip地址
案例二: 超级域
拓扑为:
超级域,简单的来说,就是当我们对ip的需求数量较大时,一个域内的ip数量已不能满足我们的需求,我们要通过建立多个域来自动获得ip,为了便于管理,需要把这些域加入一个域里,而这个包含了多个域的域就是超级域
超级域的关键字为shared-network,紧跟其后的为超级域的名字,下面就要去搭建超级域了,这里为了说明问题,一个域里只分配一个ip
下面就要对其进行测试了,这里我们利用两台机器对其测试
案例三:dhcp中继
拓扑为
首先依旧编辑dhcp的dhcpd.conf
路由器交换机配置参数:
测试结果为: