Перейти к содержанию

Настройка WireGuard в OpenWrt (LuCI)

1. Установка пакетов

  1. Перейдите в LuCI → System → Software.
  2. Установите пакет:
  3. luci-proto-wireguard
  4. (Опционально) Установите пакет:
  5. qrencode — для генерации QR-кодов при настройке пиров и удобного импорта конфигурации в мобильные клиенты WireGuard.

2. Перезапуск сетевых служб

  1. Перейдите в LuCI → System → Startup → Initscripts.
  2. Найдите службу network.
  3. Нажмите Restart.

3. Добавление сетевого интерфейса WireGuard

  1. Перейдите в LuCI → Network → Interfaces.
  2. Нажмите Add new interface….
  3. В поле Protocol выберите WireGuard VPN.
  4. Укажите имя интерфейса, например wg0.
  5. Нажмите Create Interface для создания и перехода к редактированию.

4. Настройка сетевого интерфейса WireGuard

В окне редактирования интерфейса выполните следующие действия:

  • Нажмите Generate new key pair для генерации приватного и публичного ключей.
  • Listen port: 51820 (или любой другой предпочитаемый порт).
  • IP addresses:
    10.0.0.1/24 — внутренний IPv4-адрес WireGuard-сервера (можно использовать другой).
  • Сохраните конфигурацию.

5. Настройка пиров WireGuard

5.1 Добавление пира

  1. Перейдите в LuCI → Network → Interfaces → wg0 → Edit → Peers.
  2. Нажмите Add peer.
  3. Нажмите Generate new key pair, чтобы автоматически заполнить поля ключей.
  4. Укажите параметры:
  5. Allowed IPs: 10.0.0.10/32 (или другой IP-адрес, назначаемый клиенту).
  6. Endpoint port: 51820.
  7. Persistent Keep Alive: 25.
  8. Сохраните настройки.

5.2 Генерация конфигурации клиента

  1. Нажмите Edit для только что созданного пира.
  2. Нажмите Generate configuration….
  3. В разделе Connection endpoint выберите:
  4. публичный IPv4-адрес WAN-интерфейса роутера — при подключении по IPv4;
  5. публичный IPv6-адрес WAN-интерфейса роутера — при подключении по IPv6;
  6. либо укажите публичное доменное имя вручную.

5.3 Передача конфигурации клиенту

Возможные варианты: - Использовать мобильный клиент WireGuard и отсканировать сгенерированный QR-код. - Скопировать сгенерированную конфигурацию и сохранить её в файл device.conf для импорта в клиент WireGuard.

5.4 Применение изменений

  1. После добавления или изменения пиров нажмите Save & Apply на странице Interfaces.
  2. Затем выполните Restart wg0.

⚠️ Важно: одного Save & Apply недостаточно — перезапуск интерфейса wg0 обязателен для применения нового списка пиров.


6. Настройка брандмауэра для трафика WireGuard

6.1 Создание зоны брандмауэра

  1. Перейдите в LuCI → Network → Firewall → General Settings.
  2. В разделе Zones добавьте новую зону со следующими параметрами:
  3. Name: WireguardVPN (или другое имя).
  4. Input: accept
  5. Output: accept
  6. Intra zone forward: accept
  7. Masquerading: включено
  8. MSS Clamping: включено
  9. Covered networks: wg0
  10. Allow forward to destination zones: lan, wan
  11. Allow forward from source zones: lan
  12. Сохраните изменения.

6.2 Правило для входящих подключений WireGuard

  1. Перейдите в LuCI → Network → Firewall → Traffic Rules.
  2. Создайте новое правило:
  3. Name: WireGuard-incoming (или другое имя).
  4. Protocol: UDP
  5. Source zone: wan
  6. Source address: -- add IP -- (или оставить пустым)
  7. Source port: any
  8. Destination zone: Device
  9. Destination address: -- add IP --
  10. Destination port: 51820
  11. Action: accept
  12. Нажмите Save, затем Save & Apply.

Примечания

  • Если подключение к серверу WireGuard осуществляется только по IPv4, данное правило можно заменить правилом Port Forwarding.
  • Если между OpenWrt-роутером (WireGuard-сервером) и интернетом находится вышестоящий роутер провайдера, порт 51820 должен быть открыт и проброшен на OpenWrt-устройство для IPv4 и/или IPv6.