![在两台路由器后面设置 DHCP 服务器](https://linux22.com/image/581189/%E5%9C%A8%E4%B8%A4%E5%8F%B0%E8%B7%AF%E7%94%B1%E5%99%A8%E5%90%8E%E9%9D%A2%E8%AE%BE%E7%BD%AE%20DHCP%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我有一个按以下方式配置的网络:
|-> Imaging server (192.168.1.42)
|-> 192.168.1.100-150 range
Internet->Router A-+-> Router B-⊺-> DHCP Server (Windows Server 2003, 192.168.2.2)
|-> 192.168.2.151-200 range
是否可以配置 DHCP 服务器来为两个范围提供 IP 地址?它是否需要直接位于路由器 A 网络上?
更多详细信息:路由器 A 和 B 都是 D-link 路由器,DHCP 已关闭。路由器 A (DI-624) 通过 PPPOE 连接到互联网,其内部 IP 地址为 192.168.1.1。路由器 B (DI-604) 被静态分配 192.168.1.2 以连接到路由器 A,其内部 IP 地址为 192.168.2.1。
我尝试转发路由器 A 上的端口 68(DHCP 请求),并确保所有其他 DHCP 服务都已关闭(路由器 A、路由器 B、映像服务器)。最后,我还希望能够设置映像服务器(Ubuntu/Fog Project),以便通过 PXE 启动为网络上的所有计算机提供服务。
我见过这个问题,但我不确定如何将我的路由器配置为 DHCP 辅助程序(可以使用基本的 D-link 路由器吗?),因为唯一与 DHCP 相关的选项似乎是关闭和打开该服务。
顺便问一下,IP 地址的最后一个数字是否需要在两个范围内保持离散?
答案1
您需要一些设备才能实现此功能。转发端口 68 没有帮助,因为 DHCP 请求使用广播数据包 - 这些数据包不会转发到本地子网之外。如果您希望连接到路由器 B 的设备从路由器 A 获取 DHCP 地址,则需要 DHCP 中继代理。您列出的 D-Link 型号都没有此功能,但它们自 2003 年以来一直运行在 Windows Server 上(http://technet.microsoft.com/en-us/library/cc781416%28v=ws.10%29.aspx)和 Linux(http://linuxcommand.org/man_pages/dhcrelay8.html)。
这将为您提供一个系统,其中路由器 B 后面的设备从与路由器 A 相同的池中获取地址。您可以为路由器 B 后面的设备提供自己的子网,方法是运行DHCP服务器在 Ubuntu 服务器上并进行正确的配置。
至于最后一个问题,如果您有一个子网 192.168.1.XXX 和另一个子网 192.168.2.XXX,则它们的最后一个八位字节重叠没有问题。192.168.1.15 和 192.168.2.15 是不同的,不会互相干扰。
编辑:回顾您的问题,如果您要在此网络上使用 PXE 启动设备,那么您肯定需要映像服务器作为 DHCP 主机 - 路由器 A 不支持正确的 DHCP 选项来实现 PXE。
答案2
是的,可以。但是,使用您现有的设备无法做到这一点。问题的关键是路由器 A。DI-624不支持 DHCP 中继/转发/帮助(取决于设备制造商的称呼)。
您需要使用能够跨子网传递 DHCP 的路由器。正如 Zoredache 提醒我的那样,您可以在路由器以外的设备上安装辅助代理。对于 Windows,请查看DHCP 帮助代理。