![DHCPOFFER 延迟 VLAN](https://linux22.com/image/511055/DHCPOFFER%20%E5%BB%B6%E8%BF%9F%20VLAN.png)
我已经在 Cisco Catalyst 2960 上配置了两个 VLAN [ 15 和 16 ] 和一个 trunkport。trunkport 连接到 Linux 服务器上的 eth2。服务器配置为支持 VLAN,并且接口 eth2.15 和 eth2.16 配置了两个不同子网上的 ip 地址。dhcp3-server 在同一服务器上运行,并将 IP 地址分发给 VLAN。
当将客户端连接到例如 VLAN 15 中配置的端口并请求 IP 地址时,我会在收到 DHCPOFFER 之前经历较长的延迟,大约 30 秒左右,客户端需要发送 DHCPDISCOVER 大约五次但始终会收到 DHCPOFFER。
有任何迹象表明为什么会发生这种延迟吗?
答案1
答案2
这也可能是 DNS 问题。在 DHCP 服务器上执行 tcpdump 以确认。
tcpdump -i -lennvs0 端口 53
当 DHCP 服务器产生租约时,它可能会执行 DNS 查找以查找即将发放的 IP 地址,以便它可以在 DHCP 提供中包含主机名记录。
答案3
因此,首先要做的是使用tcpdump
/tshark
来查看延迟在哪里。
tshark -i eth2.15
然后连接客户端并尝试获取 DHCP 租约。
要做的另一件事是在中间插入一个哑交换机,等待一分钟左右,然后将客户端插入其中,如果它立即出现,那么 STP 相关的延迟几乎是肯定的。
dhclient
在控制台上运行的客户端(理想情况下没有network-manager
或类似,以便您可以确保系统不会自动执行此操作)打印其发送或接收的每个数据包,这是确认数据包是否被交换机丢弃的好方法。