Налаштування WireGuard

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Перейти до навігації Перейти до пошуку

Шаблон:Картка документації

WireGuard — сучасне VPN-рішення для безпечного підключення користувачів і сервісів до внутрішніх мереж. У цій інструкції описано встановлення, налаштування, запуск, перевірку та перезапуск WireGuard на Linux і Windows.

Linux

Встановлення WireGuard

Для встановлення WireGuard у Linux використовується пакетний менеджер відповідного дистрибутива.

sudo apt install wireguard   # або пакет для свого дистро

Генерація ключів

Після встановлення потрібно згенерувати приватний і публічний ключі клієнта.

wg genkey | tee ~/wg_private | wg pubkey > ~/wg_public
cat ~/wg_public

Публічний ключ потрібно надіслати адміністратору для додавання користувача до VPN-сервера.

Конфігурація wg0.conf

Файл конфігурації створюється за шляхом:

/etc/wireguard/wg0.conf

Приклад конфігурації split-tunnel до мереж датацентру:

[Interface]
Address = 10.7.0.ОтриматиВідАдміна/32
# ip-адреса надається адміністратором, наприклад:
# Address = 10.7.0.3/32
PrivateKey = <ВСТАВ ВМІСТ ~/wg_private>
MTU = 1420
# PresharedKey = <якщо використовується>

[Peer]
PublicKey = cx6KJsqfQSBRaG0+Rmy8+0JjbtUf/i/Ri3U+/el2aCY=
# PublicKey = <PUBLIC_KEY_ТВОГО_MIKROTIK>
Endpoint = 185.46.151.62:51820
AllowedIPs = 192.168.20.0/24, 192.168.21.0/24
PersistentKeepalive = 25

У режимі full-tunnel у параметрі AllowedIPs потрібно вказати:

AllowedIPs = 0.0.0.0/0

За потреби можна додати DNS= до внутрішнього DNS-сервера.

Запуск WireGuard

sudo wg-quick up wg0

Щоб увімкнути автозапуск при старті системи:

sudo systemctl enable --now wg-quick@wg0

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

wg show
ip addr show wg0

Перезапуск

М’який перезапуск через wg-quick:

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

Перезапуск через systemd, якщо сервіс увімкнений:

sudo systemctl restart wg-quick@wg0

Зупинка

sudo wg-quick down wg0

Щоб вимкнути автозапуск і зупинити тунель:

sudo systemctl disable --now wg-quick@wg0

Шпаргалка команд Linux

Дія Команда
Старт sudo wg-quick up wg0
Зупинка sudo wg-quick down wg0
Перезапуск sudo wg-quick down wg0 && sudo wg-quick up wg0
Стан і лічильники wg show
Увімкнути автозапуск sudo systemctl enable --now wg-quick@wg0
Вимкнути автозапуск sudo systemctl disable --now wg-quick@wg0
Перевірити сервіс systemctl status wg-quick@wg0

Windows

Встановлення клієнта

Для Windows використовується офіційний клієнт WireGuard.

Створення нового тунелю

  1. Відкрити WireGuard.
  2. Натиснути Add Tunnel.
  3. Обрати Add empty tunnel….
  4. Клієнт автоматично згенерує Private Key і Public Key.
  5. Натиснути іконку Copy public key.
  6. Надіслати публічний ключ адміністратору.

Налаштування конфігурації

Для редагування тунелю потрібно натиснути кнопку Edit і заповнити конфігурацію.

[Interface]
PrivateKey = ВставляєтьсяАвтоматичноПриГенераціїНеМіняти
Address = IPОтриманийВідАдміна
MTU = 1420

[Peer]
PublicKey = cx6KJsqfQSBRaG0+Rmy8+0JjbtUf/i/Ri3U+/el2aCY=
Endpoint = 185.46.151.62:51820
AllowedIPs = 192.168.20.0/24, 192.168.21.0/24
# або 0.0.0.0/0 для full-tunnel
PersistentKeepalive = 25

Після збереження конфігурації потрібно натиснути Activate. У вікні клієнта має з’явитися Latest Handshake, а також повинні зростати показники Transfer RX/TX.

Ілюстрації з документа

Перезапуск у Windows

У застосунку WireGuard:

  1. Натиснути Deactivate.
  2. Потім натиснути Activate.

Якщо тунель встановлено як сервіс, його можна перезапустити командою:

"C:\Program Files\WireGuard\wireguard.exe" /restarttunnelservice "<ім'я_тунелю>"

Перевірка роботи

Для перевірки роботи VPN можна пропінгувати IP-адресу всередині мережі датацентру.

Приклад:

ping 192.168.20.225

Якщо VPN працює коректно, має бути відповідь з обміном пакетами.

Чому обрали WireGuard

Коротка версія

  • Безпека рівня “сьогодні” — сучасна криптографія: Curve25519, ChaCha20-Poly1305, BLAKE2s.
  • Швидкість і стабільність — WireGuard працює в ядрі Linux, має низькі затримки та високу пропускну здатність.
  • Простота — один UDP-порт, короткий конфіг, можливість використання QR-коду для телефону.
  • Роумінг без розривів — автоматичне перемикання між Wi-Fi, 4G, 5G, NAT і CGNAT.
  • Кросплатформеність — Windows, macOS, Linux, iOS, Android, MikroTik v7+.
  • Енергоефективність — менше навантаження на CPU і батарею.
  • Гнучкість доступу — підтримка full-tunnel і split-tunnel.

Детальніше для бізнесу

  1. Закриття RDP та адміністративних сервісів з Інтернету. Доступ відбувається лише через зашифрований тунель, що зменшує ризики брутфорсу та бекдорів.
  2. Продуктивність. У порівнянні з OpenVPN WireGuard має менші накладні витрати, що покращує роботу з файлами, термінальними сесіями та базами даних.
  3. Надійність у польових умовах. WireGuard добре працює при перемиканні мереж, використанні мобільного інтернету та готельних Wi-Fi.
  4. Легке адміністрування. Використовуються ключі замість паролів, статичні peer-конфіги та проста сегментація доступу.
  5. Масштабування. Підходить для site-to-site, віддаленої роботи співробітників і сервісних підключень.

Як впроваджуємо

Наш бік

  • Піднімаємо WireGuard-шлюз.
  • Генеруємо ключі.
  • Визначаємо підмережі.
  • Вмикаємо маршрути та firewall.
  • Готуємо конфіги для ПК і телефонів.
  • За потреби готуємо QR-коди для мобільних пристроїв.

Ваш бік

  • Встановити застосунок або драйвер WireGuard для Windows, macOS, Linux, iOS або Android.
  • Якщо використовується MikroTik — додати peer і маршрут до офісу або сервера.

Режими доступу

  • Split-tunnel — доступ лише до внутрішніх ресурсів.
  • Full-tunnel — весь трафік іде через офіс або сервер.

Вибір режиму залежить від вимог безпеки, комплаєнсу та конкретних задач користувача.

Коли WireGuard особливо вигідний

  • Потрібно вимкнути публічний RDP, VNC або SSH і залишити безпечний доступ усередину мережі.
  • Є мобільні співробітники або підрядники з різних країн чи мереж.
  • Важливі швидкі термінальні сесії, робота з 1С, BAS, ERP, файловий обмін або резервні копії через Інтернет.
  • Потрібне просте рішення з мінімумом конфігурацій і швидким онбордингом нових користувачів.

Див. також