Вопросы и ответы - Евробайт

СТРАННОСТИ В РАБОТЕ INSTAGRAM И WHATSAPP

В последнее время все чаще встречаются жалобы на сбои в работе некоторых приложений при использовании VPN или прокси. Например, могут не приходить сообщения в WhatsApp или не загружаться сторис в Instagram. Эти проблемы иногда исчезают сами собой через 10-15 минут после подключения, но снова возникают при повторном подключении или открытии приложения. Также часто отмечается, что некоторые заблокированные сервисы и сайты остаются недоступными даже через VPN или прокси. 

Современный интернет функционирует на основе протокола связи под названием Internet Protocol (IP). Существуют две его версии: IPv4, разработанная в 70-х годах, и более современная IPv6. Главное различие между ними — длина адреса и максимальное количество возможных IP-адресов. IPv6 был создан в ответ на растущее количество подключенных к интернету устройств, так как адресов IPv4 стало не хватать. 

Когда VPN-клиент или прокси-клиент в режиме TUN активирует свой виртуальный интерфейс, он добавляет маршруты через него с более высоким приоритетом, чтобы весь трафик шел через VPN или прокси. Важная деталь заключается в том, что маршруты для IPv4 и IPv6 настраиваются отдельно. Это приводит к множеству возможных комбинаций при использовании VPN или прокси. На клиентском устройстве может быть или не быть IPv6 от оператора связи. На VPN- или прокси-сервере может быть или не быть IPv6. Включение или отключение IPv6 может зависеть от настроек прокси/VPN-клиента. Например, устройство может получить IPv6-адрес от роутера, но реальная IPv6-связь с интернетом может отсутствовать.

Для решения проблемы рекомендуем три варианта:

1. Выключить в VPN-клиенте или прокси-клиенте IPv6:
Пример: Настройки -> Туннель -> IP Settings -> IPv4 

Также необходимо выключить IPv6 и на вашем сервере:

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

 

2. Прописать на вашем сервере IPv6.

 

3. Снижение  приоритета для IPv6 при разрешении адресов DNS в Linux.
Необходимо отредактировать файл /etc/gai.conf. По-умолчанию там уже есть следующая закомментированная секция:

# label   <mask>   <value>
#    Add another rule to the RFC 3484 label table.  See section 2.1 in
#    RFC 3484.  The default is:
#
#label ::1/128       0
#label ::/0          1
#label 2002::/16     2
#label ::/96         3
#label ::ffff:0:0/96 4
#label fec0::/10     5
#label fc00::/7      6
#label 2001:0::/32   7

Раскомментируйте её, и добавьте в список (к примеру со значением «2», т.е. равным со 6to4-адресами приоритетом) ту IPv6-сеть вашего туннельного брокера, адрес из которой выдан вам и сконфигурирован у вас на туннельном интерфейсе. В случае с Hurricane Electric это 2001:470::/32. В результате секция будет выглядеть следующим образом:

label ::1/128        0
label ::/0           1
label 2002::/16      2
label 2001:470::/32  2
label ::/96          3
label ::ffff:0:0/96  4
label fec0::/10      5
label fc00::/7       6
label 2001:0::/32    7

Этого должно быть достаточно, чтобы IPv6 использовался только при подключении к IPv6-only сервисам, либо при явном указании требования использовать IPv6 в соответствующей программе («ssh -6», «curl -6» и т.д). В остальных случаях автоматически будет предпочитаться IPv4.

Если же вы хотите «прицельно» снизить предпочитаемость только IPv6-адресов определённых сайтов и сервисов, это можно сделать абсолютно идентичным способом, просто вместо префикса используемого вами туннеля необходимо прописать префикс используемый серверами, к которым вы подключаетесь (но не хотите более подключаться по v6). К примеру европейским Google используется префикс 2a00:1450::/32, а «глобальным» – 2001:4860::/32. В таблицу можно добавить оба, с одинаковым значением «2».

label ::1/128        0
label ::/0           1
label 2002::/16      2
label 2a00:1450::/32 2
label 2001:4860::/32 2
label ::/96          3
label ::ffff:0:0/96  4
label fec0::/10      5
label fc00::/7       6
label 2001:0::/32    7

/etc/gai.conf определяет поведение системных функций получения IP-адресов по DNS-имени (getaddrinfo из GNU libc), соответственно изменение в этом файле повлияет на поведение подавляющего большинства программ. Однако для вступления его в силу, все эти программы необходимо будет перезапустить.

02.07.2024   16:32
Сотрудник Оксана Покорнюк
 нет комментариев
Для ответа нужно зарегистрироваться или авторизоваться.