Диагностика проблем VPN-подключения
Методично диагностирует проблемы VPN: соединение не устанавливается, скорость падает, утекает DNS — по одному шагу, с командами под вашу ОС.
Пример запуска
Сгенерировано Claude Opus 5.5, 23 сентября 2026 г.
Значения переменных
- Протокол и клиент
- WireGuard через официальный клиент WireGuard for Windows 0.5.3, конфиг сгенерирован на сервере через wg-quick
- Симптом
- Туннель поднимается (хендшейк проходит, статус Active), но интернет через него не работает — сайты не открываются, ping до 1.1.1.1 через туннель не проходит, при этом ping до самого VPN-сервера по его белому IP проходит нормально
- Устройство и система
- Ноутбук Lenovo ThinkPad T14, Windows 11 23H2, подключение к интернету через домашний роутер Keenetic по Wi-Fi
- Расположение сервера
- Свой VPS в Германии (Hetzner, Нюрнберг), поднят вручную по гайду, публичный IP 88.99.14.201, порт WireGuard 51820/UDP
- Что уже пробовали
- Перезапускал клиент и пересоздавал конфиг с нуля, проверял, что порт 51820 открыт в файрволе сервера через ufw status, пробовал подключаться с телефона через мобильный интернет — та же картина: хендшейк есть, трафик не ходит; не проверял пока net.ipv4.ip_forward и правила iptables/nftables на сервере
Диагностика WireGuard: туннель поднят, трафик не идёт
Классификация симптома
Категория: туннель поднят, но трафик не идёт.
Что уже можно сказать по вашим данным:
- Сервер доступен, порт открыт, ключи совпадают. Раз проходит хендшейк, сервер получает ваши UDP-пакеты на 51820 и принимает ваш публичный ключ. Проблемы уровня «нет соединения» отпадают.
- Клиент и домашняя сеть, скорее всего, не виноваты. Проблема воспроизводится с телефона через мобильный интернет. Значит, Keenetic, Wi-Fi и Windows почти наверняка ни при чём.
- Проблема, вероятнее всего, на сервере. Главные подозреваемые: не включена пересылка пакетов (
ip_forward), нет NAT/MASQUERADE или файрвол режет пересылаемый трафик. Вы как раз не проверяли первые два пункта. - Ping до 88.99.14.201 ничего не доказывает о работе туннеля. WireGuard for Windows при
AllowedIPs = 0.0.0.0/0сам исключает адрес сервера из туннеля. Этот ping идёт обычным путём, мимо VPN. - Статус Active ещё не означает хендшейк. Он говорит только о том, что интерфейс поднят. Реальный хендшейк виден в поле Latest handshake в окне клиента: там должно быть «N seconds ago».
Сначала проверим, доходит ли трафик до сервера внутри туннеля. Это отделит «сломан сам туннель» от «туннель работает, но сервер не выпускает трафик в интернет».
Шаг 1. Ping до внутреннего адреса сервера в туннеле
Что проверяем: проходят ли пакеты по туннелю до самого сервера, без выхода в интернет. Для этого не нужны ни ip_forward, ни NAT.
Действие:
- Откройте ваш
.confна ноутбуке и найдите строкуAddressв секции[Interface], напримерAddress = 10.0.0.2/24. Внутренний адрес сервера — обычно тот же, но с.1на конце (10.0.0.1). Если на сервере в/etc/wireguard/wg0.confуказан другойAddress, используйте его. - В PowerShell на Windows, с включённым туннелем:
ping 10.0.0.1
(подставьте внутренний адрес вашего сервера)
Пришлите мне:
- вывод
ping; - значение Latest handshake и счётчики Transfer (received / sent) из окна WireGuard;
- строки
AddressиAllowedIPsиз клиентского конфига. Ключи (PrivateKey,PresharedKey) не присылайте.
Как интерпретировать результат:
| Результат | Что это значит | Куда идём дальше |
|---|---|---|
| Ответы от 10.0.0.1 есть | Туннель полностью рабочий. Сервер не пересылает трафик в интернет: ip_forward или NAT |
Проверка sysctl и iptables/nftables на сервере |
| Ответов нет, но Transfer received растёт | Пакеты ходят, но что-то не так с адресацией: подсети на клиенте и сервере не совпадают или ошибка в AllowedIPs на сервере |
Сравнение конфигов клиента и сервера |
| Ответов нет, received почти не растёт (около 92 B или 0) | Хендшейк был, но сервер не отвечает на данные. Возможно, неверный AllowedIPs для этого пира на сервере или файрвол на интерфейсе wg0 |
wg show на сервере |
| Latest handshake пустой или старше 3 минут | Хендшейка на самом деле нет, и классификация меняется | Вернёмся к проверке порта и ключей |
Жду вывод, после этого перейдём к следующему шагу.
Похожие промпты
Скрипт PowerShell под задачу
Пишет скрипт PowerShell с обработкой ошибок, логированием и режимом пробного прогона — так, чтобы его можно было запустить на рабочей машине и не бояться последствий.
Ревью и рефакторинг PowerShell-скрипта
Разбирает существующий скрипт PowerShell: что сломается на реальных данных, где ошибки глушатся вместо обработки и что переписать в первую очередь, а что оставить.
Постмортем инцидента для публикации
Превращает внутренний разбор аварии в публичный постмортем: хронология, настоящая причина вместо «человеческого фактора», выводы без самобичевания и без корпоративного тумана.
Консультант по выбору VPN-решения
Помогает выбрать VPN под задачу: сравнивает коммерческие сервисы и self-hosted решения с учётом страны, устройств, модели угроз и бюджета.