我有硬件通过 DHCP 服务器连接到路由器。该路由器具有 MAC 预留,以确保硬件被分配到特定 IP。当此设置隔离时,一切都很好,但如果我将路由器的 WAN 端口连接到本地网络,硬件将获得主域控制器的 dhcp(这与硬件相距甚远!不是像第一个路由器那样的第一个主机)。为什么 dhcp 数据包会绕过我的路由器?这是标准做法吗?如何避免?谢谢!
1. [HW]<->[Router1/DHCP1]
- Isolated network. HW get correct IP from DHCP MAC reservation: 10.23.205.89
2. [HW]<->[Router1/DHCP1]<--->[LAN]<--->[PDC/DHCP2]<--->[GW]<-->[Internet]
- DHCP request bypass Router1 and gets IP from PDC/DHCP2 172.168.100.100 f.e.
路由器1型号:TP-LINK TL-WR1043ND
答案1
有多种方法可以解决这个问题,其中一些已经提到过,但我会为您简化并为您列出一个选择列表。您必须决定(并实施)您喜欢的那个...
- 为设备分配一个静态 IP(我知道您说这是不可能的,但将其作为将来其他人的可行选择)
- 如果路由器有能力,请禁用设备所在特定端口的 DHCP 中继/bootp 中继
- 将设备所在的 VLAN 和子网以及端口更改为自己的 VLAN,并在路由器上为该 VLAN 设置 DHCP
- 禁用路由器上的 DHCP,改为在 Windows DHCP 服务器上为该设备设置保留
- 在 Windows 服务器上为该设备设置 MAC 地址拒绝列表(http://technet.microsoft.com/en-us/magazine/ff521761.aspx)。希望设备能够继续尝试 DHCP 地址,并且希望路由器能够在此时做出响应。
希望有所帮助。
答案2
我首先想到的是,如果它们没有形成集群,为什么你的网络上会有 2 个活跃的 DHCP 服务器呢?
不过,要回答您的问题,当您的网络上有 2 个 DHCP 服务器,它们不通过 Windows 上的群集服务进行协作时,这通常是偶然的,当它收到 DHCP 广播时,哪个服务器响应速度最快。我测试过,路由器对 DHCP 和 DNS 请求的响应速度甚至比拥塞主机上的虚拟机还要慢。
我最好的建议是禁用您不想使用的 DHCP 服务器。
答案3
我认为路由器不应该以这种方式运行。
我可以想象两种方法可以获得这样的结果:dhcp-relay 和 bridging。
可以使用通常在托管交换机上运行的 dhcp-relay 功能将 dhcp 请求传递到其他子网 - 以便允许单个 DHCP 服务器为多个子网提供服务,而无需复杂的多宿主设置。我不认为这是我们的情况。
更可能的情况是 - 由于路由器配置错误或出现故障,导致 WAL 和 LAN 端口桥接。首先我想的是:路由器有特殊的接入点模式,但我在手册中找不到任何参考。
我不太了解这个路由器型号,但有些 SOHO 型号基于单个交换机,该交换机带有放置在不同 VLAN 上的 LAN 和 WAN 端口。VLAN 配置保存在 nvram 变量中。
如果 nvram 损坏,则 LAN 和 WAN 端口可能会被置于同一广播域中,我们将看到类似观察到的行为。 可能确实发生了这种情况。