IPv6之地址冲突的那段“网事”!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IPv6之地址冲突的那段“网事”!相关的知识,希望对你有一定的参考价值。

前段时间在用户那里部署IPv6,群里有好多人反映,一开机就提示IP地址冲突,查看系统日志,发现提示IPv6地址冲突。不应该啊!所有的IP地址都是通过DHCP服务器下发的,怎么会冲突呢?于是决定抓包分析原因,在抓包过程中发现故障不是每次都能复现,所以一直没有抓到什么有价值的包,抓包一事就此告吹了。

好几个人盯着用户反馈上来的图片,不停地对比着,包括IPv6地址、物理网卡的MAC地址……等等,终于有所发现,这些IP地址冲突的用户,相互冲突的两台设备,他们的DUID是相同的。这一发现让所有人感觉,事情的真相已经浮出水面。

DUID是什么?在哪里查看?下面先以一张图看一下DUID:

技术分享图片


那么DUID究竟是什么?

DUID是DHCP 唯一标识符DHCP Unique Identifier),每个服务器或客户端有且只有一个唯一标识符,服务器使用DUID来识别不同的客户端,客户端则使用DUID来识别服务器。

后来查看资料发现:

This characteristic of DHCPv6 DUIDs has caused some interesting challenges given the popularity of cloned and/or virtual OSes. OS clones are likely to have identical DUIDs. One would have to manually change it before bringing the host online in a DHCPv6 environment or the DHCPv6 server will assume that DHCPv6 packets from different hosts with the same DUID are in fact all the same host.

上面最主要的部分我已经用红色标红了,大体意思主要就是说系统克隆会导致主机具有相同的DUID,而具有相同DUID的主机会被认为是同一台主机。

那么针对这种情况该如何处理呢?

其实,微软已经给出了解决方案,在注册表中找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTCPIP6Parameters删除Dhcpv6DUID这个键值,重启系统后电脑会重新计算出一个DUID,这样就不会出现DUID相同的情况了。

后来用户写了一个批处理用于删除Dhcpv6DUID这个键值,文件下发下去执行后,再没有用户反馈IP地址冲突的情况了。至此问题解决!


*********************************************************************************

总结:

1、在故障面前一定要擦亮眼睛,不要放过一丝一毫可能出现问题的点。

2、故障处理的过程就是学习的过程,是经验积累的过程。

*********************************************************************************




以上是关于IPv6之地址冲突的那段“网事”!的主要内容,如果未能解决你的问题,请参考以下文章

Android5.0网络之ipv6

网络知识之IPV6(三)

IPv6 和 IPv4 究竟有哪些区别

网络编程之IP 地址的介绍

IPv6之NDP(2)

19届华为实习生笔试之判断iPv6地址类型