如何使用 Wireshark 追蹤 IPv6 DNS 伺服器配置?

如何使用 Wireshark 追蹤 IPv6 DNS 伺服器配置?

我應該使用什麼 Wireshark 過濾器來追蹤網路上的 IPv6 DNS 伺服器通告?我在網路上沒有看到任何 DHCPv6 流量,因此我假設客戶端的設定是透過路由器通告進行的。

但是,當我使用以下過濾器 ( (icmpv6.type == 134 ) || dhcpv6) 查看 Wireshark 中的所有路由器通告和 DHCPv6 訊息時,我可以看到我的首選 DNS 伺服器透過路由器通告自行通告。

ICMPv6 Option (Recursive DNS Server DNS:Server:Address)
    Type: Recursive DNS Server (25)
    Length: 3 (24 bytes)
    Reserved
    Lifetime: 118
    Recursive DNS Servers: DNS:Server:Address

我的路由器也會發送路由器廣告,但這些訊息中沒有任何 RDNSS 內容。有一些 DHCPv6 訊息,但它們只是客戶端發送的請求。

除了我首選的 DNS 伺服器之外,我還看到客戶端配置了不同的 DNS 伺服器(我的路由器位址),我對他們從哪裡獲取該設定感到摸不著頭腦。

我還可以在哪裡找 DNSv6 廣告?

更新:正如@vidarlo 所指出的以下,我看到的是 ICMPv6 路由器廣告中的 RDNSS 選項,而不是 DHCPv6。我設法找到了路由器上禁用 RDNSS 的設置,該設置位於標記為 DHCP 的介面內。我已停用此功能,然後使用 Wireshark 檢查以監視它們。用於包含 RDNSS 選項的封包的 Wireshark 過濾器是icmpv6.opt.rdnss,我可以看到我的路由器不再發送帶有此設定的封包。

然而,我的 Windows 和 macOS 用戶端仍然不時決定使用路由器進行 IPv6 DNS 解析,並忽略我的 PiHole 發送的 RDNSS 選項。在禁用路由器中的RDNSS 設定幾週後,這種情況仍然會發生,並且不再有帶有該設定的封包,儘管PiHole 發送自己的位址作為RDNSS 選項,大量重新啟動所有內容並確認沒有手動設定到位。

更新2:在 Mac 上切換 IPv6 後,我從wireshark過濾器中看到icmpv6.opt.rdnss || dhcpv6我的路由器和PiHole 伺服器都使用自己的IP 位址作為DNS 伺服器來回應DHCPv6 請求,因此我的客戶端使用他們首先收到的封包-我經典的DHCP比賽狀況。這就解釋了這個問題。 TP-Link 沒能在所有路由器中停用 DHCPv6,真是太遺憾了!

答案1

這通常是 RA 訊息的一部分: RA訊息

這應該由發送路由器公告訊息的主機發送,並且您可能應該配置用於使用適當的 DNS 伺服器發送 RA 的機制。

如果未設定此類訊息,則您的主機可能具有靜態定義的 IPv6 DNS 伺服器,或未在 IPv6 上使用 DNS。

答案2

使用 Wireshark 使用以下過濾器尋找 DHCPv6 和 ICMPv6 路由器通告:

icmpv6.opt.rdnss || dhcpv6.option.type == 23

然後,您可以查看 IPv6 用戶端可能使用的所有資料包的詳細信息,以設定要使用的 DNS 伺服器。

請注意,您可能只會看到這種性質的 DHCPv6 封包,以回應 DHCPv6 設定請求,因此在用戶端上切換 IPv6 才能觸發此操作。

相關內容