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

Регистрируем настройки:
Name - имя сетевого подключения
Public key - публичный ключ сервера WireGuard (понадобится для настройки клиентской части)
[Interface] PrivateKey = # private key of WireGuard server ListenPort = # port that WireGuard will listen to Address = # desired IP address of WireGuard server

Настройте параметры сетевого интерфейса для сервера WireGuard. В окне редактирования туннеля (под текстовым полем конфигурации) можно опционально включить:
– Block untunneled traffic (kill-switch) — блокировка трафика, идущего в обход VPN-туннеля
– Pre-shared key — дополнительный уровень безопасности (опционально)
Эти настройки необязательны, но рекомендуются для повышения безопасности.

3) Добавляем еще один пустой туннель (будем настраивать клиентскую часть): Добавить туннель → Добавить пустой туннель
Регистрируем настройки:
Name - имя сетевого подключения
Public key - публичный ключ клиента 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).
Проверка подключения
После активации туннеля Windows может отображать статус сетевого адаптера WireGuard как "Без доступа к сети" или "Без доступа к Интернету" в Центре управления сетями и общим доступом. Это нормальное и ожидаемое поведение — Windows не распознает адаптеры VPN-туннелей как стандартные интернет-подключения. Этот статус не влияет на работоспособность туннеля.
Чтобы убедиться, что туннель WireGuard работает корректно:
1) Проверьте статус подключения в клиенте WireGuard. Активный туннель должен отображать статус "Активен" со счетчиками передачи данных. Если счетчики пакетов увеличиваются — туннель работает.
2) Откройте командную строку (cmd) и выполните ping внутреннего IP-адреса сервера WireGuard:
ping 10.0.0.1
Замените 10.0.0.1 на фактический IP-адрес сервера WireGuard, настроенный в шаге 2. Если получаете ответы — туннель работает корректно.
3) Если вы настроили AllowedIPs = 0.0.0.0/0 (весь трафик направляется через туннель), можно проверить маршрутизацию командой:
tracert 8.8.8.8
Первым узлом должен быть IP-адрес вашего сервера WireGuard.
Что такое AllowedIPs
Параметр AllowedIPs в конфигурации клиента (шаг 3) определяет, какой трафик направляется через туннель WireGuard.
AllowedIPs = 0.0.0.0/0 — направляет весь трафик через туннель. Все подключения, включая просмотр интернета, будут идти через VPN. Используйте эту опцию для полной защиты трафика.
AllowedIPs = 10.0.0.0/24 — направляет только трафик внутренней сети через туннель. Обычный интернет-трафик будет идти в обход VPN через стандартное подключение. Используйте эту опцию для доступа к определенным сетевым ресурсам.
Также можно указать несколько подсетей через запятую, например: AllowedIPs = 10.0.0.0/24, 192.168.1.0/24
Решение проблем
Туннель активен, но нет связи с сервером
– Убедитесь, что порт WireGuard (например, 51820) открыт в брандмауэре как на стороне сервера, так и на стороне клиента.
– Проверьте, что публичные ключи правильно скопированы между конфигурациями сервера и клиента.
– Убедитесь, что Endpoint в конфигурации клиента указывает на реальный IP-адрес сервера, а не на IP-адрес туннеля WireGuard.
DNS не работает после подключения
Добавьте DNS-сервер в конфигурацию клиента:
[Interface] PrivateKey = ... Address = ... DNS = 8.8.8.8, 8.8.4.4
Счетчики пакетов не увеличиваются
Это означает, что туннель не передает данные. Проверьте следующее:
– AllowedIPs настроен корректно на обеих сторонах (сервер и клиент).
– IP-адреса WireGuard не конфликтуют с существующей локальной сетью.
– ListenPort не занят другим приложением.
Автоматический запуск 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

Установите флажок "Открыть окно Свойства для этой задачи после нажатия кнопки Готово"→ Готово

В открывшемся окне установите флажок "Выполнять с наивысшими правами"→ОК

Готово. Выполните перезагрузку, проверьте