在我的工作场所,我们有一个Windows Small Business Server,它为我们的本地networking运行DHCP和DNS服务。 我相信这是一个活动目录设置,但是因为我没有真正的Windows的线索,我不完全确定这一点。 我可以说的是,服务器控制一个Windows域,我们的一些Windows机器在该域。 我们已经加载了更多的电脑,供我们的客户使用,而那些普通的互联网电脑,运行Windows,但没有附加到域或工作组。
我们经常在服务器机器上遇到问题,部分原因是硬件相当老旧。 另外,我们使用的防火墙/路由器设备经常会造成麻烦。 现在用一台运行Linux和防火墙系统(OpenWRT)的旧电脑代替后者。
我们的客户有互联网连接是非常重要的,在旧的设置中,路由器/防火墙或小型企业服务器的故障将意味着它们不会。 当我用我的Linux系统replace旧的防火墙时,我也想将DHCP和DNS服务从服务器迁移到防火墙。 因此,服务器的故障将不再导致Internet问题。
现在我已经安装了新的防火墙。 我closures了SBS上的DHCP服务器,并且configuration了它的TCP / IP协议,使得它使用新的防火墙机器作为DNS。 一切都像一个魅力,但只有几个小时。 我在域上testing了几台Windows计算机,他们工作。 我禁用并启用了networking接口,以从新的DHCP服务(防火墙上的服务)获取networkingconfiguration。
但是,几个小时后(即今天早上当我重新开始工作),域中的Windows机器不能再安装networking共享。 networking驱动器和打印机拒绝工作。 双击networking驱动器时,会popup一个警告框,提示“本地设备名已在使用中”。
在停用SBS上的DHCP服务器并在单独的(非Windows)计算机上运行DHCP时,我需要做些什么来保持Windowsnetworking服务正常运行?
到目前为止,我在新防火墙上添加了DHCP选项,将SBS的IP地址称为netbios-ns和netbios-dd。 这似乎还不够。
我想要一个安装程序,其中防火墙运行本地DHCP和DNS服务,但Windows PC知道Windows服务可从不同的服务器。 任何有关Windowsnetworking共享,打印机,活动目录,无论如何,应由SBS,这不是代理的DHCP和DNS服务器。
您将遇到的问题是,Active Directory使用DNS来告诉客户端机器在哪里可以find各种资源,因此closuresWindows服务器上的DNS最终会阻止需要Active Directory运行的事情。 这听起来像是工作了几个小时,因为客户端已经caching了,但是caching过期了。
我的build议是在你的Linux服务器上运行绑定 ,并使其作为你的Windows服务器的辅助工具,然后configuration你的DHCP服务器,使其作为DNS服务器客户端应该使用的Linux服务器。 这样,您的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; }; };
不知道您使用的是哪个版本的SBS,但是对于2003,请打开dnsmgmt控制台,转到您的活动目录域的属性,然后将您的Linux服务器作为名称服务器添加到名称服务器选项卡上。 您还需要确保“ 区域传输”选项卡上的“ 允许区域传输”以及“名称服务器”选项卡上列出的“仅限于”服务器 。 此外,您还需要确保在单击“ 通知…” (也位于“区域传输”选项卡上)时,会选中“名称服务器”选项卡上列出的“ 自动通知”和“ 服务器” 。
在您的Linux服务器上重新加载(或重新启动)绑定,并留意日志,并且您应该看到从Windows服务器请求区域文件副本的绑定。 为确保一切正常,请尝试在Windows服务器上添加区域文件,并将其传播到Linux服务器上进行绑定。
希望有所帮助!