使用 Cisco 的“ip-helper”进行 DHCP 的最佳实践?

网络工程 dhcp
2021-07-25 15:30:09

我们的拓扑结构使得我们的IDF壁橱中有两个 4510 每个交换机都有一个数据 VLAN 和一个语音 VLAN。交换机在第 2 层中继到核心,VLAN 接口在那里,路由发生,DHCP被转发到 DHCP 服务器。

提供 DHCP 服务冗余的最佳实践是什么?如果有两个 dhcp 服务器和两个“ip-helper”地址,只要从网络的角度来看它是可访问的,网络是否只会将 dhcp 请求转发到第一个 IP?如果掉线了,那么dhcp就去第二个地址了?

如果第一台服务器的 dhcp 服务出现问题 - 但该服务器仍可通过网络访问(您可以 ping 它,但 dhcp 服务已关闭)怎么办?或者如果 DHCP 范围已满怎么办?第二个ip-helper地址有帮助吗?只有在第一台服务器宕机时,第二个地址才会起作用吗?

有没有办法让 ip-helper 在两者之间“循环”?

附注。不幸的是,这是 Microsoft 唯一的 DHCP 服务器选项。有人问我想法,我提到了 Infoblox,但那是在未来......也许吧。

谢谢。

4个回答

路由器会将所有 DHCP 请求转发到所有配置了 ip helper 的服务器。第一个响应可用地址的服务器获胜。我不知道从路由器进行循环的方法。

所有广播流量(DHCPDISCOVERs 和 DHCPREQUESTs)将被转发到所有 ip-helper 地址。ip-helper 语句的配置顺序没有区别。设备将从它接收到 DHCPOFFER 的第一台服务器获取地址。

避免作用域已满的唯一方法是在接口上配置辅助子网。在 Cisco IOS 中,配置如下所示:

interface f0/1
ip address 192.168.1.1 255.255.255.0
ip address 192.168.2.1 255.255.255.0 secondary

ip helper-addressVLAN 中配置的所有线路都从客户端接收 DHCP 广播,将路由器(网关)地址添加到 UDP 数据包中,然后单播到 DHCP 服务器。[我确定数据包重写只完成一次,然后将副本发送到每个 DHCP 服务器。] 配置的所有列出的服务器都通过路由器中继接收 DHCPDiscover 数据包。

DHCP 服务器的冗余不仅取决于您的操作系统,还取决于特定版本!对于提到的 Windows,您的选择范围从 Windows 2008 R2 中的真正拆分范围到 Windows 2012 中的主动故障转移冗余。对于不太强大的 DHCP 服务器(即 Windows 2003),您可以手动配置拆分范围范围。常见的建议是 80/20 规则,其中 80% 的租约配置在您(和您自己)考虑的主要 DHCP 服务器上,20% 和次要服务器。排除项被添加到每个 DHCP 服务器,因为它们具有重叠的范围。

由于我不喜欢 Windows 2003 中的重叠范围,因为排除项往往会从视图中隐藏,我更喜欢简单地将每个 DHCP 服务器的子网分成两半。客户端租用的一个 /24 块变为两个 /25 块。他们的关键是范围内的子网掩码仍然是/24。您在范围中配置的范围内的起始和结束 IP 地址遵循 /25。现在,我确实建议对网络设备(如 VLAN 接口 IP 地址和 HSRP)以及同一子网中的静态设备(例如打印机)进行一些排除。所以我排除了前 16 个 (0-15) 地址——当然,无论如何都不会使用零地址——当然,排除前 16 个 (240-255)——255 个广播。实际上,您可以通过简单地适当地开始和结束 IP 地址来避免配置排除。

手动配置的 50/50 拆分范围 (2x/25=/24) 中的基本范围信息类似于:

DHCP 主
  范围下限:192.0.2.0/24,开始 192.0.2.16,结束 192.0.2.127,没有排除
DHCP 辅助
  范围上限:192.0.2.0/24,开始 192.0.2.128,结束 192.0.2.239,没有排除

如果您更喜欢此方法,请配置具有适当排除项的相同范围 (2x/24):

DHCP 主
  范围完整:192.0.2.0/24,开始 192.0.2.16,结束 192.0.2.239,排除 1-15、128-254
DHCP 辅助
  范围完整:192.0.2.0/24,开始 192.0.2.16,结束 192.0.2.239,排除 1-127、240-254

由于重复的 DHCPDiscover 数据包单播给每个 DHCPDiscover 数据包时有一点点延迟ip helper-address,所有其他条件相同,列出的第一个 DHCP 服务器通常将首先响应 DHCPOffer,以及客户端在发出 DHCPRequest 时选择的地址——虽然不能保证。因此,首先将主 DHCP 服务器放在 VLAN 的 SVI 中。客户端通常会收到多个 DHCPOffer 并决定最好的通常是第一个收到的。分配仅在客户端将 DHCPRequest 发送回服务器后才完成——以防服务器改变了对租约的看法或不再可达或???-- 并且服务器发送一个 DHCPACK。

接口 vlan123
  desc svi for vl123 dhcp 中继示例
  ip 地址 192.0.2.1
  ip 辅助地址 192.0.4.1 !主 DHCP 服务器
  ip 辅助地址 192.0.4.2 !辅助 DHCP 服务器

在您的数据和语音 VLAN 之间,您可能希望为给定的 VLAN 替换您认为的主要 DHCP 服务器。我这样做是为了帮助分散租赁负载。

如果 DHCP 服务器的范围已满,则它不会回复 DHCPOffer,因此该报价将来自另一台 DHCP 服务器,假设它也未满。在进行故障排除时请记住,Windows 客户端会记住他们上次租用的 IP 并尝试再次获取该 IP。还请记住,您所做的任何保留都必须在两台服务器上完成,并在您拥有的任何 ACL(例如防火墙)中进行说明。

有关DHCP 中继过程的详细说明和嗅探器跟踪,请参阅Catalyst 交换机或企业网络中的 DHCP 了解和故障排除

这一切的重点是 DHCP 冗余 80% 是 DHCP 服务器问题,您可以采用拆分范围的方法,Windows 2012 允许您在没有集群的情况下通过复制进行活动和备用。我们只有每日备份(我们使用 7 天租约),然后恢复到另一个机器或 VM。看看你的DHCP服务器软件提供了什么,helper地址真的是你最不用担心的