前段時間在用戶那裏部署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_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters刪除Dhcpv6DUID這個鍵值,重啓系統後電腦會重新計算出一個DUID,這樣就不會出現DUID相同的情況了。
後來用戶寫了一個批處理用於刪除Dhcpv6DUID這個鍵值,文件下發下去執行後,再沒有用戶反饋IP地址衝突的情況了。至此問題解決!
*********************************************************************************
總結:
1、在故障面前一定要擦亮眼睛,不要放過一絲一毫可能出現問題的點。
2、故障處理的過程就是學習的過程,是經驗積累的過程。
*********************************************************************************