Если я приеду в гостиhttps://ipv6-test.com/на сайте мне сообщается, что подключение IPv6 не поддерживается.
Как можно диагностировать, какие компоненты не поддерживают IPv6?
Насколько я понимаю, цепочка выглядит примерно так:
+---------+ +----+ +--------+ +-----+ +------+
| Browser | --> | OS | --> | Router | --> | ISP | --> | Site |
+---------+ +----+ +--------+ +-----+ +------+
Если какой-либо из этих элементов не поддерживает IPv6, то поддержка IPv6 будет недоступна. Но как узнать, какой из них вызывает сбой?
(кстати, я использую Firefox на Windows 10, но ищу общее решение, которое можно было бы применить и к другим браузерам и другим версиям Windows, а может быть, даже к другим ОС, если это применимо.)
решение1
Начните с середины: есть ли у вашего компьютера адрес IPv6, который он мог бы использовать?
Предполагается, что в настоящее время браузер и ОС поддерживают IPv6, если только они не удалены, но каждому интернет-провайдеру необходимо индивидуально развернуть IPv6 в своей сети.
Итак, сначала посмотрите ipconfig /all
или ip addr
проверьте, есть ли у васГлобальныйIPv6-адрес и шлюз IPv6. В настоящее время глобальные адреса начинаются с 2xxx:
, тогда как fxxx
существуют несколько различных типов локальных адресов.
Если у вас есть адрес IPv6, проверьте, можете ли вы ping
подключать серверы как по их доменному имени, так и по их адресу IPv6. (Веб-сайт Sprint находится по адресу , 2600::
что является удобным тестовым адресом.) Если можете, то IPv6 может быть отключен в вашем браузере; если нет, то IPv6 может быть сломан в вашем маршрутизаторе или заблокирован одним из тех приложений VPN, которые считают поддержку IPv6 «утечкой».
Если вы можете пинговать сайты по адресу, но не по имени, убедитесь, что ваш DNS-сервер не фильтрует записи AAAA, как это обычно делается программным обеспечением, таким как PiHole или некоторыми VPN. Неважно, поддерживает ли фактический DNS-сервер только IPv4, это не влияет на его способность выдавать записи AAAA, например nslookup -q=aaaa google.com 8.8.8.8
.)
Если вынеесть адрес IPv6, проверьте, есть ли он у вашего маршрутизатора (как на интерфейсах WAN, так и LAN). Ему нужно получить глобальный адрес WAN для себя (эта часть может различаться у разных провайдеров), затем глобальный префикс для вашей локальной сети (используя DHCPv6-PD). У него может не быть адреса просто потому, что ваш провайдер еще не развернул IPv6 (либо в вашем регионе, либо вообще).
решение2
По моему опыту, чаще всего это провайдер должен сначала включить IPv6 для вас, а затем вы настраиваете его на своем маршрутизаторе. Ваши устройства подхватят его тогда, если только кто-то не отключил функции, связанные с IPv6, самостоятельно.
Запросите у своего интернет-провайдера данные IPv6. Они включат его по мере необходимости и отправят вам следующие важные данные:
• WAN IP с маской,
• Префикс LAN, также с маской, иногда называемый длиной префикса. Помните, что хотя префикс заканчивается на ::
, после него нужно добавить ненулевое число, которое сделает его допустимым IP, например, 1
если маршрутизатор принимает поле типа LAN IPv6 address.
Затем вы настраиваете их на своем маршрутизаторе. Убедитесь, что radvd включен.
Если вы хотите работать с клиентами только IPv6, вам придется добавить пользовательские поля в ответ radvd, создав свой собственный файл radvd.conf. Самым важным из них является RDNSS. Чтобы обеспечить поддержку для клиентов Windows 7 с ошибками, настроенных на использование только IPv6, добавьте адрес fec0:0:0:ffff::1
в интерфейс локальной сети маршрутизатора, например br0. Это связано с тем, что Windows 7 игнорирует DNS, указанный в пакете объявления маршрута, и использует вместо него этот.
Другое поле, которое вы можете рассмотреть, это DNSSL. Оно определяет ваш суффикс домена и часто выглядит как lan
, local
или home
. Наличие этого улучшит разрешение имен локальной сети в Windows, которое часто становится глючным из-за отсутствия этой части конфигурации. Того же самого в IPv4 можно добиться, добавив domain=lan
(настройте словолан) в dnsmasq.conf.