WireGuard: почему пропадает интернет при активном туннеле
Причины потери интернета при активном туннеле WireGuard и способы их устранения: DNS, маршрутизация, NAT, MTU.
Содержание
WireGuard — современный VPN-протокол, но при его активации пользователи часто сталкиваются с тем, что интернет на устройстве полностью пропадает. Вместо ожидаемого защищённого соединения вы получаете ошибки DNS и невозможность открыть сайты. В этой статье разберём, почему так происходит, как быстро найти причину и что изменить в настройках.
Как WireGuard влияет на сеть
WireGuard создаёт виртуальный сетевой интерфейс (например, wg0). При использовании wg-quick автоматически добавляются маршруты и правила фильтрации. Если в конфигурации указан параметр AllowedIPs = 0.0.0.0/0 (и IPv6), то весь трафик должен идти через туннель. Это полностью меняет таблицу маршрутизации: default route переходит на интерфейс туннеля. Если на стороне сервера не настроена пересылка трафика (NAT/маскарадинг), или DNS-серверы недоступны через VPN, интернет «пропадает» — на самом деле он просто не может выйти за пределы туннеля.
Пять частых причин: от DNS до маршрутов
- Неправильный DNS. WireGuard не настраивает DNS автоматически. Если вы используете
wg-quick, он может подхватить DNS из опцийDNS, но многие клиенты это игнорируют. Когда туннель активен, запросы к локальным DNS-серверам провайдера могут блокироваться новой таблицей маршрутизации. Проверьте, доступны ли DNS-серверы через туннель. - Отсутствие NAT на сервере. Даже если пакеты доходят до сервера, без
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEсервер не сможет отправить ответ в интернет. В результате соединение устанавливается, но ответы не приходят. - Конфликт подсетей. Если локальная сеть (например, 192.168.1.0/24) совпадает с подсетью, используемой внутри VPN, маршруты пересекаются. Пакеты для локальных устройств могут уходить в туннель.
- Блокировка исходящих портов. Некоторые файрволы или антивирусы блокируют нестандартные порты WireGuard. При этом соединение может установиться, но трафик будет отброшен.
- MTU и фрагментация. Неправильный MTU (слишком высокий) приводит к фрагментации пакетов, и некоторые серверы их отбрасывают. Обычно это проявляется как медленный интернет, но бывает и полная недоступность.
Пошаговая диагностика: от вероятного к редкому
- Проверьте состояние интерфейса:
sudo wg show. Убедитесь, что есть handshake и передача данных. Если handshake не происходит, проблема в сети или файрволе. - Проверьте маршруты:
ip route(Linux) илиroute print(Windows). Смотрите, куда указывает default route. Если он идёт на wg0, а VPN не работает, значит либо сервер недоступен, либо NAT не настроен. - Проверьте доступность удалённого шлюза:
ping 10.0.0.1(IP вашего VPN-сервера). Если он отвечает, но интернет не работает, пингуйте публичные адреса (8.8.8.8) и затем DNS. - Проверьте DNS:
dig @8.8.8.8 example.comилиnslookup. Если IP работает, а домены нет — проблема в настройке DNS. - Просмотрите логи:
journalctl -u wg-quick@wg0(systemd) илиdmesg | grep wireguard. Там могут быть сообщения о невозможности отправки пакетов.
Как исправить: настройки и команды
Для большинства случаев достаточно поправить конфигурацию или выполнить пару команд.
Настройка DNS
Укажите DNS-серверы в конфигурации клиента WireGuard:
[Interface]
DNS = 1.1.1.1, 8.8.8.8
Для wg-quick это добавит настройку в /etc/resolv.conf. Если ваш менеджер сети (NetworkManager) сбрасывает DNS, настройте его вручную.
Включение NAT на сервере
На сервере (Linux) выполните команды, заменив eth0 на ваш внешний интерфейс:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
Если сервер использует nftables, аналогичные правила добавьте через nft.
Разрешение конфликта подсетей
Измените адресацию внутри VPN так, чтобы она не пересекалась с локальной сетью. Например, если дома используется 192.168.1.0/24, настройте VPN-подсеть 10.9.0.0/24.
Оптимизация MTU
Уменьшите MTU на интерфейсе wg0, добавив в конфигурацию [Interface] параметр MTU = 1350 и перезапустите туннель.
Профилактика: чтобы проблема не возвращалась
- Используйте
AllowedIPsс конкретными подсетями, если вам не нужен полный туннель. Это снижает риск нарушения маршрутизации. - Настраивайте автоматический запуск и восстановление туннеля (systemd unit).
- Регулярно проверяйте логи и обновляйте WireGuard до актуальной версии.
- Документируйте топологию сети: подсети, DNS, маршруты.
Мини-чеклист
- Проверьте, что handshake выполняется: `sudo wg show`
- Убедитесь, что default route идёт через wg0
- Проверьте доступность 8.8.8.8 и DNS-запросы
- Настройте DNS в секции [Interface] клиента
Частые ошибки
- Используют AllowedIPs = 0.0.0.0/0 без необходимости
- Забывают включить NAT и форвардинг на сервере
- Выбирают подсеть VPN, которая совпадает с локальной
- Не учитывают MTU, из-за чего теряется связь
Источники и документация
FAQ
Почему интернет пропадает только на некоторых устройствах?
Скорее всего, на этих устройствах не обновлена конфигурация или используется старый клиент с некорректными настройками DNS. Проверьте версию WireGuard и настройки.
Как быстро отключить туннель, если интернет пропал?
Выполните `sudo wg-quick down wg0` на Linux или используйте кнопку отключения в приложении. Это вернёт обычную маршрутизацию.
Может ли провайдер блокировать WireGuard?
Да, в некоторых странах. В этом случае попробуйте изменить порт подключения (например, 443) или включить obfuscation. Для конкретных настроек проверьте информацию для вашего региона и версии ПО.
Нужен быстрый рабочий доступ?
Если сейчас важнее вернуть подключение, чем продолжать ручную диагностику, переходите к прямому сценарию оформления доступа.
Получить доступ