
Какой фильтр Wireshark мне следует использовать для отслеживания объявлений IPv6 DNS-сервера в сети? Я не вижу трафика DHCPv6 в своей сети, поэтому предполагаю, что конфигурация клиентов происходит через объявления маршрутизатора.
Однако когда я использую следующий фильтр ( (icmpv6.type == 134 ) || dhcpv6
) для просмотра всех объявлений маршрутизатора и сообщений DHCPv6 в Wireshark, я вижу, что мой предпочитаемый 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
Мой маршрутизатор также отправляет Router Advertisments, но в этих сообщениях нет никакого RDNSS-контента. Есть некоторые сообщения DHCPv6, но это всего лишь запросы, отправленные клиентами.
Я вижу, что клиенты настроены на другой DNS-сервер (адрес моего маршрутизатора) в дополнение к моему предпочитаемому DNS-серверу, и я чешу голову, откуда они берут эту настройку.
Где еще я могу искать рекламу DNSv6?
Обновлять: Как отметил @vidarloниже, то, что я видел, — это параметры RDNSS в объявлениях маршрутизатора ICMPv6, а не DHCPv6. Мне удалось отследить настройку на моем маршрутизаторе, которая отключает RDNSS, которая находится в интерфейсе с меткой DHCP. Я отключил это, а затем проверил с помощью Wireshark, чтобы отслеживать их. Фильтр Wireshark для пакетов, которые включают параметр RDNSS, icmpv6.opt.rdnss
и я вижу, что мой маршрутизатор больше не отправляет пакеты с этим набором.
Однако мои клиенты Windows и macOS все еще время от времени решают использовать маршрутизатор для разрешения DNS IPv6 и игнорировать параметры RDNSS, отправленные моим PiHole. Это продолжает происходить несколько недель после отключения настройки RDNSS в маршрутизаторе и отсутствия пакетов с этой настройкой, несмотря на то, что PiHole отправляет свой собственный адрес в качестве параметра RDNSS, множество перезагрузок всего и подтверждение того, что ручные настройки отсутствуют.
Обновление 2: После переключения IPv6 на моем Mac я увидел из фильтра Wireshark, icmpv6.opt.rdnss || dhcpv6
что и мой маршрутизатор, и мой сервер PiHole отвечают на запросы DHCPv6 своими собственными IP-адресами в качестве DNS-сервера, поэтому мои клиенты используют тот пакет, который они получат первым — классическая ситуация гонки DHCP. Это объясняет проблему. Позор вам, TP-Link, за то, что вы не сделали возможность отключения DHCPv6 на всех своих маршрутизаторах!
решение1
Обычно это часть сообщений RA:
Его должен отправлять хост, отправляющий сообщения Router Announcement, и вам, вероятно, следует настроить механизм, используемый для отправки RA, с соответствующим DNS-сервером.
Если такое сообщение не настроено, ваши хосты, вероятно, либо имеют статически определенные DNS-серверы IPv6, либо не используют DNS на IPv6.
решение2
Используйте Wireshark для поиска объявлений маршрутизатора DHCPv6 и ICMPv6, используя следующий фильтр:
icmpv6.opt.rdnss || dhcpv6.option.type == 23
Затем вы можете просмотреть сведения обо всех пакетах, которые могут использоваться клиентами IPv6, чтобы указать, какие DNS-серверы следует использовать.
Обратите внимание, что вы можете увидеть пакеты DHCPv6 такого рода только в ответ на запрос DHCPv6 о настройках, поэтому переключите IPv6 на клиенте, чтобы активировать это.