Алгоритм диагностики проблем с VPN (со стороны клиента)
1. Сбор исходных данных
Клиент
- Название клиента
- Внешний IP
- Провайдер
- Локация (город / площадка)
- Тип подключения (офис / домашний / мобильный / ЦОД)
- Тип VPN (IPsec / SSL / WireGuard / OpenVPN / AnyConnect)
- Адрес VPN-сервера
- Время возникновения проблемы
- Постоянная или периодическая проблема
- Количество затронутых пользователей
- Есть ли проблема без VPN
- Проверка через альтернативный канал (например, мобильный интернет)
Симптомы
- Не подключается VPN
- Медленная работа
- Обрывы
- Высокий latency
- Потери пакетов
- Проблема только с отдельными сервисами
- Проблема по времени
2. Проверка DNS
nslookup vpn.example.com
nslookup internal-service.example.localили
dig vpn.example.com
dig internal-service.example.localПроверить:
- какой DNS отвечает
- корректность IP
- стабильность ответов
- время ответа
- ошибки (SERVFAIL, NXDOMAIN)
Проверка через публичные DNS:
nslookup vpn.example.com 8.8.8.8
nslookup vpn.example.com 1.1.1.13. Проверка доступности VPN (ping)
ping vpn.example.com
ping <VPN_PUBLIC_IP>Анализ:
- задержка (min/avg/max)
- packet loss
- стабильность
4. Проверка MTU (пинги с разным размером)
Windows
ping <VPN_PUBLIC_IP> -f -l 1200
ping <VPN_PUBLIC_IP> -f -l 1300
ping <VPN_PUBLIC_IP> -f -l 1400
ping <VPN_PUBLIC_IP> -f -l 1472Linux/macOS
ping -M do -s 1200 <VPN_PUBLIC_IP>
ping -M do -s 1300 <VPN_PUBLIC_IP>
ping -M do -s 1400 <VPN_PUBLIC_IP>
ping -M do -s 1472 <VPN_PUBLIC_IP>Интерпретация:
- маленькие пакеты проходят, большие нет → проблема MTU
- требуется настройка MSS/MTU
5. Traceroute до VPN
tracert <VPN_PUBLIC_IP> # Windows
traceroute <VPN_PUBLIC_IP> # Linux/macOSили:
mtr <VPN_PUBLIC_IP>Анализ:
- где растет latency
- где появляются потери
- отличие от нормального клиента
6. Traceroute через VPN
tracert <INTERNAL_SERVER_IP>
traceroute <INTERNAL_SERVER_IP>Проверить:
- маршрут идет через VPN
- нет ли утечки трафика
- корректность маршрутов
7. Проверка маршрутов
Windows
route printLinux/macOS
ip route
netstat -rn8. Длительный ping (стабильность)
ping <VPN_PUBLIC_IP>
ping <INTERNAL_SERVER_IP>Сохранение:
ping <IP> > ping_log.txtАнализ:
- потери
- всплески задержки
- корреляция с жалобами
9. Проверка интернета вне VPN
ping 8.8.8.8
ping 1.1.1.1
ping google.comДополнительно:
- Speedtest
- Cloudflare test
- packetlosstest.com
10. Проверка нагрузки на клиенте
Проверить:
- загрузку канала
- фоновые загрузки
- QoS / shaping
- CPU / RAM оборудования
- ошибки интерфейсов
Команды (пример):
show interfaces
show cpu
show memory
show log11. Проверка с клиентского оборудования
ping <VPN_PUBLIC_IP>
traceroute <VPN_PUBLIC_IP>
ping 8.8.8.8
traceroute 8.8.8.8
ping <INTERNAL_SERVER_IP>
traceroute <INTERNAL_SERVER_IP>12. Проверка VPN-туннеля
Проверить:
- статус туннеля
- время аптайма
- ошибки
- packet drops
- rekey
- DPD
Для IPsec:
- UDP 500 / 4500
- ESP
- Phase 1 / Phase 2
- NAT-T
13. Проверка MTU/MSS
Проверить:
- MTU WAN
- MTU VPN
- MSS clamp
Рекомендация:
- установить MSS ~1360–1380
- повторить тесты
14. Сравнение с рабочим клиентом
Сравнить:
- DNS
- ping
- traceroute
- MTU
- провайдер
- маршруты
- VPN-клиент
15. Проверка серверной стороны
Проверить:
- CPU
- RAM
- VPN sessions
- интерфейсы
- drops
- логи VPN
Пинги с сервера:
ping <CLIENT_PUBLIC_IP>
traceroute <CLIENT_PUBLIC_IP>16. Проверка приложений
Порты
Test-NetConnection <IP> -Port 443
Test-NetConnection <IP> -Port 3389nc -vz <IP> 443HTTP
curl -v https://service17. Минимальные критерии “не клиент”
- DNS работает корректно
- Нет потерь до VPN
- Нет потерь через VPN
- MTU корректный
- Интернет стабилен
- Нет перегрузки оборудования
- Другие клиенты работают нормально
- VPN-сервер стабилен
18. Типовые причины
- провайдер клиента
- нестабильный канал
- MTU/MSS
- перегруз оборудования
- локальная сеть
- маршрутизация
- DNS
- фильтрация UDP 500/4500
- QoS
19. Шаблон отчета
Клиент:
Дата:
VPN-сервер:
IP клиента:
Провайдер:
DNS:
Ping до VPN:
Ping (MTU):
Traceroute:
Ping через VPN:
Traceroute через VPN:
Интернет вне VPN:
Оборудование:
Вывод:
Рекомендации: