Windows服务器中,DHCP角色存在与DNS协同工作的功能:
1.DHCP启用DNS动态更新(默认仅在DHCP客户端请求时动态更新DNS记录,本文为实现DNS老化清理功能选择“始终动态跟DNS记录”讨论)
2.在租约被删除时丢弃A和PTR记录
理解如下:
针对“DHCP启用DNS动态更新”
1. 默认情况下,客户端获取DHCP分配的IP后,会亲自到DNS注册A记录的,因为网卡ipv4属性——高级——DNS——勾选了“在DNS中注册此连接的地址”选项。
此时可以查看该A记录属性——高级(注意勾选高级查看功能以后才出现)——所有者是客户端计算机账号,表示由计算机来注册的。但另一方面官方资料表明PTR记录是由DHCP代劳注册。
2. 如果希望DHCP来注册DNS的A记录,方法是:
a) DHCP勾选“总是更新DNS记录”;
b) 在高级标签栏中填写对DNS的编辑凭证,例如管理员账号;
c) 在DNSupdateproxy中再次填写相同的凭证(即管理员账号),以及DHCP服务器计算机账号(若DHCP和DNS角色同在一台服务器,则照样填写它们所在的计算机账号);
d) 在DNS属性——安全标签页——添加administrator并赋予完全控制器权限;
e) 在DNS区域属性——安全——添加administrator并赋予完全控制器权限;
f) 重启DHCP和DNS服务。
那么此时如果客户端重新获取IP时,每当DHCP重新分配IP给客户端,就会代替客户端去DNS注册A记录了,并且A记录的所有者为上述填写的凭证,即管理员。
针对“在租约被删除时丢弃A和PTR记录”
1. 不应理解为DHCP代替客户端去取消A和PTR记录,而是当DNS主动过来询问情况时告知可以清除;
2. 首先,客户端取消DHPC自动分配时,控制台马上清除DHCP的分配记录;DNS清除记录则只有2种方式:1.老化\清理;2.客户端输入ipconfig /release申请清理;
3. 一旦勾选DHCP中“在租约被删除时丢弃A和PTR记录”,那么当DNS到了要老化清理或者接受客户端清除命令时,会主动访问DHCP看它是否也已经清除了IP分配记录了。如果是,那么DNS也跟随一起清理A和PTR记录,如果否,则不作任何清理,无视老化清理功能!所以“在租约被删除时丢弃A和PTR记录”必须勾选。
如何协同DHCP和DNS的清理周期:
DHCP默认8天期限,4天后开始续约,DNS老化默认7天无刷新,后7天可以刷新,如果14天过去无动作则开始清理。鉴于上述协同工作原理,可以修改DHCP租期和DNS老化周期为一致,例如保持DHCP8天租期以及DNS4天无刷新+4天刷新,那么如果8天后客户端不在线,DHCP记录清除同时DNS记录丢弃,使得环境资源回收。
附老化清理功能开启: