现在,我正在尝试解决我们网络上的 IP 帮助程序问题。我们在一个 VLAN (n)/子网上有一个配置系统 (opsware/HP System Automation),而要配置的服务器则在另一个单独的 VLAN (30)/子网上。它们之间有两个使用 HSRP 的路由器。路由器有一个为 VLAN 30 配置的 IP 帮助程序,用于将请求转发到配置系统。
我们已经验证了服务器正在生成 DHCP 请求。我们已经验证了路由器上的 VLAN 配置是正确的(在 VLAN 配置中,配置了一个 ip-helper - 这并不复杂)。我们正在验证配置系统没有收到 dhcp 请求,这就是我的问题所在……
当路由器使用 ip-helper 将广播重定向为单播到辅助地址时,单播中包含什么 MAC 地址?它是路由器出站端口的 MAC 还是生成广播的原始主机的 MAC?
遗憾的是,路由器处理大量流量,因此网络工程无法对路由器进行调试或数据包转储,因此那里发生的事情目前是一个黑匣子。目前,我正在努力收集尽可能多的证据,以查明问题所在。
答案1
路由器的 DHCP 中继代理将接收来自客户端的广播 DHCP 请求,将其自己的 IP 地址放入 DHCP 数据包的 GIADDR 字段(表明自己是转发 DHCP 请求的中继代理),并从最接近目标 DHCP 服务器的接口发送单播 IP 数据包。此单播 IP 数据包将封装在以太网帧中(如果该接口是以太网接口),其中包含路由器的源 MAC 地址(或者,如果是 HSRP 对,则为 HSRP 地址的虚拟 MAC 地址)。路由器上的 DHCP 中继代理将不更改客户端 MAC 地址(存储在 DHCP 请求的 CHADDR 字段中)。(DHCP 中继维基百科文章中有关 DHCP 的部分可能会帮助您更深入地理解。
如果 DHCP 服务器和与客户端的 DHCP 请求相关的路由器之间存在“跳跃”,则中继 DHCP 请求数据包上的源 MAC 地址最终将成为 DHCP 服务器和中继路由器之间最后一跳路由器的接口。
我会开始嗅探最靠近配置系统的流量,寻找 DHCP 数据包并从那里开始减少流量。我还会确保我可以从中继路由器获取到 DHCP 服务器的其他类型的流量(例如 PING)。