0 Регистрация Вход

VPN не работает — пошаговая диагностика

12.03.2026
Сложность
3 мин.

Резюме

Если VPN-соединение перестало работать или не устанавливается: проверьте статус сервиса, доступность порта, маршруты и логи. Ниже приведён универсальный алгоритм диагностики для WireGuard и OpenVPN.

Применимо к:
✔ VPS
✔ Выделенные серверы
✔ WireGuard, OpenVPN

Шаг 1: проверьте статус VPN-сервиса

WireGuard

systemctl status wg-quick@wg0

Если сервис не запущен:

systemctl start wg-quick@wg0

OpenVPN

systemctl status openvpn@server

Если сервис не запущен:

systemctl start openvpn@server

Шаг 2: проверьте, слушает ли порт

Убедитесь, что VPN-сервер слушает нужный порт:

ss -ulnp | grep 51820

Для OpenVPN (по умолчанию UDP 1194):

ss -ulnp | grep 1194

Если порт не отображается, сервис не запущен или использует другой порт. Проверьте конфигурацию.

Шаг 3: проверьте firewall

Порт VPN должен быть открыт в firewall:

iptables -L -n | grep 51820

Если правила нет, добавьте:

iptables -A INPUT -p udp --dport 51820 -j ACCEPT

Для UFW:

ufw allow 51820/udp

Шаг 4: проверьте маршруты на сервере

Убедитесь, что IP-forwarding включён:

sysctl net.ipv4.ip_forward

Ожидаемый результат: net.ipv4.ip_forward = 1

Если значение 0, включите:

sysctl -w net.ipv4.ip_forward=1

Для сохранения после перезагрузки добавьте в /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Шаг 5: проверьте NAT (masquerade)

Без NAT клиенты VPN не получат доступ в интернет:

iptables -t nat -L POSTROUTING -v

Должно быть правило MASQUERADE для VPN-подсети. Если нет:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

Замените 10.0.0.0/24 на вашу VPN-подсеть, eth0 на основной сетевой интерфейс.

Шаг 6: проверьте логи

WireGuard

dmesg | grep wireguard

Для более подробного логирования:

echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

OpenVPN

tail -50 /var/log/openvpn/openvpn.log

Или через journalctl:

journalctl -u openvpn@server --no-pager -n 50

Шаг 7: проверьте подключение со стороны клиента

Убедитесь, что клиент использует правильный IP-адрес и порт сервера.

Проверьте доступность порта с клиентской машины:

nc -zvu IP_СЕРВЕРА 51820

Если порт недоступен, проблема на уровне сети или firewall.

WireGuard: нет handshake

Проверьте статус пиров:

wg show

Если в поле latest handshake нет значения, клиент не может связаться с сервером. Проверьте:

  • Правильность публичного ключа сервера в конфиге клиента
  • Правильность Endpoint (IP:порт)
  • Доступность UDP-порта

Проверка результата

После устранения проблемы проверьте подключение:

ping -c 4 10.0.0.1

Где 10.0.0.1 — адрес VPN-сервера в туннеле.

Проверьте, что трафик идёт через VPN:

curl ifconfig.me

IP-адрес должен соответствовать серверу VPN.

Если после всех проверок VPN не работает, откройте тикет в техническую поддержку. Укажите:
- тип VPN (WireGuard/OpenVPN)
- вывод команды systemctl status
- вывод ss -ulnp
- последние 50 строк логов
Были ли сведения полезными?
 
Продолжая использовать этот сайт и пользуясь нашими услугами, Вы соглашаетесь с Правилами и условиями веб-сайта и использованием файлов cookie на нашем веб-сайте. Также ознакомьтесь с нашей Политикой конфиденциальности, согласно которой, в заявленной степени, Вы соглашаетесь на обработку Ваших персональных данных.