VPN на OpenWrt: WireGuard через LuCI и UCI
OpenWrt даёт полный контроль над сетью, но требует явных действий: интерфейс, зона файрвола и маскарадинг создаются отдельно, иначе туннель поднимется, а трафик через него не пойдёт.
Порядок настройки
- 1
Установите пакеты: opkg update && opkg install wireguard-tools luci-proto-wireguard, затем перезапустите веб-интерфейс командой /etc/init.d/uhttpd restart.
- 2
В LuCI откройте «Network» → «Interfaces» → «Add new interface», выберите протокол WireGuard VPN и задайте имя, например dcore.
- 3
Перенесите из конфигурации DCore приватный ключ, во вкладке «Peers» добавьте пир с публичным ключом, endpoint и allowed IPs 0.0.0.0/0, укажите persistent keepalive 25.
- 4
Во вкладке «Firewall Settings» назначьте интерфейсу зону wan — либо создайте отдельную зону с включённым masquerading и разрешённой пересылкой из lan.
Что важно учесть на OpenWrt
Без зоны файрвола туннель бесполезен
Самая частая ошибка: интерфейс создан, рукопожатие проходит, а устройства сети не выходят в интернет. Причина в том, что новый интерфейс не попал ни в одну зону файрвола, поэтому пересылка из lan в него запрещена, а маскарадинг не выполняется.
Конфигурация правится и текстом
Всё, что делается в LuCI, лежит в /etc/config/network и /etc/config/firewall. Готовую настройку удобно переносить между роутерами копированием этих файлов с последующим /etc/init.d/network restart.
Выборочная маршрутизация — отдельный пакет
Для направления в туннель части устройств или доменов ставится pbr (policy-based routing). Он добавляет в LuCI раздел с правилами по источнику, адресу назначения и доменному имени.
Место на флеш-памяти
На роутерах с 8 МБ памяти набор пакетов может не поместиться вместе с уже установленными. Проверяйте свободное место командой df -h перед установкой: заполненная флеш-память приводит к неочевидным сбоям.
Частые вопросы
Какая версия OpenWrt нужна?
Поддержка WireGuard есть начиная с 19.07, но удобнее работать на 21.02 и новее: там пакет luci-proto-wireguard стабильнее и лучше интегрирован с файрволом.
Туннель поднялся, но интернета нет — что проверить?
В первую очередь зону файрвола: интерфейс должен входить в зону с включённым masquerading, а пересылка из lan в эту зону — быть разрешена. Во вторую — MTU.
Можно ли поднять несколько туннелей одновременно?
Да, каждый создаётся отдельным интерфейсом со своим набором пиров. Какой из них используется для конкретного трафика, определяется маршрутами или правилами pbr.
Разобраться глубже
- WireGuardРазбираем WireGuard изнутри: криптографический набор без выбора шифров, работа в ядре, роуминг по UDP и почему у протокола всего около 4000 строк кода.
- Проверка утечекVPN подключён, а часть трафика идёт мимо туннеля — так выглядит утечка. Как понять, что она есть, из-за чего возникает в каждом из трёх случаев (DNS, WebRTC, IPv6) и какими настройками устраняется.
- Скорость VPNРасстояние до сервера, накладные расходы протокола, MTU и загруженность канала — разбираем, что реально влияет на скорость через туннель и как её измерить корректно.
Готовая конфигурация для OpenWrt
30+ серверов в 7 странах, MTProto-прокси для Telegram, до 5 устройств на подписку.
Попробовать бесплатноЧас доступа без оплаты, выдаётся один раз