如果路由器通过 LAN 到 LAN 连接连接到交换机,则路由器将成为 DHCP 服务器。
现在的问题是,如果两个路由器通过 LAN-LAN 连接到一个交换机,那么哪个 DHCP 可以工作?
如果路由器通过 LAN 到 LAN 连接连接到交换机,则路由器将成为 DHCP 服务器。
现在的问题是,如果两个路由器通过 LAN-LAN 连接到一个交换机,那么哪个 DHCP 可以工作?
DHCP(动态主机配置协议)使用四个关键步骤,如下图所示:
这些交易的图表:
Client DHCP Server
| |
| DHCPDISCOVER ---> |
| |
| <--- DHCPOFFER |
| |
| DHCPREQUEST ---> |
| |
| <--- DHCPACK |
| |
\/ \/
这些消息中的每一个都是一个广播数据包,发送到目的地 255.255.255.255。这意味着这将发送到特定 L2 网段上的所有主机。(默认情况下 DHCP 是一种以广播为中心的技术,但是您可以使用 DHCP 中继功能来跨越 L3 边界。)
另请注意,DHCP 将 UDP 端口 67 用于 DHCP 服务器,将 68 用于客户端。
现在,为您解答:
当有两个(或更多)DHCP 服务器可从特定的 L2 网段访问时,它就会成为竞争条件。
客户端发出广播 DHCPDISCOVER,然后等待。两个 DHCP 服务器都接收消息并广播 DHCPOFFER 回复。
客户端首先收到哪个 DHCP 服务器的 DHCPOFFER 数据包将“获胜”,并且该服务器将收到来自客户端的 DHCPREQUEST。 根据具体情况,这实际上可能导致拒绝服务条件。
在过去的工作中,我在区域 ISP 的 NOC 工作。我们使用了一个特定品牌的 DSLAM,它有一个软件错误,导致它无法过滤来自客户的DHCP 消息。
这意味着,每当客户将其家用路由器向后插入(LAN 端口连接到 DSL 调制解调器,而不是 WAN 端口连接到 DSL 调制解调器)时,他们就会开始向连接到该 DSLAM 上的调制解调器的每个路由器发出 DHCPOFFER。
因为这个新的 Rouge DHCP 服务器比实际的 DHCP 服务器更接近客户,所以它每次都赢得了比赛。这导致了级联中断,因为该 DSLAM 上的路由器上的 DHCP 租约到期,并且它们从 Rouge DHCP 服务器获取了私有地址。
如前所述 - 最快的。我们为一位客户提供了一个案例,该客户希望拥有主机的静态地址,但需要动态配置。我们在两个不同的服务器机房上安装了两个带有 DHCP 服务器的 FreeBSD 机器,它们在更改时从客户前端应用程序接收配置,并将它们包含到 isc dhcpd 中。两台服务器具有相同的配置,以确保在一台服务器、服务器机房或其他设备发生故障时一切正常。观察一个盒子比另一个盒子快得多,这很有趣。两者都收到了 DHCPDISCOVER 消息并且都试图响应,但其中一个最快。
如果我没记错的话,这工作了 2 年多。