Большинство проблем с VPN сводится к нескольким причинам, и если проверять их в правильном порядке, это сэкономит вечер. Команды выполняются на сервере, если в шаге не сказано иное. В примерах WireGuard на стандартном порту 51820/udp; для OpenVPN или Xray подставьте имя своей службы и свой порт.
Проверено 2026-11-13.
1. Сервер на тарифе с собственным IPv4?
VPN-клиент подключается к вашему серверу снаружи. NAT-тариф пропускает снаружи только один порт — ваш персональный порт SSH, поэтому VPN на нём работать не может. Если в кабинете адрес показан с портом вида 20xxx, у вас NAT. Переход на собственный IPv4 сохраняет данные и не требует переустановки; см. Смена IP-адреса.
2. Служба запущена?
systemctl status wg-quick@wg0
journalctl -u wg-quick@wg0 -n 30 --no-pager
У OpenVPN служба обычно называется openvpn-server@server, у Xray — xray. Если служба не стартовала, причина почти всегда написана в последних строках лога: опечатка в конфиге, нет файла ключа, порт уже занят.
3. Слушает ли она нужный порт?
ss -ulpn | grep 51820 # UDP: WireGuard, OpenVPN по UDP
ss -tlpn | grep 443 # TCP: Xray / VLESS, OpenVPN по TCP
Пустой вывод значит, что служба этот порт не слушает, что бы ни было написано в конфиге. Сравните порт с тем, что указан в клиенте.
4. Пропускает ли файрвол?
ufw status verbose
Если файрвол включён, а вашего порта в списке нет, откройте его:
ufw allow 51820/udp
Обратите внимание на протокол: WireGuard нужен UDP, правило 51820/tcp ему ничего не даёт. Прежде чем включать или перезагружать файрвол, убедитесь, что правило для SSH на месте, иначе закроете доступ сами себе. Если это всё же случилось, вернуться поможет консоль в браузере в кабинете.
5. Доходит ли клиент до сервера?
У WireGuard это видно по handshake:
wg show
latest handshake: N seconds ago у пира значит, что клиент достучался до сервера и ключи совпадают. Если строки handshake нет совсем, клиент до сервера не дошёл. Тогда проверьте по порядку: IP и порт сервера (Endpoint) в конфиге клиента, файрвол из шага 4 и есть ли публичный ключ клиента в блоке [Peer] на сервере (и наоборот).
6. Подключается, но ничего не открывается?
Туннель работает, но сервер не выпускает трафик в интернет. Проверьте пересылку:
sysctl net.ipv4.ip_forward
Должно быть 1. Если нет, включите её насовсем:
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-vpn.conf
sysctl --system
Затем проверьте правило NAT. В конфиге WireGuard это строка PostUp с MASQUERADE, и имя интерфейса в ней должно совпадать с реальным интерфейсом сервера:
ip -br addr
Если в строке написано -o eth0, а интерфейс называется иначе, исправьте конфиг и перезапустите службу.
7. Попробуйте из другой сети
Подключитесь через мобильный интернет вместо домашнего Wi-Fi или попросите знакомого в другой стране. Если там VPN работает, а из вашей обычной сети нет, сервер в порядке, а соединение блокирует что-то между вами.
- Проверить, доступен ли сервер вообще из конкретной страны: Как проверить, доступен ли IP вашего VPS из России и Ирана.
- Если WireGuard и OpenVPN в вашей сети распознаются и блокируются, VLESS + Reality выглядит как обычный HTTPS, и заблокировать его гораздо сложнее.
8. Не помогло?
Откройте тикет и напишите, что уже проверили: вывод команд из шагов 2–5 и название вашего VPN-клиента. С этими данными мы обычно с первого ответа понимаем, где обрыв.
Комментарии
Пока нет комментариев. Будьте первым.