将 DHCP/DNS 服务从 Windows 服务器 (Active Directory) 移动到 Linux 机器

sve*_*nor 2 dhcp active-directory dnsmasq windows-sbs

在我的工作场所,我们有一台 Windows Small Business Server,它为我们的本地网络运行 DHCP 和 DNS 服务。我相信这是一个 Active Directory 设置,但由于我对 Windows 一无所知,因此我对此并不完全确定。我可以说的是,服务器控制着一个 Windows 域,而我们的一些 Windows 机器就在该域中。我们有更多的计算机供我们的客户使用,它们是普通的 Internet PC,运行 Windows,但未连接到域或工作组。

我们经常遇到服务器机器的问题,部分原因是硬件相当陈旧。此外,我们使用的防火墙/路由器设备经常会引起问题。我现在用一台运行 Linux 和防火墙系统 (OpenWRT) 的旧 PC 替换后者。

我们的客户有可用的 Internet 连接非常重要,在旧设置中,路由器/防火墙或 Small Business Server 的故障将意味着他们没有。当我用我的 Linux 系统替换旧的防火墙时,我还想将 DHCP 和 DNS 服务从服务器迁移到防火墙。因此,服务器故障将不再导致 Internet 问题。

现在我已经安装了新的防火墙。我已经关闭了 SBS 上的 DHCP 服务器,并且我已经配置了它的 TCP/IP 协议,以便它使用新的防火墙机器作为 DNS。一切都像一个魅力,但只有几个小时。我在域上测试了几台 Windows 计算机,它们都可以工作。我禁用并启用了网络接口,以从新的 DHCP 服务(防火墙上的服务)获取网络配置。

但是,几个小时后(即今天早上我回来工作时),域中的 Windows 计算机无法再挂载网络共享。网络驱动器和打印机也拒绝工作。双击网络驱动器时,会弹出一个警告框,提示“本地设备名称已被使用”。

当停用 SBS 上的 DHCP 服务器并在单独的(非 Windows)机器上运行 DHCP 时,我需要做什么来保持我们的 Windows 网络服务正常运行?

到目前为止,我已经在新防火墙上添加了 DHCP 选项,将 SBS 的 IP 地址称为 netbios-ns 和 netbios-dd。这似乎还不够。

我想要一个设置,其中防火墙运行本地 DHCP 和 DNS 服务,但 Windows PC 知道 Windows 服务可从不同的服务器获得。有关 Windows 网络共享、打印机、Active Directory 的任何事情都应该由 SBS 完成,它不是代理 DHCP 和 DNS 服务器。

And*_*ith 5

您将遇到的问题是 Active Directory 使用 DNS 来告诉客户端计算机在哪里可以找到各种资源,因此关闭 Windows 服务器上的 DNS 最终将停止需要 Active Directory 的东西。听起来它工作了几个小时,因为客户端缓存了它,但是缓存过期了。

我的建议是在您的 Linux 服务器上运行bind,并使其充当 Windows 服务器的辅助服务器,然后配置您的 DHCP 服务器以提供 Linux 服务器作为 DNS 服务器客户端应该使用的。这样,您的 DNS 查询将被卸载到 Linux 服务器上,同时保留使用 Active Directory 的能力。

你需要在你的named.conf(或这样的)中加入一行,有点像这样:-

zone "ad.internal.company.com"
{
  type slave;
  file "/etc/bind/db.ad.internal.company.com";
  masters { aaa.bbb.ccc.ddd; };
};
Run Code Online (Sandbox Code Playgroud)

不确定您使用的是哪个版本的 SBS,但对于 2003,打开dnsmgmt控制台,转到您的活动目录域的属性,然后在名称服务器选项卡上添加您的 Linux 服务器作为名称服务器。您还需要确保在区域传输选项卡上勾选了允许区域传输,以及仅到名称服务器选项卡上列出的服务器。此外,您需要确保当您单击通知...(也在区域传输选项卡上)时,选择了自动通知名称服务器选项卡列出的服务器

在您的 Linux 服务器上重新加载(或重新启动)绑定,并密切关注日志,您应该会看到绑定从 Windows 服务器请求区域文件的副本。为确保一切正常,请尝试对 Windows 服务器上的区域文件进行添加,并使其传播到 Linux 服务器上进行绑定。

希望有帮助!

  • 非常感谢。这绝对有帮助,因为它为我指明了正确的方向。此解决方案的唯一问题是 dnsmasq 在 DNS 区域中注册 DHCP 客户端机器的主机名,这很方便。我认为您的解决方案不会发生。Bind 充当 SBS DNS 服务器的从属,但没有人告诉 DNS 新机器已通过 DHCP 注册。不是一个戏剧性的问题,但我会考虑一下。理想情况下,我的 DNS 将是主要的,但将特殊请求传递给 SBS DNS。 (2认同)