5.DHCP相关知识
1.DHCP是什么?
它是动态主机配置协议的简称,主要用于集中分配,管理地址池,为想上网的用户自动分配IP地址,子网掩码,网关,DNS,租期等信息。
比如我们网络连接的属性里,有Internet协议的设置,里面若设置成自动获得IP地址,就相当于用DHCP自动分配的IP地址。
2.DHCP原理:
其流程可分为以下步骤:
(1)客户机发送DHCP Discovery广播包,请求IP地址,此时会带上自己的MAC地址,表明自己的身份
(2)服务器响应DHCP Offer广播包,DHCP服务器会从地址池中取出一个无人用的IP地址,放到Offer包中,由于此时可能有多个服务器响应,客户机不一定会使用此IP地址,所以Offer包中此时不提供子网掩码,网关等其他信息。
(3)客户机发送DHCP Request广播包,此步相当于确认使用哪个IP(按协议是使用先收到的IP),并请求此IP地址相关的子网掩码,网关等信息。此时不被选择的服务器视系统不同,有的会做回复,告诉客户机此IP不再提供,有的则不会回复。而IP地址被选择的服务器就会进行下一步。
(4)服务器发送DHCP ACK广播包,确认租约并提供子网掩码,网关等详细信息,并根据客户机的MAC地址做相应租约记录。
(5)需要注意的是,在租期过了50%时,客户机会再次发送DHCP Request包,请求续约,若此时服务器无响应,则继续使用并在87.5%时再次发送DHCP Request包,若仍无响应,则释放IP地址并重新发送DHCP Discovery广播包来获取IP地址。若此时没有一台服务器有回应,则网卡会自己给自己分配一个IP地址(169.254开头,这是全球统一的无效地址,这样,虽然无法上网,但局域网内部之间还可以互相通信)
注意,若有这种情况:租约未到期,客户机关机重启,此时发送DHCP Discovery广播包,会有什么现象呢?
答案是此时会收到相应DHCP服务器的DHCP ACK广播包,这样客户机就不会再去发送DHCP Request广播包,直接使用之前的IP地址
我们在家中上网时,也会被自动分配IP地址,这时的DHCP服务器其实就是路由器,厂家已经帮我们事先做好了。
3.如何部署DHCP服务器:
我们用一台WinXP虚拟机来充当客户机,再开一台Win2003充当服务器。
先配置虚拟机网络连接方式,让它们位于同一局域网:
我们先为Win2003装上DHCP服务:
DHCP相关服务的安装包存放在系统安装光盘中,只是装系统时未自动安装,我们先为虚拟机挂载此Win2003安装时用的镜像:
随后在系统中打开此光盘,选择"安装可选的Windows组件":
双击网络服务组件,选中DHCP服务,点击确定并点下一步进行安装:
注意,这里有的电脑会弹出提示:此计算机至少有一个动态分配的IP地址。对于可靠的动态主机配置协议(DHCP)操作,您应该仅使用静态IP地址。
这是因为服务器的IP地址必须固定下来,我们可以通过手动配置IP地址解决:
现在用我们在https://www.cnblogs.com/czw52460183/p/13371901.html学习的命令检测下本机当前开启的所有端口:
可以看到67和68端口已经开启了,它们是此服务对应的端口号。
随后开始创建地址池(作用域):
现在在开始->管理工具中可以看到DHCP服务选项,点开它:
在相应的服务器上右键->新建作用域:
向导中的公司名称和描述随便填就行,随后要填入作用域要分配的地址范围,需要预留一些以备他用,比如我们选取10.1.1.21-10.1.1.250,需要的主机数不是很多,子网掩码长度用24位就行,即255.255.255.0:
点击下一步后,可以添加要排除的IP地址,比如我们屏蔽掉10.1.1.222:
随后需要设置租约持续时间,默认是8天,也可以修改,比如我们设置为1个小时:
随后开始配置DHCP选项:
随后设置网关地址,这个在公司里一般会有相应的网关,我们这里只是实验DHCP功能,网关就写自己的路由器地址,192.168.0.1吧:
随后要设置DNS服务器,这里我们就用114.114.114.114:
随后要填WINS服务器的IP地址,它是DNS服务器的上一代产品,现在已经不用了,直接下一步就好,随后点击确定,激活此作用域。
此时在DHCP服务面板里可以看到我们创建的地址池:
除此之外,在地址租约一栏可以看到作为客户机的XP已经从地址池获取了IP地址,10.1.1.21,唯一ID代表的是此WinXP的MAC地址:
我们到WinXP客户机上看一下来验证:
可以看到,MAC地址对上了,另外通过DHCP指派的地址也是10.1.1.21,也是正确的。
此时即使把连接禁用再启用,IP地址依然是不变的,因为仍在租约时间内。
好了,实验完成,继续记录两个重要的命令:
ipconfig /release
此条指令可以释放IP地址,用在XP客户机上:
可以看到此时IP地址和子网掩码已经变成0.0.0.0了,此时租约也会主动解除,我们可以看到Win2003的服务器上已经无此租约了:
若想重新获取租约,可以把网卡禁用再启用一下,也可以直接用以下命令:
ipconfig /renew
当此时未分配IP地址时,此命令会发送上文讲述的DHCP Discovery广播包,重新获取租约。
当此时已经分配了IP地址时,此命令会发送上文讲述的DHCP Request包,获取详细信息,相当于是在续约了。
考虑一种需求,假如某些客户机,需要某个固定的IP地址,但其使用场所又不固定,应该如何配置?
答:因为使用场所不固定,因此若手动配置IP地址,换场所后会导致上不了网,因此应该使用自动获取IP地址,为保证每次自动获取的IP地址都相同,可以使用DHCP服务中的地址保留功能,在"保留"页签,右键->新建保留->输入要保留的IP地址及相应客户机的MAC地址:
实验完毕