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 — через файл¶
- Збережіть конфігурацію як
client.conf - У додатку WireGuard: Import tunnel from file
- Виберіть файл
client.conf
Крок 6: Підключення¶
- Відкрийте додаток WireGuard
- Знайдіть доданий тунель
- Увімкніть перемикач для підключення
Індикатор підключення: зелений статус або "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
Наступні кроки¶
- WireGuard: з'єднання нод — site-to-site VPN
- VPS налаштування — підготовка сервера
Див. також¶
Шлях: step-by-step/wireguard-client-connect.md