Перейти к содержанию

Про нюансы IPv6

IPv6 -- штука очень полезная. Мы надеемся и верим в её повсеместное внедрение, хоть и темпы роста всё равно не такие внушительные. А в России так и вовсе: 8% на момент 2023 года.

Поэтому при использовании VPN из-за IPv6 иногда начинается необъяснимые вещи: меняется страна, утекают данные провайдера... VPN вроде бы подключён, сайты вроде бы должны идти через туннель, а какой-нибудь IP-чекер внезапно показывает твой обычный провайдерский адрес.

Как правило это не вина провайдера, поставщика VPN (нас), и даже не твоя. Просто IPv4 и IPv6 -- это разные маршруты, и клиент может обрабатывать их по-разному.

Мы, как правило, отключаем IPv6 на новых серверах, чтобы не возникало проблем с подключением и совместимостью. Имей это в виду, когда будешь пробовать заходить на, например, ntc

Что происходит?

У многих сайтов есть два адреса:

  • IPv4, например 203.0.113.10;
  • IPv6, например 2001:db8::10.

Если VPN забирает только IPv4, а IPv6 остаётся как был, часть трафика может пойти напрямую через провайдера. Со стороны выглядит странно: один сайт показывает VPN, другой -- реальный IP, третий вообще не открывается.

VPN включён -- не значит, что IPv6 тоже внутри VPN

Некоторые клиенты и конфигурации нормально работают только с IPv4. Если в системе включён IPv6, он может обойти туннель.

Как это выглядит?

Один IP-чекер показывает VPN, а другой -- нет. Браузер работает на LTE, но с Wi-Fi всё отваливается. Split Tunneling странно себя ведёт, и так далее.

Да, это может быть и не IPv6. Но нам проще исключить IPv6 из списка подозреваемых моментально, чем сидеть и гадать над твоим роутером или провайдером.

Как проверить?

Открой любой из сайтов:

https://test-ipv6.com/

https://browserleaks.com/ip

https://ipleak.net/

Смотри на две вещи:

  • есть ли у тебя IPv6 вообще;
  • не виден ли там твой реальный провайдерский IPv6.

Если IPv4 показывает VPN, а IPv6 -- провайдера, значит IPv6 идёт мимо туннеля.

Почему разные проверки показывают разные страны?

Это нормально. Одни сайты проверяют только IPv4, другие отдельно проверяют IPv6, третьи ещё смотрят DNS и WebRTC.

Плюс геобазы обновляются не сразу. Один сайт может считать IP немецким, другой -- нидерландским, а третий указывать в Зимбабве.

Что можно сделать

Выключить IPv6 в клиенте

Если в VPN-клиенте есть настройка IPv6, попробуй отключить её и переподключиться.

Ищи всё, что связано с IPv6:

  • IPv6;
  • Enable IPv6;
  • VPN IPv6;
  • Route IPv6;
  • IPv6 support.

Рекомендуем поставить режим prefer_ipv4 или даже ipv4_only, если он у тебя есть.

После изменения переподключи туннель. Иногда ещё нужно закрыть и открыть приложение, которое проверяешь.

IPv6 и split tunneling

С раздельным туннелированием всё становится веселее.

Например, ты добавил сайт в правила, но:

  • IPv4 пошёл через VPN;
  • IPv6 пошёл напрямую;
  • приложение выбрало не тот адрес;
  • DNS вернул AAAA-запись, а клиент с ней не справился.

Итог: сайт то открывается, то нет, или видит не тот IP.

Если используешь split tunneling, проверь:

  • есть ли в правилах IPv6-сети;
  • не включён ли IPv6 там, где клиент его не обрабатывает;
  • что показывают browserleaks.com/ip и test-ipv6.com.

Checklist

Если после включения VPN часть сайтов ведёт себя странно:

  1. Открой https://test-ipv6.com/.
  2. Проверь https://browserleaks.com/ip.
  3. Посмотри, не виден ли реальный IPv6.
  4. Выключи IPv6 в VPN-клиенте, если такая настройка есть.
  5. Переподключи VPN.
  6. Если ничего не изменилось, временно отключи IPv6 в системе и проверь снова.