网络背景:在具有多个VLAN和网络段的校园内连接到IPv4/ipv6本机双堆栈网络。
When disconnecting and connecting to different network segments with different IPv6 DHCPv6 scopes and prefixes, Network Manager and/or dhclient only send out DHCPv6 Confirm messages to the DHCPv6 server for the previous lease, which is often times incorrect, and uses that previous address on the local interface, rendering IPv6 connectivity broken, even though the DHCPv6 server does not respond (to the Confirm messages). A DHCPv6 Solicit message is never sent to acquire a new lease on the new segment, which the DHCPv6 server would respond to.
预期/期望的行为是,如果/当 DHCPv6 确认消息失败时,发送 DHCPv6 请求消息(重新开始整个 DHCPv6 地址请求过程),或者更理想的情况下,在每次新连接时发送,类似于 DHCPv4 的行为,后者工作正常。如果没有此行为,IPv6 连接要么 a) 在更改网段时中断(可能从一个会议室移动到另一个会议室),要么 b) 在等待客户端发出 DHCPv6 请求消息时,IPv6 连接会经历长时间的延迟。
我已经确认了数据包捕获,我的客户不会在初始连接时始终如一地发送确认消息。
不确定这个问题是出在 dhclient 上,还是网络管理器(使用默认的自动方法和设置)在后台将旧租约信息传递给 dhclient。这也可能是 dhclient 监听来自两个网段上的相同本地路由器地址的 RA 的行为(因为通常同一个路由器为两个网段提供服务),导致 dhclient 认为它在每个连接上都位于同一个本地网段上。
非常令人讨厌的是,我的IPv4地址按预期立即在新段上进行了更新,而IPv6被分配了先前的地址,即使DHCPV6工作正常,IPv6也会导致IPv6连接破裂。
对此有任何想法我将不胜感激。如果有人能证实,我将针对 dhclient 和/或网络管理器提交错误报告。
Xubuntu 16.04.5 LTS
答案1
我的解决方案是删除您可以在PS命令中看到的租赁文件。