Налаштування WireGuard: відмінності між версіями

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Перейти до навігації Перейти до пошуку
Первинна версія документу
 
Прибрав шаблон
 
(Не показано одну проміжну версію цього користувача)
Рядок 1: Рядок 1:
{{Картка документації
| назва = Налаштування WireGuard
| тип = Інструкція
| платформи = Linux, Windows
| призначення = VPN-доступ до мереж датацентру
}}
'''WireGuard''' — сучасне VPN-рішення для безпечного підключення користувачів і сервісів до внутрішніх мереж. У цій інструкції описано встановлення, налаштування, запуск, перевірку та перезапуск WireGuard на Linux і Windows.
'''WireGuard''' — сучасне VPN-рішення для безпечного підключення користувачів і сервісів до внутрішніх мереж. У цій інструкції описано встановлення, налаштування, запуск, перевірку та перезапуск WireGuard на Linux і Windows.


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


<syntaxhighlight lang="bash">
<pre>
sudo apt install wireguard  # або пакет для свого дистро
sudo apt install wireguard  # або пакет для свого дистро
</syntaxhighlight>
</pre>


=== Генерація ключів ===
=== Генерація ключів ===
Рядок 24: Рядок 17:
Після встановлення потрібно згенерувати приватний і публічний ключі клієнта.
Після встановлення потрібно згенерувати приватний і публічний ключі клієнта.


<syntaxhighlight lang="bash">
<pre>
wg genkey | tee ~/wg_private | wg pubkey > ~/wg_public
wg genkey | tee ~/wg_private | wg pubkey > ~/wg_public
cat ~/wg_public
cat ~/wg_public
</syntaxhighlight>
</pre>


Публічний ключ потрібно надіслати адміністратору для додавання користувача до VPN-сервера.
Публічний ключ потрібно надіслати адміністратору для додавання користувача до VPN-сервера.
Рядок 35: Рядок 28:
Файл конфігурації створюється за шляхом:
Файл конфігурації створюється за шляхом:


<syntaxhighlight lang="text">
<pre>
/etc/wireguard/wg0.conf
/etc/wireguard/wg0.conf
</syntaxhighlight>
</pre>


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


<syntaxhighlight lang="ini">
<pre>
[Interface]
[Interface]
Address = 10.7.0.ОтриматиВідАдміна/32
Address = 10.7.0.ОтриматиВідАдміна/32
Рядок 56: Рядок 49:
AllowedIPs = 192.168.20.0/24, 192.168.21.0/24
AllowedIPs = 192.168.20.0/24, 192.168.21.0/24
PersistentKeepalive = 25
PersistentKeepalive = 25
</syntaxhighlight>
</pre>


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


<syntaxhighlight lang="ini">
<pre>
AllowedIPs = 0.0.0.0/0
AllowedIPs = 0.0.0.0/0
</syntaxhighlight>
</pre>


За потреби можна додати <code>DNS=</code> до внутрішнього DNS-сервера.
За потреби можна додати <code>DNS=</code> до внутрішнього DNS-сервера.
Рядок 68: Рядок 61:
=== Запуск WireGuard ===
=== Запуск WireGuard ===


<syntaxhighlight lang="bash">
<pre>
sudo wg-quick up wg0
sudo wg-quick up wg0
</syntaxhighlight>
</pre>


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


<syntaxhighlight lang="bash">
<pre>
sudo systemctl enable --now wg-quick@wg0
sudo systemctl enable --now wg-quick@wg0
</syntaxhighlight>
</pre>


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


<syntaxhighlight lang="bash">
<pre>
wg show
wg show
ip addr show wg0
ip addr show wg0
</syntaxhighlight>
</pre>


=== Перезапуск ===
=== Перезапуск ===
Рядок 89: Рядок 82:
М’який перезапуск через <code>wg-quick</code>:
М’який перезапуск через <code>wg-quick</code>:


<syntaxhighlight lang="bash">
<pre>
sudo wg-quick down wg0 && sudo wg-quick up wg0
sudo wg-quick down wg0 && sudo wg-quick up wg0
</syntaxhighlight>
</pre>


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


<syntaxhighlight lang="bash">
<pre>
sudo systemctl restart wg-quick@wg0
sudo systemctl restart wg-quick@wg0
</syntaxhighlight>
</pre>


=== Зупинка ===
=== Зупинка ===


<syntaxhighlight lang="bash">
<pre>
sudo wg-quick down wg0
sudo wg-quick down wg0
</syntaxhighlight>
</pre>


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


<syntaxhighlight lang="bash">
<pre>
sudo systemctl disable --now wg-quick@wg0
sudo systemctl disable --now wg-quick@wg0
</syntaxhighlight>
</pre>


=== Шпаргалка команд Linux ===
=== Шпаргалка команд Linux ===
Рядок 152: Рядок 145:
Для редагування тунелю потрібно натиснути кнопку '''Edit''' і заповнити конфігурацію.
Для редагування тунелю потрібно натиснути кнопку '''Edit''' і заповнити конфігурацію.


<syntaxhighlight lang="ini">
<pre>
[Interface]
[Interface]
PrivateKey = ВставляєтьсяАвтоматичноПриГенераціїНеМіняти
PrivateKey = ВставляєтьсяАвтоматичноПриГенераціїНеМіняти
Рядок 164: Рядок 157:
# або 0.0.0.0/0 для full-tunnel
# або 0.0.0.0/0 для full-tunnel
PersistentKeepalive = 25
PersistentKeepalive = 25
</syntaxhighlight>
</pre>


Після збереження конфігурації потрібно натиснути '''Activate'''. У вікні клієнта має з’явитися '''Latest Handshake''', а також повинні зростати показники '''Transfer RX/TX'''.
Після збереження конфігурації потрібно натиснути '''Activate'''. У вікні клієнта має з’явитися '''Latest Handshake''', а також повинні зростати показники '''Transfer RX/TX'''.
=== Ілюстрації з документа ===
<gallery mode="packed" heights="180">
WireGuard_01.png|Ілюстрація WireGuard|посилання=Файл:WireGuard_01.png
WireGuard_02.png|Ілюстрація WireGuard|посилання=Файл:WireGuard_02.png
</gallery>


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


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


== Перевірка роботи ==
== Перевірка роботи ==
Рядок 187: Рядок 187:
Приклад:
Приклад:


<syntaxhighlight lang="bash">
<pre>
ping 192.168.20.225
ping 192.168.20.225
</syntaxhighlight>
</pre>


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

Поточна версія на 21:00, 28 квітня 2026

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, файловий обмін або резервні копії через Інтернет.
  • Потрібне просте рішення з мінімумом конфігурацій і швидким онбордингом нових користувачів.

Див. також

index.php?title=Категорія:VPN index.php?title=Категорія:WireGuard index.php?title=Категорія:Інструкції index.php?title=Категорія:Адміністрування Linux index.php?title=Категорія:Адміністрування Windows