- Вопрос или проблема
- Настройки в моем маршрутизаторе
- Мой ПК
- Хорошо, теперь давайте посмотрим на саму проблему.
- Некоторая дополнительная информация
- Ответ или решение
- Проблема с пингом сайтов по IPv6 в Ubuntu 24.04 LTS
- Введение
- Факторы конфигурации сети
- Возможные причины проблемы
- Рекомендации по устранению неполадок
- Заключение
Вопрос или проблема
Я на новой установке Ubuntu 24.04 LTS и сталкиваюсь с странной проблемой с IPv6. Иногда я не могу пинговать веб-сайты IPv6, такие как ipv6.google.com
или даже google.com
с использованием их IPv6 адреса. Эта проблема вызывает бесконечную загрузку веб-сайтов в браузерах.
Самая странная часть заключается в том, что мой ПК загружен с Windows 11, и в Windows пинг работает прекрасно. Кроме того, другие дистрибутивы Linux (не основанные на Debian), такие как Manjaro, тоже работают нормально (тестировалось с использованием live USB).
Вот некоторая информация, которая может помочь выявить проблему.
Настройки в моем маршрутизаторе
Подключение к моему интернет-провайдеру (WAN) осуществляется через PPPoE с использованием IPv4. Они не поддерживают установление PPPoE через IPv6.
- Получение IPv6 от интернет-провайдера с использованием SLAAC;
- Использование делегации префикса (/64);
- DNS-адрес в данный момент предоставляется интернет-провайдером.
С этой конфигурацией я успешно получаю публичный IPv6 адрес от интернет-провайдера.
Конфигурация LAN для предоставления IPv6 – SLAAC + Stateless DHCP.
Если я пингую ipv6.google.com
непосредственно с интерфейса маршрутизатора:
PING ipv6.google.com (2800:3f0:4002:810::200e): 64 байта данных
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=1 time=39.723 ms
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=2 time=39.825 ms
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=3 time=44.562 ms
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=4 time=39.262 ms
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=5 time=40.207 ms
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=6 time=40.878 ms
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=7 time=39.551 ms
Ответ от 2800:3f0:4002:810::200e: bytes=64 ttl=58 seq=8 time=39.319 ms
--- Статистика пинга "ipv6.google.com" ---
Пакеты: Отправлено=8, Получено=8, Потеряно=0 (0.00% потерь)
Минимальное/среднее/максимальное время в пути = 39.262/40.416/44.562 ms
пинг остановлен.
Как видите, все работало отлично!
Мой ПК
Теперь, вот конфигурация, в которой я думаю, что проблема. Я использую Ubuntu 24.04 LTS
с NextDNS, настроенным в /etc/systemd/resolved.conf
.
Вывод ip addr
следующий:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 5e:17:72:7a:97:05 brd ff:ff:ff:ff:ff:ff permaddr 70:85:c2:24:6a:87
inet 192.168.10.61/24 brd 192.168.10.255 scope global dynamic noprefixroute enp0s31f6
valid_lft 84955sec preferred_lft 84955sec
inet6 2804:7f0:a210:e963:9466:90d6:6d6e:7294/64 scope global dynamic noprefixroute
valid_lft 295sec preferred_lft 295sec
inet6 fe80::9fd2:1acf:9bcc:c800/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlp114s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 6c:f6:da:66:12:a5 brd ff:ff:ff:ff:ff:ff
Хорошо, теперь давайте посмотрим на саму проблему.
johndoe@ubuntu:~$ ping ipv6.google.com
PING ipv6.google.com (2800:3f0:4002:810::200e) 56 байтов данных
^C
--- статистика пинга ipv6.google.com ---
49 пакетов передано, 0 получено, 100% потерь пакетов, время 49134ms
Все пакеты потеряны. Теперь давайте посмотрим с IPv4:
johndoe@ubuntu:~$ ping -4 google.com
PING google.com (142.251.133.238) 56(84) байт данных.
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=1 ttl=116 время=39.1 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=2 ttl=116 время=41.2 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=3 ttl=116 время=44.8 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=4 ttl=116 время=42.1 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=5 ttl=116 время=42.2 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=6 ttl=116 время=42.9 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=7 ttl=116 время=39.0 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=8 ttl=116 время=43.0 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=9 ttl=116 время=40.1 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=10 ttl=116 время=41.5 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=11 ttl=116 время=38.4 ms
64 байта от eze10s08-in-f14.1e100.net (142.251.133.238): icmp_seq=12 ttl=116 время=41.4 ms
^C
--- статистика пинга google.com ---
12 пакетов передано, 12 получено, 0% потерь пакетов, время 11014ms
rtt мин/сред/макс/среднекв. = 38.373/41.303/44.832/1.811 ms
IPv4 работал отлично.
Мы также можем проверить traceroute
для ipv6.google.com
:
johndoe@ubuntu:~$ traceroute ipv6.google.com
traceroute к ipv6.google.com (2800:3f0:4002:810::200e), 30 прыжков максимум, 80 байтов пакеты
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
Некоторая дополнительная информация
Моя конфигурация DNS
john@dow:~$ resolvectl
Global
Протоколы: -LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported
resolv.conf режим: uplink
Текущий DNS-сервер: 2a07:a8c1::#78da41.dns.nextdns.io
DNS-серверы: 45.90.28.0#78da41.dns.nextdns.io 2a07:a8c0::#78da41.dns.nextdns.io 45.90.30.0#78da41.dns.nextdns.io
2a07:a8c1::#78da41.dns.nextdns.io
Ссылка 2 (enp0s31f6)
Текущие области: нет
Протоколы: -DefaultRoute -LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported
Ссылка 3 (wlp114s0f0)
Текущие области: нет
Протоколы: -DefaultRoute -LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported
Пингование IPv6 с использованием Windows
PowerShell 7.4.6
PS C:\Users\johndoe> ping ipv6.google.com
Пингую ipv6.l.google.com [2800:3f0:4001:806::200e] с 32 байтами данных:
Ответ от 2800:3f0:4001:806::200e: время=13ms
Ответ от 2800:3f0:4001:806::200e: время=9ms
Ответ от 2800:3f0:4001:806::200e: время=10ms
Ответ от 2800:3f0:4001:806::200e: время=8ms
Статистика пинга для 2800:3f0:4001:806::200e:
Пакеты: Отправлено = 4, Получено = 4, Потеряно = 0 (0% потерь),
Приблизительное время в пути в миллисекундах:
Минимальное = 8ms, Максимальное = 13ms, Среднее = 10ms
PS C:\Users\johndoe>
Трассировка с использованием Windows
PS C:\Users\johndoe> tracert ipv6.google.com
Трассировка маршрута к ipv6.l.google.com [2800:3f0:4001:806::200e]
по максимуму 30 прыжкам:
1 <1 ms <1 ms <1 ms 2804:7f0:a212:ca48:c5c0:e6e1:39d6:5048
2 * * * Время ожидания запроса истекло.
3 7 ms 6 ms 6 ms 2001:12e0:500:0:1::289d
4 4 ms 4 ms 12 ms 2001:12e0:100:2008:a002:2009:a005:2
5 9 ms 4 ms 6 ms 2001:12e0:100:2008:a002:1030:a002:3
6 * * 10 ms 2001:12e0:100:1017:a001:1030:a002:36
7 9 ms * * 2001:4860:1:1::d84
8 12 ms 11 ms 12 ms 2800:3f0:8362:c0::1
9 7 ms 5 ms 5 ms 2001:4860:0:1::24f6
10 10 ms 12 ms 5 ms 2001:4860:0:1::7cac
11 11 ms 15 ms 8 ms 2001:4860:0:1::7cc7
12 5 ms 5 ms 12 ms 2001:4860:0:1::8ff9
13 11 ms 10 ms 12 ms 2800:3f0:4001:806::200e
Трассировка завершена.
Ответ или решение
Проблема с пингом сайтов по IPv6 в Ubuntu 24.04 LTS
Введение
Проблема, с которой вы сталкиваетесь при использовании IPv6 на Ubuntu 24.04 LTS, является довольно распространенной и может быть связана с несколькими факторами, включая настройки роутера, конфигурацию сети на уровне операционной системы и взаимодействие с DNS. Ваша спецификация системы и шаги для диагностики проблемы дают возможность производить целенаправленный анализ.
Факторы конфигурации сети
-
Настройки роутера: У вас установлена связь с провайдером через PPPoE с использованием IPv4, при этом вы получаете адресацию IPv6 через SLAAC. Убедитесь, что ваш роутер корректно сконфигурирован для раздачи IPv6 адресов по сети. Учитывая, что пинг с интерфейса роутера работает без проблем, стоит проверить, не блокируются ли определенные протоколы на стороне вашей операционной системы.
-
Конфигурация Ubuntu: Ваш вывод из
ip addr
показывает, что вы получаете корректный глобальный IPv6 адрес. Однако отсутствие ответов наping
иtraceroute
указывает на возможную проблему с маршрутизацией или настройками сетевых интерфейсов.
Возможные причины проблемы
-
Проблемы с DNS: Попробуйте использовать другие DNS-сервера (например, Google DNS:
2001:4860:4860::8888
и2001:4860:4860::8844
). Ваша текущая конфигурация DNS через NextDNS может приводить к временным сбоям или задержкам в разрешении имен. -
Настройки брандмауэра: Убедитесь, что брандмауэр на вашей Ubuntu не блокирует исходящие IPv6 соединения. Для этого можно временно отключить
ufw
(если он используется) и проверить, работает ли пинг.sudo ufw disable # Затем проверьте пинг ping -6 ipv6.google.com
-
Настройки Atheros Protocol: Ваша Ubuntu может использовать различные протоколы (например,
IPv4
в качестве предпочитаемого). Попробуйте изменить порядок протоколов или отключитьIPv4
для тестирования. -
Сетевые интерфейсы: Убедитесь, что у вас активен нужный интерфейс. В вашем выводе мы видим, что один из интерфейсов (
wlp114s0f0
) находится в состоянии "DOWN". Попробуйте его активировать, если он должен использоваться.sudo ip link set wlp114s0f0 up
Рекомендации по устранению неполадок
-
Проверка доступности других IPv6 адресов: Попробуйте выполнить
ping
иtraceroute
к другим известным IPv6 адресам, например,2001:4860:4860::8888
(Google DNS) или2001:db8::1
(тестовый адрес). -
Логирование и отладка: Проверьте системные журналы на предмет обнаруженных ошибок, используя команду:
journalctl -xe | grep -i network
-
Тестовые подключения: Используйте
telnet
для проверки подключения к нужным портам, например:telnet ipv6.google.com 80
Заключение
Если ни один из вышеуказанных методов не решает проблему, рекомендуется рассмотреть возможность получения поддержки от сообщества Ubuntu или вашего интернет-провайдера. Также может быть полезным временное использование Live USB с другой версией Linux для изоляции проблем, связанных с конфигурацией вашей текущей системы. Проблема может быть связана с конкретной версией программного обеспечения или настройками, которые могут быть устранены или переопределены.
Успехов в решении проблемы!