WireGuard: підключення клієнта

Час: ~15 хвилин
Рівень: Початківець
Потрібно: WireGuard сервер, смартфон або ноутбук

Що отримаємо

VPN підключення з телефону або ноутбука до вашого WireGuard сервера.

┌─────────────┐                            ┌─────────────┐
│   Клієнт    │         WireGuard          │   Сервер    │
│  (телефон)  │◄──────── Tunnel ──────────►│ 10.10.10.1  │
│ 10.10.10.10 │        UDP 51820           │ (публічний) │
└─────────────┘                            └─────────────┘

Передумови

  • [ ] Працюючий WireGuard сервер
  • [ ] Смартфон (iOS/Android) або ноутбук (Windows/macOS/Linux)
  • [ ] Доступ до конфігурації сервера

Крок 1: Встановлення WireGuard на клієнт

iOS

Завантажте з App Store: WireGuard

Android

Завантажте з Google Play: WireGuard

Windows

Завантажте з офіційного сайту: wireguard.com/install

macOS

brew install wireguard-tools

Або завантажте з App Store.

Linux

sudo apt install wireguard

Крок 2: Генерація ключів клієнта

На сервері (або на клієнті, якщо Linux):

# Генерація ключів для клієнта
wg genkey | tee client_privatekey | wg pubkey > client_publickey

# Переглянути ключі
echo "Private key: $(cat client_privatekey)"
echo "Public key: $(cat client_publickey)"

Збережіть обидва ключі — приватний для клієнта, публічний для сервера.

Крок 3: Додавання peer на сервері

На WireGuard сервері додайте клієнта до конфігурації:

sudo nano /etc/wireguard/wg0.conf

Додайте в кінець файлу:

[Peer]
# Ноутбук/Телефон
PublicKey = <ПУБЛІЧНИЙ_КЛЮЧ_КЛІЄНТА>
AllowedIPs = 10.10.10.10/32

Перезавантажте WireGuard:

sudo wg-quick down wg0 && sudo wg-quick up wg0

Крок 4: Створення конфігурації клієнта

Створіть файл конфігурації для клієнта:

[Interface]
PrivateKey = <ПРИВАТНИЙ_КЛЮЧ_КЛІЄНТА>
Address = 10.10.10.10/24
DNS = 1.1.1.1

[Peer]
PublicKey = <ПУБЛІЧНИЙ_КЛЮЧ_СЕРВЕРА>
AllowedIPs = 0.0.0.0/0
Endpoint = <ПУБЛІЧНИЙ_IP_СЕРВЕРА>:51820
PersistentKeepalive = 25

Параметри:

  • AllowedIPs = 0.0.0.0/0 — весь трафік через VPN (full tunnel)
  • AllowedIPs = 10.10.10.0/24 — тільки трафік до VPN мережі (split tunnel)
  • DNS — DNS сервер для використання через VPN

Крок 5: Імпорт конфігурації

iOS/Android — через QR код

На сервері згенеруйте QR код:

# Встановіть qrencode
sudo apt install qrencode

# Створіть QR код
qrencode -t ansiutf8 < client.conf

У додатку WireGuard:
1. Натисніть + (додати тунель)
2. Виберіть Сканувати QR код
3. Наведіть камеру на QR код

Windows/macOS/Linux — через файл

  1. Збережіть конфігурацію як client.conf
  2. У додатку WireGuard: Import tunnel from file
  3. Виберіть файл client.conf

Крок 6: Підключення

  1. Відкрийте додаток WireGuard
  2. Знайдіть доданий тунель
  3. Увімкніть перемикач для підключення

Індикатор підключення: зелений статус або "Connected"

Крок 7: Перевірка

Перевірка IP

Відкрийте в браузері: whatismyip.com

Має показати IP вашого VPN сервера.

Перевірка ping

З терміналу клієнта:

ping 10.10.10.1

Перевірка на сервері

sudo wg show

Має показати handshake з клієнтом.

Split Tunneling (опціонально)

Щоб направляти через VPN тільки певний трафік:

[Peer]
PublicKey = <ПУБЛІЧНИЙ_КЛЮЧ_СЕРВЕРА>
AllowedIPs = 10.10.10.0/24, 192.168.1.0/24
Endpoint = <ПУБЛІЧНИЙ_IP_СЕРВЕРА>:51820

Це направить через VPN тільки трафік до вказаних мереж.

Типові проблеми

Handshake не встановлюється

Симптоми: Статус "Connecting..." але не підключається

Рішення:
1. Перевірте публічний IP сервера
2. Перевірте що порт 51820/udp відкритий
3. Перевірте правильність ключів

DNS не працює

Симптоми: Ping по IP працює, але сайти не відкриваються

Рішення:
1. Змініть DNS в конфігурації на 1.1.1.1 або 8.8.8.8
2. Перезавантажте тунель

Немає інтернету

Симптоми: VPN підключено, але інтернет не працює

Рішення: На сервері увімкніть IP forwarding:

# Тимчасово
sudo sysctl -w net.ipv4.ip_forward=1

# Постійно
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# Додайте NAT правило
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Наступні кроки

Див. також

Шлях: step-by-step/wireguard-client-connect.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications