我们的 Windows DHCP 服务器出现过一些故障问题。我天生是 Linux 爱好者,但不是系统爱好者(我是一名程序员,恰好负责为大约 800 名用户管理 IT),但我很好奇:将几台 Linux 机器设置为冗余 DHCP 服务器(使用分割范围或将其中一些设置为故障转移)会有多疯狂。
如果我们选择这条路线,那么需要什么规格才能使一个盒子简单地充当可靠的 DHCP 服务器?
我在想象我们可以让这些计算机仅充当 DHCP,并将我们的 Windows 服务器保留为 AD 控制器、文件服务器等。我们的组织有许多用户只需要无线即可工作,因此即使在 Windows 服务器关闭时也能保证 DHCP 可靠,这将是一个很大的好处——我的直觉是,设置一些计算机只执行 DHCP + DNS 并做得很好应该不难,但我交谈过的顾问过去曾警告过我们不要这样做,所以我很好奇 serverfault 是怎么想的。
答案1
如今,DNS和DHCP与Active Directory紧密相关。话虽如此,有些人确实在生产中这样做。
在 Linux 上设置 DHCP 框不需要任何特殊的东西:任何框都可以。
答案2
目前,对于 AD,我建议使用 Windows Server 2012 和高可用性 DHCP 功能并安装在一对服务器(或域控制器)上。无需在 Linux 上转到 ISC DHCP 即可完成此操作。
答案3
这里所有告诉你不要这样做的评论都是善意的,但只是意见而已。
最后,您更了解您的业务,并且如果您在考虑了所有事项之后认为采用 isc-dhcpd 路线更适合您的环境,那么这对您来说就是最佳解决方案。
Windows DHCP 服务器终于得到了改进,因此现在支持故障转移。Isc-dhcpd 已经支持该功能多年,因此可以说它是经过验证的更好的解决方案 ;-)
如果动态更新对于您的环境来说是一个重要问题,那么所有其他关于动态更新的评论都是有效的观点。在我看来,动态 DNS 被大大高估了,我遇到的大多数环境都使用 Windows DNS 和 DHCP 服务器(这是公司中非常常见的组合,确实如此),使用动态更新的区域是……混乱的。DNS 清理是许多人没有使用(或理解)的东西。
因此,您最好不要动态更新区域记录,而是使用带有 dnscmd.exe 的脚本来执行此操作。这样,您就可以将区域文件保持在版本控制中,并在必要时恢复。我们通过这种方式从资产数据库和 jenkins 作业的 racktables 生成区域。对于您来说,这应该不是问题,因为您是开发人员。您可以将 jenkins 中的脚本委托给初级员工,并在出现问题时进行记录和警报。
但使用 2012 dhcp 服务也完全没问题。您只需要 2 个 Windows 服务器许可证。
答案4
在 Windows DNS 区域的“常规”选项卡下,有一个“动态更新”选项,可将其设置为“无 - 不安全”和“安全 - 仅安全”之一
最佳做法是将其设置为“安全”,以阻止对您的 DNS 区域的不必要的更新。
但是,如果您这样做,非 Windows DHCP 服务器将无法代表客户端进行 DNS 更新。
如果这对你来说不是问题,那么我认为切换到 Linux DHCP 服务器不会有问题
但是,如果你确实使用安全动态更新,那么我建议你继续使用 Windows DHCP 服务器