Отладка IPv6: исправление распространённых проблем подключения
Диагностируйте и исправьте проблемы IPv6-связности с этим пошаговым руководством. От «нет адреса» до «работает, но медленно» — решите реальные проблемы.
Когда IPv6 ломается, симптомы варьируются: адрес не назначен, связность с некоторыми сайтами, но не с другими, или всё работает, но кажется вялым. Это руководство проходит через систематическую диагностику, от быстрейших проверок до глубокого анализа сети.
TL;DR - Краткое резюме
Ключевые моменты:
- Начните с трёх вопросов: Есть ли у вас адрес? Можете ли достичь по IP? Можете ли достичь локально?
- Проверьте Router Advertisements, если у вас нет глобального адреса (только link-local)
- ICMPv6 не должен быть заблокирован — он критичен для работы IPv6
- Используйте traceroute6, чтобы найти, где останавливаются пакеты
Перейти к: Локальная конфигурация | Распространённые проблемы | Когда звонить провайдеру
Начните с трёх вопросов#
Перед запуском команд сузьте проблему:
- У вас есть IPv6-адрес? Если нет, проблема на уровне назначения (DHCP, SLAAC или router advertisements).
- Можете достичь IPv6-сайтов по адресу, но не по имени? DNS — виновник.
- Можете достичь link-local адресов, но ничего дальше? Проблемы маршрутизации или файрвола.
Эти три вопроса исключают 80% путей отладки.
Проверьте вашу локальную конфигурацию#
Начните с проверки, что ваше устройство имеет IPv6-адрес и знает свой шлюз.
Linux:
ip -6 addr show
ip -6 route showmacOS:
ifconfig
netstat -nr -f inet6Windows:
ipconfig
netsh interface ipv6 show routeИщите глобальный unicast-адрес (начинается с 2 или 3). Вы также должны увидеть link-local адрес (начинается с fe80::). Если у вас только link-local, ваш хост не получает правильный IPv6-префикс.
Проверьте Router Advertisements#
Большинство IPv6-сетей используют SLAAC (Stateless Address Autoconfiguration), где маршрутизаторы транслируют своё присутствие и сетевой префикс. Если у вашего устройства нет глобального адреса, router advertisements могут не доходить до вас.
Проверка приёма RA (Linux):
sudo rdisc6 eth0Проверка приёма RA (macOS/Windows): Используйте Wireshark или tcpdump для захвата ICMPv6 type 134 (Router Advertisement) пакетов:
sudo tcpdump -i en0 'icmp6 and ip6[40] == 134'Если вы не видите RA через 30 секунд, либо ваш маршрутизатор не анонсирует, либо что-то их фильтрует. Сначала проверьте настройки IPv6 вашего маршрутизатора.
Тест Link-Local связности#
Link-local адреса работают без какой-либо конфигурации маршрутизатора. Если они отказывают, у вас проблема уровня 2.
Найдите link-local адрес вашего шлюза:
# Linux
ip -6 route show default
# macOS/Windows
Используйте шлюз, показанный в таблице маршрутизацииПропингуйте его с указанным интерфейсом:
# Linux
ping6 -c 4 fe80::1%eth0
# macOS
ping6 -c 4 fe80::1%en0
# Windows
ping -6 fe80::1%12Замените fe80::1 на ваш фактический адрес шлюза и eth0/en0/12 на имя/номер вашего интерфейса. Если это отказывает, проверьте кабели, коммутаторы и WiFi-связность.
Тест интернет-связности#
Используйте проверенные IPv6-адреса для полного обхода DNS.
# Cloudflare DNS
ping6 2606:4700:4700::1111
# Google DNS
ping6 2001:4860:4860::8888
# ping6.net
ping6 2a07:8dc0:18:0:78:47ff:fe6e:da5aЕсли они работают, ваш IPv6-стек функционален, и DNS — проблема (пропустите вперёд). Если они отказывают, протестируйте, является ли проблема локальной или upstream.
Проверьте разрешение DNS#
Многие отчёты «IPv6 не работает» на самом деле являются проблемами DNS. Ваше устройство может иметь связность, но не может разрешать AAAA-записи.
Тест поиска AAAA-записи:
# Использовать системный резолвер
nslookup -type=AAAA google.com
# Использовать специфичный DNS-сервер
dig @2001:4860:4860::8888 AAAA google.com
# Windows
nslookup -type=AAAA google.com 2001:4860:4860::8888Если AAAA-запросы отказывают, но A-запросы (IPv4) успешны, ваш DNS-сервер может не иметь IPv6-связности или не настроен для обработки AAAA-записей. Попробуйте переключиться на Cloudflare (2606:4700:4700::1111) или Google (2001:4860:4860::8888) DNS-серверы.
Проверка, что DNS-сервер достижим через IPv6:
ping6 2606:4700:4700::1111Если недостижим, либо настройте IPv6-способный DNS-сервер, либо ваша сеть блокирует исходящие соединения к нему.
Анализ пути#
Когда вы можете пропинговать некоторые назначения, но не другие, используйте traceroute для нахождения, где пакеты останавливаются.
# Linux/macOS
traceroute6 google.com
# Windows
tracert -6 google.comИщите:
- Таймауты на хопе 1-2: Проблема локальной сети (шлюз, файрвол)
- Таймауты после нескольких хопов: Проблема маршрутизации провайдера
- Асимметричные маршруты или петли: Неправильная конфигурация BGP (свяжитесь с провайдером)
Вы также можете использовать наш инструмент Traceroute для просмотра задержки по хопам и определения, где пакеты отбрасываются.
Распространённые проблемы и исправления#
IPv6-адрес не назначен#
Симптомы: Показывается только fe80:: link-local адрес.
Причины:
- Маршрутизатор не отправляет RA
- DHCPv6-сервер недостижим
- Интерфейс отключён для IPv6
Исправления:
- Проверьте, что маршрутизатор имеет включённый IPv6 и настроенное делегирование префикса
- Перезапустите сетевой интерфейс:
sudo ifdown eth0 && sudo ifup eth0(Linux) или переключите WiFi выкл/вкл - Форсировать SLAAC:
sudo dhclient -6 -r && sudo dhclient -6(Linux) - В Windows:
netsh interface ipv6 resetи перезагрузка
Только Link-Local (нет маршрута по умолчанию)#
Симптомы: Есть fe80:: адрес, можно пропинговать локальный канал, но нет интернета.
Причины:
- Маршрутизатор отправляет RA без информации о префиксе
- Файрвол блокирует ICMPv6
- Неправильная конфигурация статического маршрута
Исправления:
- Проверьте, что маршрутизатор делегирует префикс /64 (не просто анонсирует себя)
- Убедитесь, что ICMPv6 не заблокирован:
sudo ip6tables -L(Linux) или настройки Windows Firewall - Вручную добавить маршрут по умолчанию (временно):
sudo ip -6 route add default via fe80::1 dev eth0
Есть адрес, но нет связности#
Симптомы: Глобальный IPv6-адрес назначен, таблица маршрутизации выглядит правильно, но ничего недостижимо.
Причины:
- Провайдер блокирует трафик
- Проблемы MTU (отказы фрагментации пакетов)
- Файрвол отбрасывает установленные соединения
Исправления:
- Тест с линией поддержки провайдера (им может понадобиться активировать IPv6)
- Понизить MTU:
sudo ip link set eth0 mtu 1280(минимум IPv6) - Проверить, что правила файрвола разрешают исходящий IPv6
- Проверить, что вы не за CGNAT, который обрезает IPv6
IPv6 медленнее IPv4#
Симптомы: Сайты загружаются, но с заметной задержкой по сравнению с IPv4.
Причины:
- Накладные расходы туннеля (6to4, Teredo, 6rd)
- Неоптимальная маршрутизация (пакеты идут длинным путём)
- Проблемы таймаута Happy Eyeballs
Исправления:
- Если используется туннель, переключитесь на нативный IPv6 от провайдера
- Сравните хопы traceroute:
traceroute google.comvstraceroute6 google.com - Отключите туннели, если доступен нативный:
netsh interface teredo set state disabled(Windows) - Тест с нашим инструментом IPv6 Ping для измерения базовой задержки
Работает для некоторых сайтов, не для других#
Симптомы: Можно достичь Google, Cloudflare, но многие сайты отказывают.
Причины:
- Сайты имеют сломанный IPv6 (неправильно настроенные AAAA-записи)
- Отказы path MTU discovery
- Файрвол блокирует специфичные префиксы
Исправления:
- Тест, действительно ли у сайта есть IPv6:
dig AAAA example.comили используйте наш инструмент поиска DNS - Если AAAA-запись существует, но отказывает, IPv6 сайта сломан (не ваша вина)
- Форсировать IPv4: Добавить запись в
/etc/hosts(Linux/macOS) илиC:\Windows\System32\drivers\etc\hosts(Windows) - Сообщить оператору сайта (они могут не знать, что он сломан)
Когда связываться с вашим провайдером#
Звоните вашему провайдеру, если:
- Маршрутизатор показывает «IPv6 не поддерживается» или «ожидание делегирования префикса»
- Вам назначен префикс, но он немаршрутизируем (тест с внешним ping)
- Traceroute показывает отказы сразу после выхода из вашей сети
- Ни одно из вышеперечисленных исправлений не работает, и ваша конфигурация выглядит правильно
Перед звонком соберите:
- Вывод из
ip addrилиipconfig - Ваш назначенный IPv6-префикс
- Результаты из
ping6 2001:4860:4860::8888 - Вывод traceroute, показывающий, где происходят отказы
Это значительно сокращает время звонка в поддержку.
Связанные статьи#
- Включение IPv6 — Настройте IPv6 на ваших устройствах и маршрутизаторах перед отладкой проблем
- Безопасность IPv6 — Узнайте о распространённых проблемах безопасности, которые могут влиять на связность
Протестируйте вашу конфигурацию IPv6
Используйте наши диагностические инструменты для проверки вашей настройки:
- IPv6 Ping — Тест связности и задержки
- Traceroute — Найдите, где отбрасываются пакеты
- MTR — Комбинированный инструмент ping и traceroute для продвинутой диагностики
- Поиск DNS — Проверьте, что AAAA-записи разрешаются правильно