Перейти к содержимому

VPN на OpenWrt: WireGuard через LuCI и UCI

OpenWrt даёт полный контроль над сетью, но требует явных действий: интерфейс, зона файрвола и маскарадинг создаются отдельно, иначе туннель поднимется, а трафик через него не пойдёт.

Порядок настройки

  1. 1

    Установите пакеты: opkg update && opkg install wireguard-tools luci-proto-wireguard, затем перезапустите веб-интерфейс командой /etc/init.d/uhttpd restart.

  2. 2

    В LuCI откройте «Network» → «Interfaces» → «Add new interface», выберите протокол WireGuard VPN и задайте имя, например dcore.

  3. 3

    Перенесите из конфигурации DCore приватный ключ, во вкладке «Peers» добавьте пир с публичным ключом, endpoint и allowed IPs 0.0.0.0/0, укажите persistent keepalive 25.

  4. 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.

Разобраться глубже

Готовая конфигурация для OpenWrt

30+ серверов в 7 странах, MTProto-прокси для Telegram, до 5 устройств на подписку.

Попробовать бесплатно

Час доступа без оплаты, выдаётся один раз

Telegram