在我们的行政大楼中,我们有一个包含大约 150 个工作站的网络。到目前为止,我使用固定 IP 地址为特定部门提供同一地址中的一个范围。
等等在营销我有 192.168.1.2 X,在销售 192.168.1.3 X,服务器有 192.168.1.20 X。现在,随着工作站数量的增加,事情变得越来越棘手。我想使用 DHCP 服务器重新开始,但我不知道应该使用哪个设备作为 DHCP 服务器。
候选人如下: 3 X Win 2003 服务器,3 X带有内置 Web 界面和 DHCP 服务器的托管交换机,一个 FreeBSD 路由器作为整个网络的主路由器,另一个路由器作为来自其他 ISP 的备用互联网链接,2 个接入点内部无线网络。
我对您不得不在这么大的网络中处理静态 IP 地址表示哀悼。当学生问我“在开始使用 DHCP 之前,网络必须有多大?” 我的回答总是“一台或多台客户端计算机”。
我喜欢 DHCP。它使我的生活更轻松,并提高了文档质量。我认为它是与 DNS 相当的必要基础设施级服务。
不要费心从嵌入式设备运行 DHCP。通常,您没有“保留”功能(指定设备的 MAC 地址和它应该始终接收的 IP 地址的能力)并且管理界面会很差。
如果您是更有经验的 Windows 管理员,请使用 Windows DHCP 服务器。有人在这里发帖并提到如果您有 Active Directory,使用 Windows DHCP 会“更干净”。我不知道它们是什么意思,因为与 Windows DHCP 服务器和 Active Directory 的交互很少。(也许他们指的是由 Active Directory 支持的动态 DNS。Windows DHCP 服务器中有一些设置来控制客户端如何与 DDNS 交互......)
如果您是一个更有经验的 *nix 管理员,请在您的一个 *nix 机器上运行 ISC DHCP 服务器,或者启动一个专门用于 DHCP 的新机器。
其他海报之一谈到了运行“小型 DHCP 服务器”。我不知道他们在说什么。如果只有 150 个客户端,您可能会为每个人分配来自单个子网的地址,并且在单个子网中运行多个 DHCP 服务器通常不是一个“成功”的提议。如果您担心可用性,请确保备份了 DHCP 服务器的配置,并有一个使用您测试过的配置在另一台服务器上启动 DHCP 的过程。我在 Windows 上的策略是使用 DHCP 服务生成的自动 DHCP 配置备份作为恢复到另一台 Windows 机器的基础。我确保这些文件包含在我的备份中,并且我知道在发生故障时如何将它们恢复到另一台机器(http://technet.microsoft.com/en-us/library/cc736344(WS.10).aspx )。对于 *nix 上的 ISC DHCP 服务器,我会确保我的 dhcpd.conf 已备份。
无论您为 DHCP 服务器使用什么,强烈考虑使用“保留”功能将 DHCP 服务器配置用作 IP 地址分配的“权威”列表。对于能够提取 DHCP(打印服务器、交换机、AP 等)的嵌入式设备,我通常将它们配置为 DHCP,并创建与其 MAC 地址相关联的“保留”IP 地址。如果设备无法提取 DHCP,或者使用 DHCP 配置给定设备(例如服务器)没有意义,我仍然会创建一个“保留”(在任何可用的注释字段中进行注释以表明它实际上是一个静态地址分配),因此我的 DHCP 配置包含ALL我在子网中的地址分配。我已经完全放弃了旧的“IP 地址电子表格”来支持这种方法,因为根据定义,使用 DHCP 配置作为 IP 地址分配文档将导致文档始终是“最新的”。
如果您有 Windows 客户端和 Active Directory,请考虑设置选项以使客户端计算机更新其 DNS 记录。默认情况下,Microsoft DHCP 服务器将指示 Windows 2000 和更新的客户端更新其在 DNS 中的“A”记录。DHCP 服务器本身会更新 PTR 记录。我不确定为什么 Microsoft 以这种方式进行设置,但您可以(通过由组策略控制的客户端上的设置或通过直接在每个客户端上更改它们)指示客户端自己更新两个记录(或不更新任何一个!)。不管你最终如何,你真的希望你的 DNS 能够动态更新。您还希望您的 DNS 服务器“清除”并删除旧的过时 DNS 记录。我不能说我知道该怎么做http://technet.microsoft.com/en-us/library/cc757041(WS.10).aspx了解详情)。您想要这样做是因为您不希望您的 DNS 填满陈旧的客户端记录。
您会喜欢使用 DHCP。将其视为必要的基础架构级服务,制定处理故障的计划,并确保您的 DNS 基础架构已为它做好准备,您将度过一段美好的时光。您很快就会忘记您是如何处理静态 IP 地址的!
如果您有 AD,我建议您在其中一个 Windows 机器上运行 DHCP;这样更干净。
这是相当数量的工作站,因为有足够的勇气忍受静态 IP 的影响而受到赞誉;)
我个人建议在某种 Linux/Unix 服务器上运行它。如果你走这条路,它真的不需要是一台功能强大的机器(台式电脑会有足够多的咕噜声),只要一台足够可靠而不会摔倒的机器。如果您确实必须使用旧硬件,请关闭另一台机器,关闭 DHCP,但准备好作为冷备用并运行 rsync 脚本或类似的东西,以保持备用上的配置准确。如果你有一个虚拟化环境,Linux VM 可以完美地完成这项工作。
我们选择的架构是让我们所有的台式机都使用 DHCP,但每次都让 DHCP 为它们发出相同的地址。这意味着地址实际上是静态的,但我们可以根据需要重新组织网络,而无需访问客户端。这对于更改名称服务器、更改 WINS 服务器、更改机器的 netBIOS 设置(广播 v WINS 等)甚至将整个部门移动到新子网等各种事情都很方便。多年来,我们不得不做所有这些事情,而拥有 DHCP 让这一切变得更加容易。我们有大约 4K 主机,因此为了管理它,我们使用 MySQL 数据库来存储我们所有主机的详细信息,并运行一个简单的脚本来从该数据库生成 DHCP 配置。从物理的角度来看,我们有两台服务器,我们的两个数据中心各有一台,两者都从同一个 MySQL DB 生成它们的配置,但一个设置为权威,另一个不是。这样,当两者都启动时,主节点负责,但如果它由于某种原因出现故障,我们有一个热备份可以接管。
请记住,我来自一个没有 Active Directory 的世界——我们使用 SAMBA + OpenLDAP 从 Linux 服务器运行整个 Windows 域。也许活动目录会使事情复杂化,但 TBH,我不明白为什么会这样 - DHCP 应该只是 DHCP。
如果您主要管理 Windows 平台和/或比其他平台更了解您的 Windows,请选择 Windows DHCP 服务器。
它更容易并且更多地集成到其他 Microsoft 产品中,例如,如果您想运行部署服务,它将在安装过程中自动为您创建 DHCP 选项。很多这样的小事,并且说更容易与 Windows Server 中的网络安全功能集成,让这一天变得更加轻松:)
不用说,如果你觉得管理另一个平台更舒服,那就去吧。
DHCP 只是用来提供网络地址。这是一个最小的功能。这完全取决于您是否仍希望按部门划分 IP 地址。您可以通过 MAC 地址完成 IP 分配,但这需要大量的手工劳动。
使用多个小型 DHCP 服务器可能会更好——每个部门一个。您可以使用 3X 管理型交换机。一个来处理每个部门什么的。您只需要学习如何将它们设置为一起工作。
此外,将您的服务器作为静态地址分配可能会更好,因为您可能仍希望某些网络服务运行,即使 DHCP 服务器不工作。
我会在unix机器上做(最好是debian linux)。这样我就可以以任何格式(纯文本、mysql 等)只维护一个“MAC 地址、IP 地址、主机名”列表,并从中生成 DHCP 和 DNS 配置。
这就是我在工作中所做的——我们有一个内部帮助台/故障单系统,其中还包含一个资产管理器。新机器在到达时输入所有相关详细信息(包括 mac 地址和 IP 地址),存储在 mysql 数据库中。我编写了一些 perl 脚本来提取这些数据并生成 DHCP 和 DNS 配置。
这使得我们的帮助台/资产管理数据库成为有关哪些 IP 地址属于哪些机器的唯一权威数据源(如果您曾经在具有多个此类信息来源的网络上工作过,您就会明白它的重要性有一个单一的权威来源)