VPN

Настраиваем WireGuard на Windows Server 2022 и Windows 11 с доступом к локальной сети

5 мин. чтения
Настраиваем WireGuard на Windows Server 2022 и Windows 11 с доступом к локальной сети

Привет, друзья! Сегодня мы разберем одну из самых востребованных задач для системного администратора и продвинутого пользователя — настройку безопасного удаленного доступа.
Мы поднимем VPN-сервер на Windows Server 2022 с помощью технологии WireGuard. Это современный, быстрый и легкий протокол. Но главная фишка нашей инструкции в том, что мы настроим его так, чтобы с клиента (Windows 11) был доступен не только сам сервер, но и вся локальная сеть за ним (принтеры, файловые шары, другие компьютеры).


Что у нас в плане:
Сервер: Windows Server 2022 (Local LAN: 192.168.0.0/24)
Клиент: Windows 11
Сеть WireGuard: 10.10.20.0/24
Уровень сложности: Для новичков (пошагово)

 

Шаг 0: Подготовка и теория

  1. Прежде чем начать, убедитесь в следующем:
  2. У вас есть права Администратора на сервере и клиенте.
  3. У вашего Windows Server есть статический IP-адрес в локальной сети (например, 192.168.0.10). Если адрес динамический, после перезагрузки роутера вы потеряете доступ.
  4. Порт 51820 (UDP) открыт на внешнем фаерволе/роутере и проброшен на IP-адрес вашего сервера.
     

Схема адресации, которую мы будем использовать:

  • Сервер (в локальной сети): 192.168.0.10
  • Сервер (внутри WireGuard): 10.10.20.1
  • Клиент (внутри WireGuard): 10.10.20.2
  • Локальная сеть за сервером: 192.168.0.0/24 (маска 255.255.255.0)

Шаг 1: Установка WireGuard

Процесс установки одинаков для сервера и клиента.

  1. Перейдите на официальный сайт: wireguard.com/install/
  2. Скачайте установщик для Windows.
  3. Запустите .exe файл и нажимайте "Next", соглашаясь с лицензией.
  4. После установки перезагрузите компьютеры (это важно для установки сетевых драйверов).

Шаг 2: Настройка Сервера (Windows Server 2022)

Нам нужно создать туннель, сгенерировать ключи и настроить маршрутизацию.

2.1. Создание туннеля

  • Запустите WireGuard от имени Администратора.
  • Нажмите "Add Tunnel" -> "Add empty tunnel".
  • Назовите его, например, WG_Server.
  • В открывшемся окне конфигурации вы увидите сгенерированные ключи.
    • PrivateKey (Приватный ключ) — уже есть.
    • PublicKey (Публичный ключ) — нажмите кнопку "Generate" справа от поля, если его нет, или просто скопируйте тот, что появился. Сохраните его, он понадобится клиенту.

2.2. Конфигурация сервера

Заполните секцию [Interface] и [Peer] следующим образом (замените данные на свои):

plaintext
[Interface] # Адрес сервера внутри VPN сети Address = 10.10.20.1/24 # Порт, который будет слушать сервер (стандартный 51820) ListenPort = 51820 # Приватный ключ сервера (скопируйте из поля PrivateKey выше) PrivateKey = ВАШ_ПРИВАТНЫЙ_КЛЮЧ_СЕРВЕРА [Peer] # Публичный ключ клиента (его мы получим на шаге 3) PublicKey = ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА # Разрешаем трафик только с этого IP клиента AllowedIPs = 10.10.20.2/32

Нажмите "Save" и сохраните файл конфигурации в удобном месте (например, C:\WireGuard\WG_Server.conf).

Нажмите кнопку "Activate" под названием туннеля. Статус должен стать Active.

2.3. Включаем маршрутизацию (IP Forwarding)

Чтобы сервер пропускал трафик из VPN в локальную сеть, нужно включить пересылку пакетов.

  1. Нажмите Win + R, введите regedit.
  2. Перейдите по пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. Найдите параметр IPEnableRouter.
  4. Измените его значение с 0 на 1.
  5. Перезагрузите сервер. Без этого шага доступ к локальной сети работать не будет.

2.4. Настраиваем NAT (Network Address Translation)

Это критически важный шаг. Когда клиент (10.10.20.2) стучится к компьютеру в локальной сети (192.168.0.50), тот видит запрос от незнакомого адреса 10.10.20.2 и не знает, как ответить. NAT подменит адрес клиента на адрес сервера (192.168.0.10), и ответ вернется корректно.

Запустите PowerShell от имени Администратора и выполните команду:

plaintext
New-NetNat -Name "WG_NAT" -InternalIPInterfaceAddressPrefix 10.10.20.0/24

Если вы получите ошибку, что модуль не найден, убедитесь, что у вас установлены компоненты удаленного доступа, но на Server 2022 это работает из коробки.

2.5. Брандмауэр (Firewall)

WireGuard обычно сам создает правила, но проверим порт.

  1. Откройте Windows Defender Firewall with Advanced Security.
  2. Inbound Rules (Правила для входящих подключений).
  3. Убедитесь, что есть правило, разрешающее UDP порт 51820. Если нет — создайте новое правило (Port -> UDP -> 51820 -> Allow).

Шаг 3: Настройка Клиента (Windows 11)

Теперь настроим ноутбук или ПК, с которого будем подключаться.

3.1. Создание туннеля

  1. Запустите WireGuard.
  2. Нажмите "Add Tunnel" -> "Add empty tunnel".
  3. Назовите его WG_Client.
  4. Скопируйте PublicKey клиента (он понадобится серверу).

3.2. Конфигурация клиента

Заполните конфигурацию:

plaintext
[Interface] # Адрес клиента внутри VPN сети Address = 10.10.20.2/24 # Приватный ключ клиента PrivateKey = ВАШ_ПРИВАТНЫЙ_КЛЮЧ_КЛИЕНТА # (Опционально) DNS, чтобы работали имена компьютеров. Можно указать 8.8.8.8 или IP вашего локального DNS сервера DNS = 192.168.0.10 [Peer] # Публичный ключ сервера (берем из Шага 2.1) PublicKey = ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА # Адрес сервера в интернете (Внешний IP или домен) Endpoint = ваш.внешний.ip:51820 # ВАЖНО: Сюда пишем подсети, которые хотим видеть через VPN. # 10.10.20.0/24 - сама сеть туннеля # 192.168.0.0/24 - локальная сеть сервера, к которой нужен доступ AllowedIPs = 10.10.20.0/24, 192.168.0.0/24 # KeepAlive - чтобы соединение не рвалось в простое PersistentKeepalive = 25

Нажмите "Save", затем "Activate".

Шаг 4: Возвращаемся на Сервер (Финализация)

Мы взяли Public Key клиента в Шаге 3.1. Теперь нужно добавить клиента в конфиг сервера.

  1. Откройте конфиг сервера (WG_Server.conf) через интерфейс WireGuard (кнопка Edit).
  2. В секцию [Peer] вставьте PublicKey клиента.
  3. Убедитесь, что AllowedIPs = 10.10.20.2/32.
  4. Сохраните. Туннель должен переподключиться автоматически.

Шаг 5: Проверка работы

  1. Проверка туннеля: В интерфейсе WireGuard на сервере и клиенте вы должны видеть счетчики Transmit/Receive (отправлено/получено), которые растут.
  2. Пинг сервера: С клиента (Win 11) откройте командную строку и введите: ping 10.10.20.1 (должен отвечать).
  3. Пинг локальной сети: С клиента введите: ping 192.168.0.10 (IP сервера в локалке) или ping 192.168.0.50 (любой другой ПК в сети).
  4. Доступ к ресурсам: Попробуйте открыть общую папку: \\192.168.0.50\Share.

Если пинг идет до 10.10.20.1, но не идет до 192.168.0.x — проверьте NAT (Шаг 2.4) и Брандмауэр Windows на сервере (он может блокировать входящие из интерфейса WireGuard в локальную сеть).

Частые проблемы и решения

  • Ошибка "Route addition failed": Запустите WireGuard от имени Администратора.
  • Нет доступа к локальной сети: Проверьте, включен ли IPEnableRouter в реестре и был ли перезагружен сервер.
  • Проверьте команду Get-NetNat в PowerShell на сервере. Должен быть создан NAT.
  • В AllowedIPs клиента обязательно должна быть прописана подсеть 192.168.0.0/24.
  • Соединение рвется: Убедитесь, что на роутере проброшен именно UDP порт 51820, а не TCP. В конфиге клиента добавьте PersistentKeepalive = 25.

Заключение

Поздравляю! Вы подняли собственный, безопасный и быстрый VPN-шлюз. Теперь вы можете работать с офисными ресурсами из дома, кафе или другой страны, как будто находитесь за своим рабочим столом.

WireGuard хорош тем, что потребляет минимум ресурсов сервера и работает стабильнее классических решений вроде OpenVPN.

Новые статьи на почту

Без спама, только полезное

Подписываясь, вы соглашаетесь с политикой конфиденциальности