Настройка WireGuard в OpenWrt (LuCI)
1. Установка пакетов
- Перейдите в LuCI → System → Software.
- Установите пакет:
luci-proto-wireguard- (Опционально) Установите пакет:
qrencode— для генерации QR-кодов при настройке пиров и удобного импорта конфигурации в мобильные клиенты WireGuard.
2. Перезапуск сетевых служб
- Перейдите в LuCI → System → Startup → Initscripts.
- Найдите службу network.
- Нажмите Restart.
3. Добавление сетевого интерфейса WireGuard
- Перейдите в LuCI → Network → Interfaces.
- Нажмите Add new interface….
- В поле Protocol выберите WireGuard VPN.
- Укажите имя интерфейса, например
wg0. - Нажмите Create Interface для создания и перехода к редактированию.
4. Настройка сетевого интерфейса WireGuard
В окне редактирования интерфейса выполните следующие действия:
- Нажмите Generate new key pair для генерации приватного и публичного ключей.
- Listen port:
51820(или любой другой предпочитаемый порт). - IP addresses:
10.0.0.1/24— внутренний IPv4-адрес WireGuard-сервера (можно использовать другой). - Сохраните конфигурацию.
5. Настройка пиров WireGuard
5.1 Добавление пира
- Перейдите в LuCI → Network → Interfaces → wg0 → Edit → Peers.
- Нажмите Add peer.
- Нажмите Generate new key pair, чтобы автоматически заполнить поля ключей.
- Укажите параметры:
- Allowed IPs:
10.0.0.10/32(или другой IP-адрес, назначаемый клиенту). - Endpoint port:
51820. - Persistent Keep Alive:
25. - Сохраните настройки.
5.2 Генерация конфигурации клиента
- Нажмите Edit для только что созданного пира.
- Нажмите Generate configuration….
- В разделе Connection endpoint выберите:
- публичный IPv4-адрес WAN-интерфейса роутера — при подключении по IPv4;
- публичный IPv6-адрес WAN-интерфейса роутера — при подключении по IPv6;
- либо укажите публичное доменное имя вручную.
5.3 Передача конфигурации клиенту
Возможные варианты:
- Использовать мобильный клиент WireGuard и отсканировать сгенерированный QR-код.
- Скопировать сгенерированную конфигурацию и сохранить её в файл device.conf для импорта в клиент WireGuard.
5.4 Применение изменений
- После добавления или изменения пиров нажмите Save & Apply на странице Interfaces.
- Затем выполните Restart wg0.
⚠️ Важно: одного Save & Apply недостаточно — перезапуск интерфейса
wg0обязателен для применения нового списка пиров.
6. Настройка брандмауэра для трафика WireGuard
6.1 Создание зоны брандмауэра
- Перейдите в LuCI → Network → Firewall → General Settings.
- В разделе Zones добавьте новую зону со следующими параметрами:
- Name:
WireguardVPN(или другое имя). - Input:
accept - Output:
accept - Intra zone forward:
accept - Masquerading: включено
- MSS Clamping: включено
- Covered networks:
wg0 - Allow forward to destination zones:
lan,wan - Allow forward from source zones:
lan - Сохраните изменения.
6.2 Правило для входящих подключений WireGuard
- Перейдите в LuCI → Network → Firewall → Traffic Rules.
- Создайте новое правило:
- Name:
WireGuard-incoming(или другое имя). - Protocol:
UDP - Source zone:
wan - Source address:
-- add IP --(или оставить пустым) - Source port:
any - Destination zone:
Device - Destination address:
-- add IP -- - Destination port:
51820 - Action:
accept - Нажмите Save, затем Save & Apply.
Примечания
- Если подключение к серверу WireGuard осуществляется только по IPv4, данное правило можно заменить правилом Port Forwarding.
- Если между OpenWrt-роутером (WireGuard-сервером) и интернетом находится вышестоящий роутер провайдера, порт
51820должен быть открыт и проброшен на OpenWrt-устройство для IPv4 и/или IPv6.