EL-Script

General IT knowledge base

WireGuard не работает через мобильный интернет: причины и решение

WireGuard мобильный интернет не работает, хотя по Wi-Fi всё в порядке? Узнайте причины, связанные с блокировкой UDP, CGNAT, настройками APN, и получите…

Коротко: WireGuard мобильный интернет: Основная проблема WireGuard через мобильный интернет — ограничения оператора: блокировка UDP-портов, CGNAT или только IPv6-сеть. Проверьте APN (тип default,supl), смените порт WireGuard на 443 или 53, включите PersistentKeepalive, уменьшите MTU до 1360 и убедитесь, что приложению разрешён доступ в фоне.

WireGuard мобильный интернет не работает — знакомая ситуация, когда стабильность по Wi-Fi сменяется отказом в 4G/5G. Причина кроется в особенностях мобильной сети: от запрета протоколов до двойного NAT. Разберём, как диагностировать и устранить неполадку.

Основные причины

Причина Что это значит
Оператор блокирует UDP-трафик Большинство тарифов мобильной связи разрешают только TCP-порты 80 и 443, а WireGuard использует UDP, который часто блокируется для предотвращения DDoS и экономии ресурсов.
Наличие CGNAT Carrier-Grade NAT назначает клиентам приватные IP-адреса (100.64.0.0/10), что мешает прямому установлению туннеля без дополнительной настройки сохранения сессии.
Неверные параметры APN Если в точке доступа не указан тип «default,supl» или установлен только «dun», мобильный интернет может ограничивать VPN-протоколы.
Сеть поддерживает только IPv6 Современные операторы переводят абонентов на IPv6-only с NAT64. Если ваш WireGuard-сервер имеет только IPv4, соединение не устанавливается.
Проблемы с MTU Размер пакетов WireGuard может превышать допустимый MTU мобильного интерфейса, вызывая фрагментацию и потерю. Особенно актуально при использовании обёрток.
Режим экономии трафика Встроенные в прошивку функции сжатия данных или «экономии трафика» могут модифицировать пакеты и разрывать UDP-сессии.
Ограничения тарифа Некоторые операторы по умолчанию запрещают работу VPN-протоколов на отдельных пакетных предложениях, особенно на тарифах для планшетов или IoT.
Конфликт приложений Файрволы, антивирусы или другие VPN-клиенты на устройстве могут перехватывать сетевой трафик и мешать WireGuard.

Что проверить сначала

  • Откройте настройки точки доступа (APN) и проверьте, что поле «Тип APN» содержит «default,supl».
  • Убедитесь, что для приложения WireGuard разрешена передача данных в фоновом режиме и без ограничений (Настройки → Приложения → WireGuard → Мобильный трафик/Фон).
  • Определите, не находитесь ли вы за CGNAT: откройте браузер на сайте ifconfig.me — если IP из диапазона 100.64.0.0–100.127.255.255 или 10.0.0.0/8, это CGNAT.
  • Проверьте, открыт ли UDP-порт сервера: с ПК или другого устройства выполните в командной строке nmap -sU -p или используйте онлайн-сервис проверки UDP.
  • Временно переключите ListenPort в конфигурации сервера на 443, обновите Endpoint в клиенте и протестируйте.
  • Отключите функции экономии трафика для WireGuard в Настройках → Подключения → Экономия трафика/Адаптивный Wi-Fi и мобильные сети.
  • Проверьте значение MTU: на Windows в cmd выполните ping -f -l 1472 (если фрагментация нужна, уменьшайте значение). На мобильных ОС ориентируйтесь на стандартный MTU сотовой сети (обычно 1500, но можно выставить 1360).
  • Попробуйте отключить IPv6 в параметрах APN, выбрав «Протокол APN: только IPv4».
  • Просмотрите лог клиента WireGuard (в Android: приложение → настройки → Диагностика). Найдите ошибки handshake failed или No such host.
  • Протестируйте с SIM-картой другого оператора, чтобы исключить проблему на стороне вашего провайдера.

Пошаговое решение

  1. Настройте APN: перейдите в Настройки → Сотовая связь → Сотовая передача данных → Точка доступа; создайте новую APN, заполните APN (берётся у оператора), Тип APN: «default,supl»; протокол APN: IPv4/IPv6; сохраните и выберите её.
  2. В настройках приложений найдите WireGuard, нажмите «Мобильный трафик» или «Передача данных», включите «Фоновую активность» и «Неограниченный трафик».
  3. На сервере WireGuard измените ListenPort на 443: отредактируйте конфигурацию сервера (обычно /etc/wireguard/wg0.conf), измените строку ListenPort = 51820 на ListenPort = 443, перезапустите WireGuard командой wg-quick down wg0 && wg-quick up wg0. Затем в клиентском конфиге замените прежний порт в Endpoint на 443.
  4. Если обнаружен CGNAT, добавьте в клиентский конфиг в секцию [Peer] параметр PersistentKeepalive = 25, чтобы поддерживать открытое NAT-соединение.
  5. Для обхода IPv6-only сети: при наличии IPv6-адреса на сервере укажите его в Endpoint клиента (например, [2001:db8::1]:51820). Если сервер только с IPv4, арендуйте VPS с двойным стеком или используйте туннели (Cloudflare WARP, туннель IPv6 в IPv4).
  6. Установите MTU = 1360 в клиентском конфиге в секции [Interface], добавив строку MTU = 1360. Это предотвратит фрагментацию в мобильных сетях.
  7. Отключите режим экономии трафика: на большинстве смартфонов сдвиньте шторку, найдите иконку экономии данных, деактивируйте. Также в Настройках → Приложения → WireGuard → Экономия трафика уберите ограничения.
  8. Временно отключите любые сторонние VPN-сервисы и файрволы (например, R2S, NetGuard), чтобы исключить конфликты.
  9. Выполните проверку блокировки UDP на сервере: на клиенте установите приложение Termux, далее выполните команду nc -u и попробуйте отправить тестовый пакет. Отсутствие ответа говорит о блокировке.
  10. Обновите конфигурацию клиента, добавив параметр в [Interface] DNS = 1.1.1.1, чтобы избежать утечек DNS, которые могут блокироваться на уровне оператора.
  11. Перезагрузите туннель и проверьте трафик: после каждого изменения отключайте и включайте WireGuard, проверяйте доступность сайта (например, ping ya.ru) и фактическую смену IP.
  12. Если ничего не помогает, рассмотрите использование протокола с обфускацией (Shadowsocks + WireGuard) или смену порта на 53 (DNS) – иногда он не фильтруется.
AI-инструмент

Проверить проблему WireGuard

Введите ошибку, симптом или часть конфигурации: handshake, AllowedIPs, DNS, MTU, Endpoint.

FAQ

Почему WireGuard работает через Wi-Fi, но не через мобильный интернет?

Разница в сетевой архитектуре: домашний провайдер обычно не блокирует UDP и выдает реальный IP, тогда как мобильный оператор часто применяет CGNAT, блокирует порты и может использовать IPv6-only.

Как узнать, блокирует ли мой оператор UDP-порт WireGuard?

Используйте утилиты проверки UDP (nmap, netcat) с другого устройства через того же оператора. Также можно временно сменить порт сервера на 443 и посмотреть, появится ли связь.

Что такое CGNAT и обязательно ли от него избавляться?

CGNAT (Carrier-Grade NAT) — это технология, когда оператор выдает клиентам общий публичный IP, скрывая за ним множество абонентов. Это нарушает прямое соединение WireGuard, но решается включением PersistentKeepalive и использованием сервера с публичным IP.

Помогает ли смена MTU, если ничего не работает?

Даже при стабильном соединении неверный MTU приводит к обрывам и потере пакетов. Уменьшение до 1280–1360 часто восстанавливает передачу данных в мобильных сетях.

Мой оператор перевёл всех на IPv6. Что делать с WireGuard?

Проверьте, есть ли у вашего VPS IPv6-адрес. Если да, укажите его в Endpoint конфигурации клиента. Если нет — арендуйте сервер с двойным стеком или используйте IPv6-туннель (например, от Hurricane Electric).

После всех настроек скорость через мобильный интернет проседает, это нормально?

Снижение скорости обычно вызвано дополнительными накладными расходами туннеля и шифрования. Попробуйте установить оптимальный MTU, отключить сжатие и выбрать порт 443, который не подвержен DPI-шэйпингу.

Итог

Проблемы с WireGuard через мобильный интернет почти всегда преодолимы путём корректировки настроек APN, портов и MTU. Систематическая диагностика по шагам позволит найти узкое место. Если после всех мер соединение нестабильно, стоит протестировать другого оператора или гибридное решение с обфускацией трафика.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *