Content
Налаштування WireGuard для Windows
Перед виконанням описаних команд переконайтеся, що ви використовуєте останню версію WireGuard і маєте права адміністратора на своєму пристрої.
Встановлення
1) Завантажте актуальну версію для Windows: https://www.wireguard.com/install/ та встановіть
2) Запустіть C:\Program Files\WireGuard\wireguard.exe і додайте порожній тунель (ми будемо налаштовувати серверну частину):
Додати тунель → Додати порожній тунель ...

Прописуємо налаштування:
Ім'я - ім'я мережевого підключення
Публічний ключ - публічний ключ сервера WireGuard (потрібен для налаштування клієнтської частини)
[Interface] PrivateKey = # private key of WireGuard server ListenPort = # port that WireGuard will listen to Address = # desired IP address of WireGuard server

Увімкніть налаштування, щоб дозволити серверу WG використовувати основний мережевий інтерфейс

3) Додаємо ще один порожній тунель (будемо налаштовувати клієнтську частину): Додати тунель → Додати порожній тунель
Прописуємо налаштування:
Ім'я - ім'я мережевого підключення
Відкритий ключ - відкритий ключ клієнта WireGuard (потрібен для налаштування серверної частини)
[Interface] PrivateKey = # WireGuard client private key Address = # desired IP address of WireGuard client [Peer] PublicKey = # public key of the WireGuard server (from step 2) AllowedIPs = # specify the IP addresses for which you want to use the created WG tunnel (specifying the subnet 0.0.0.0/0 will allow you to route all traffic to the WG tunnel) Endpoint = # Server IP address (real, not WireGuard) and port that WireGuard server listens on (configured in step 2)

4) Тепер нам потрібно додати наш клієнт до серверної частини WireGuard, для цього повертаємося до пункту 2 і додаємо його конфіг:
... [Peer] PublicKey = #WireGuard client public key (from step 3) AllowedIPs = #IP user address

5) Налаштуємо брандмауер Windows для роботи з WireGuard. Для цього:
Створимо нове правило для вхідного трафіку:
- Відкрийте "Windows Defender Firewall with Advanced Security" (Брандмауер Windows з розширеною безпекою).
- На лівій панелі виберіть "Inbound Rules" (Вхідні правила).
- Натисніть "New Rule..." (Створити правило).
Налаштуємо протокол (UDP) і порти (наприклад, 51820):
- У вікні "New Inbound Rule Wizard" виберіть "Port" (Порт) і натисніть "Next" (Далі).
- У розділі "Protocol and Ports" (Протокол і порти) виберіть тип протоколу:
- Виберіть "UDP".
- Вкажіть конкретні локальні порти (Specific local ports):
- Наприклад, за замовчуванням порт WireGuard — 51820.
- Якщо використовується кілька портів, перелікуйте їх через кому (наприклад: 51820, 51821).
- Натисніть "Next" (Далі).
Дозволимо підключення:
- У розділі "Action" (Дія) виберіть "Allow the connection" (Дозволити підключення).
- Натисніть "Next" (Далі).
Збережемо правило:
- Визначте профілі, для яких буде застосовуватися правило:
- Domain (Доменний);
- Private (Приватний);
- Public (Публічний).
- Натисніть "Next" (Далі).
- Вкажіть зрозуміле ім’я для нового правила, наприклад: "WireGuard UDP 51820".
- Натисніть "Finish" (Готово).
Тепер ваш брандмауер налаштований для пропуску трафіку через зазначені порти WireGuard.
6) Тепер достатньо експортувати конфігураційні файли Експортувати всі тунелі в zip→Вказати місце для експорту→Зберегти

Далі відкриваємо збережений архів, там будуть конфігурації всіх наших тунелів.
Віддаємо клієнту його конфігураційний файл.
7) На сервері виберіть конфіг сервера і запустіть програму

8) На клієнті додайте конфігураційний файл до WireGuard. Додати тунель→Вибрати конфігураційний файл клієнта->Відкрити

Виберіть конфігурацію клієнта і запустіть

На цьому налаштування першого клієнта завершено, аналогічно налаштуйте інші клієнти, додавши їх дані до конфігурації сервера (крок 4)
Автоматичний запуск WireGuard після перезавантаження сервера.
1) Додайте файл запуску до автозапуску планувальника Windows: Пуск→taskschd.msc

Натисніть "Створити просте завдання " → Введіть назву завдання (наприклад, wireguard) → Далі

Виберіть "Під час запуску комп'ютера"→ Далі

Виберіть "Запустити програму"→ Далі

У полі "Програма або скрипт" виберіть наш файл для запуску WireGuard (за замовчуванням "C:\Program Files\WireGuard\wireguard.exe")
Додаємо аргументи:
/installtunnelservice "C:\Program Files\WireGuard\wg_server.conf"
де:
C:\Program Files\WireGuard\wg_server.conf - розташування конфігураційного файлу *.conf

Встановіть галочку "Відкрити вікно властивостей для цього завдання після натискання кнопки "Готово""→ Готово

У вікні, встановіть галочку "Запускати з найвищими правами"→Гаразд

Готово. Зробіть перезавантаження, перевірте