Більшість проблем із 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-клієнта. З цими даними ми зазвичай із першої відповіді розуміємо, де обрив.
Коментарі
Поки немає коментарів. Будьте першим.