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