Windows DHCP服务器可以服务于它不属于的范围吗?

情况

我有一个Windows SBS 2008框作为DC / DNS / DHCP / Exchange /文件服务器作为192.168.1.0/24networking运行。 只要说SBS盒子的IP是不变的就够了。 在过去的某个时候,我的前任试图让2个网卡运行2个IP(这是非常不受支持的),从那时起,尝试更改任何networking属性导致其在提示重启时进行蓝屏,发生这种情况时,我们不得不从快照中恢复,似乎没有办法解决这个问题。

我们最近开始一个项目,摆脱了SBS,并build立了一个真正的2008/2012(待定)域2 DC,一个单独的虚拟机交换,一个文件共享等等(耶!),但先决条件是,我们过渡到新的IP范围(我们将与总部进入一个VPN,使我们能够将许多这些服务卸载到他们的networking上)。

这使我面临一种棘手的情况 – 我需要将路由器,工作站,terminal……除DC / DNS / DHCP / Exchange / File服务器之外的networking上的所有东西都放到不同的范围上,同时保持与这些连接的连接在SBS上运行的服务必须保持在192.168.1.0/24上。

在这个问题上的另一个问题是 – 我们在这里有两个网关。 一个被SBS使用,另一个…几乎一切 – 这是为了允许来自外部的SMTP和HTTPSstream量来击中它。

计划

好吧,这就是我打算做的 – 我已经在每个networking范围内安装了一个最小安装的Ubuntu 12.04和一个NIC。 它的静态路由设置到各个接口上的每个networking,我计划通过DHCP推出另一个路由,允许不同范围的客户端通过路由到Linux的盒子相互联系。

所以例如我有路线:

客户端在10.0.0.20

destination 192.168.1.0 mask 255.255.255.0 gateway 10.0.0.10 interface 10.0.0.20

Linux路由器10.0.0.10&192.168.1.10

destination 192.168.1.0 mask 255.255.255.0 gateway 0.0.0.0 interface 192.168.1.10

destination 10.0.0.0 mask 255.255.255.0 gateway 0.0.0.0 interface 10.0.0.10

DC在192.168.1.200

destination 10.0.0.0 mask 255.255.255.0 gateway 192.168.1.10 interface 192.168.1.200

同时,我将把所有人使用的网关(不是为DC设置的)移到10.0.0.0/24networking,因此10.0.0.0/24客户端在其范围内有一个默认网关, 192.168.1.0/24客户端(只有DC真的)在它的范围内有一个默认的网关(在这一点上192.168.1.0/24networking中唯一剩下的东西是DC和它的网关)。

问题

是的,我正在四处寻问! 我想确认DC是否可以在不同范围内为这些客户端提供DHCP服务。 研究已经使我在这里 ,这似乎表明,没有一个DHCP中继服务器是不可能的(假设我正确地parsing一个“网段”相当类似于一个子网),但也提到超级范围,这听起来像它可能会回答这个问题(因为它将地址分配给其他范围之外的任何设备…我认为)。

在我看来,当一个客户端请求一个地址时,它还没有一个地址,那它怎么能确定它是否和DC在同一个“网段”?

为了澄清TL; DRtypes的格式 – 我可以服务10.0.0.0/24地址以及其他networking属性,如静态路由,DNS和默认网关客户端从一个DHCP服务器坐在192.168.1.200/24? 我是否需要使用Superscope来做到这一点?

另外,如果你看到我的计划有任何其他问题,请不要保持沉默!

附录

使用@ HopelessN00bbuild议的DHCP-helper工具我能够很顺利地得到这个动作! 有几件事情是有问题的 –

  • 客户端全部在同一网段,不需要通过三层交换机到达DHCP服务器。 这导致我的所有客户都抓住了192个地址,因为他们直接与服务器通信。 我想保留这个范围,因为:a)如果我今天早上得知我已经搞砸了,那么很容易回滚; 和b)作为仍在192子网上的这些服务的便利列表; 但是我可以通过创build一个范围的排除范围来避开这个问题,这个范围与所有范围的地址相匹配(例如,范围从192.168.1.20到192.168.1.200,我创build了一个从192.168.1.20开始的排除范围 – 192.168.1.200)。 这让我感觉有些肮脏,但是它工作,而192子网只需要存活几个星期就可以让我们迁移服务。
  • 今天早上我发现有几个设备不支持通过DHCP选项121(即:WYSEterminal)接收静态路由。 他们高兴地采取10.61.73.x地址,但无法路由到terminal服务器在192.168.1.x. 由于terminal服务器本身很乐意接pipe路由,现在我把它们静态地设置在192个子网中,这就解决了他们的问题。

@ us10610想知道我在linux上用于DHCP-Helper的configuration – 这很简单 – /etc/default/dhcp-helper包含一行,我默认修改: DHCPHELPER_OPTS="-b eth1"

eth1是与DHCP服务器共享一个子网的NIC。 然后它很高兴地接受来自其他NIC的DHCP UDP并在eth1上广播它们

只要stream量可以在两个子网之间stream动,就可以绝对使用DHCP服务器来提供它不属于的范围。

诀窍是,DHCP请求通常只能用于客户端所在的广播域,为了解决这个问题,您需要在客户端连接的networking设备上放置一个IP-Helper地址 ,以便它将UDPstream量(例如客户的DHCP请求)到指定的IP地址(您的DHCP服务器的IP地址)。

我在回答之前做了检查。 在Linux(和Ubuntu)盒子被用作交换机或路由器的情况下,这是可能的,但是我不确定精确的语法和/或你可能需要的附加软件包。 但是,我确实find了这个页面,这个页面提供了一个使用的程序以及如何使用它,所以这可能是您开始的一个好地方。

在具有多个网段的networking中,您可以使用“IP帮助程序”来实施对dhcp服务器的定向广播。 “助手”在第3层边界(路由器,SVI …..)中实现,并且对于每个单独的分段都是必需的。

我不确定在Linux路由器上的语法,但在思科多层交换机或路由器上是这样的;

 Interface vlan 1099 ip address 10.10.99.1 255.255.255.0 ip helper address 10.10.1.254 (*dhcp server address) 

祝你好运,请发布Linux语法,因为我想知道它是如何工作:)