Настройка AmneziaWG на роутере OpenWrt: полное руководство

Подробная инструкция по установке и настройке AmneziaWG на роутере с OpenWrt: требования, установка пакетов, импорт конфигурации, маршрутизация через Podkop, настройка firewall и ответы на частые вопросы.

Что такое AmneziaWG и зачем он нужен на роутере

AmneziaWG — это модифицированная версия протокола WireGuard, разработанная для обхода DPI (Deep Packet Inspection) и других методов блокировки VPN. В отличие от классического WireGuard, AmneziaWG использует обфускацию параметров соединения, что делает его менее заметным для провайдеров, применяющих строгую фильтрацию трафика.

Установка AmneziaWG на роутер с OpenWrt позволяет защитить весь трафик устройств домашней сети без необходимости настраивать VPN на каждом устройстве отдельно. Это особенно удобно для Smart TV, игровых приставок и других устройств, где установка VPN-приложения затруднена или невозможна.

Роутер с OpenWrt выступает в роли VPN-шлюза: все устройства, подключённые к нему по Wi-Fi или кабелю, автоматически получают доступ к защищённому каналу. При этом можно гибко настроить маршрутизацию: например, направить через VPN только определённые сервисы, оставив остальной трафик на обычном подключении.

Требования к роутеру и версии OpenWrt

Для корректной работы AmneziaWG на OpenWrt необходимо выполнить несколько условий. Прежде всего, роутер должен поддерживать OpenWrt версии 24.10.3 или новее. Именно начиная с этой версии добавлена нативная поддержка протоколов AmneziaWG 1.5 и 2.0. Если у вас установлена более старая версия, например 24.10.2, возможны проблемы: может установиться устаревшая версия протокола 1.0, которая часто блокируется, или импорт конфигурации будет завершаться ошибкой.

Проверить поддержку вашего роутера можно на официальном сайте OpenWrt в разделе Table of Hardware или через firmware-selector.openwrt.org. Рекомендуется использовать стабильные версии, избегая сборок с суффиксом -rcN (кандидатов в релизы).

Также важно учитывать объём свободного места на роутере. Для установки пакетов AmneziaWG и дополнительных сервисов (например, Podkop) рекомендуется иметь не менее 30 МБ свободной флеш-памяти. Если места недостаточно, часть пакетов можно установить на внешний носитель, но это усложняет настройку.

Подготовка: получение конфигурации AmneziaWG

Перед настройкой роутера необходимо получить файл конфигурации .conf для протокола AmneziaWG. Если вы используете собственный сервер, настроенный через Amnezia Self-hosted, файл можно экспортировать из приложения AmneziaVPN. Для этого выберите сервер, нажмите «Поделиться подключением» и выберите протокол AmneziaWG, указав «Оригинальный формат AmneziaWG».

Важно: если вы используете Amnezia Premium, стандартная инструкция не подойдёт, поскольку файлы конфигурации Premium выпускаются только для AmneziaWG 3.1, а OpenWrt пока не поддерживает эту версию нативно. Преобразовать конфигурацию 3.1 в 2.0 невозможно — подключение не будет работать.

В зависимости от версии протокола файл конфигурации содержит разные параметры обфускации:

  • AmneziaWG 2.0 — в блоке [Interface] присутствуют параметры S3, S4 и I1;
  • AmneziaWG 1.5 — есть только I1, параметры S3 и S4 отсутствуют;
  • AmneziaWG 1.0 — нет ни S3, ни S4, ни I1.

Убедитесь, что версия протокола в конфигурации соответствует поддерживаемой вашей версией OpenWrt.

Установка OpenWrt и базовых пакетов

Если на роутере ещё не установлена OpenWrt, сначала необходимо прошить её. Процесс прошивки зависит от модели роутера и обычно описан в документации OpenWrt. После установки убедитесь, что роутер имеет доступ к интернету — выполните команду ping github.com из SSH-терминала.

Для установки пакетов AmneziaWG используется скрипт, который автоматически определит архитектуру роутера и установит необходимые модули. Подключитесь к роутеру по SSH: ssh root@192.168.1.1 (или используйте актуальный IP-адрес). Затем выполните команду:

sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/master/amneziawg-install.sh)

Если скрипт завершается ошибкой подключения к IPv6-адресу GitHub, используйте принудительное IPv4:

sh <(wget -4 -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/master/amneziawg-install.sh)

Во время выполнения скрипта он спросит, нужно ли настраивать интерфейс AmneziaWG. В зависимости от вашего плана маршрутизации ответьте n (если будете настраивать через LuCI) или y (если скрипт настроит всё сам). В большинстве инструкций рекомендуется ответить n, чтобы затем настроить интерфейс вручную через веб-интерфейс.

Создание интерфейса AmneziaWG в LuCI

После установки пакетов откройте веб-интерфейс роутера (обычно http://192.168.1.1) и перейдите в раздел Network → Interfaces. Нажмите «Add new interface» и задайте произвольное имя, например VPN. В выпадающем списке протоколов выберите AmneziaWG VPN и нажмите «Create interface».

В открывшемся окне настройки интерфейса нажмите кнопку «Load configuration» и вставьте содержимое файла .conf или перетащите файл в соответствующее поле. Затем нажмите «Import settings» — поля будут заполнены автоматически.

После импорта проверьте значения на вкладках:

  • General Settings: Private Key и IP Addresses должны соответствовать секции [Interface];
  • AmneziaWG Settings: параметры S1, S2, S3, S4, Jc, Jmin, Jmax, H1–H4 должны быть заполнены;
  • Peers: Public Key и Allowed IPs (обычно 0.0.0.0/0).

Если вы планируете пропускать через VPN только часть трафика, снимите галочку «Use default gateway» в Advanced Settings. Также обратите внимание на поле «Use custom DNS servers» — если там указан нестандартный IP (не 8.8.8.8, 8.8.4.4, 1.1.1.1 или 1.0.0.1), скопируйте его, он понадобится для настройки Podkop.

Настройка маршрутизации: весь трафик или только нужные сервисы

Существует два основных подхода к маршрутизации трафика через VPN на роутере.

Вариант 1: весь трафик через VPN. В этом случае все устройства в локальной сети будут использовать VPN-туннель для выхода в интернет. Это самый простой способ, но он может замедлить доступ к локальным ресурсам и увеличить нагрузку на VPN-сервер. Для настройки достаточно включить опцию «Route Allowed IPs» у пира и настроить firewall (см. следующий раздел).

Вариант 2: только определённые сервисы через VPN. Этот подход использует сервис Podkop, который позволяет маршрутизировать трафик на основе списков доменов и IP-подсетей. Например, можно направить через VPN только Telegram, Discord или YouTube, оставив российские сайты на обычном подключении. Это удобно, если VPN-сервер находится за границей и доступ к локальным ресурсам через него нежелателен.

Для настройки Podkop установите его на роутер:

sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)

После установки перезагрузите роутер и перейдите в Services → Podkop. Выберите тип подключения «VPN», укажите созданный интерфейс AmneziaWG. Если вы скопировали нестандартный DNS-сервер, включите опцию «Резолвер доменов» и добавьте его IP. Затем выберите нужные списки сообщества (например, Telegram, Discord, Google AI) и нажмите Save & Apply.

Настройка firewall для корректной работы VPN

Чтобы трафик между локальной сетью и VPN-интерфейсом проходил корректно, необходимо настроить зоны firewall. Перейдите в Network → Firewall и создайте новую зону для VPN-интерфейса.

Рекомендуемые параметры зоны:

  • Input: reject
  • Output: accept
  • Forward: accept
  • Masquerading: включено
  • MSS clamping: включено

В поле «Covered networks» укажите созданный VPN-интерфейс. В разделе «Allow forward from source zones» выберите зону lan, чтобы устройства локальной сети могли обращаться к VPN. Затем отредактируйте зону lan и в поле «Allow forward to destination zones» добавьте созданную VPN-зону.

Если вы настраиваете VPN-сервер на роутере (для доступа к домашней сети извне), дополнительно потребуется настроить проброс портов (Port Forwards) для входящих подключений. Например, для порта UDP 54444 укажите Source zone wan, Destination zone HomeVPN, Internal IP — адрес интерфейса VPN.

Проверка подключения и устранение неполадок

После завершения настройки проверьте, что VPN работает. Для этого откройте сайт или приложение, которое должно работать через VPN (например, YouTube или Telegram), и убедитесь, что оно открывается. Также можно проверить IP-адрес на сайте типа 2ip.ru — он должен соответствовать IP-адресу вашего VPN-сервера.

Если VPN не работает, выполните следующие шаги:

  • Проверьте, что интерфейс AmneziaWG активен (Network → Interfaces — статус должен быть «UP»).
  • Убедитесь, что на роутере достаточно свободного места и все пакеты установлены корректно.
  • Проверьте логи: в OpenWrt логи можно посмотреть через LuCI (Status → System Log) или командой logread.
  • Если используется Podkop, проверьте, что выбранные списки корректны и DNS-резолвер настроен.
  • Попробуйте перезагрузить роутер и VPN-интерфейс.

Если проблема связана с блокировкой протокола провайдером, возможно, стоит использовать альтернативные протоколы, например VLESS (XTLS), которые также поддерживаются в OpenWrt через Podkop.

Особенности использования AmneziaWG на OpenWrt в России

В России, где провайдеры активно применяют DPI для блокировки VPN-протоколов, AmneziaWG является одним из наиболее эффективных решений благодаря обфускации. Однако важно учитывать, что даже AmneziaWG может быть заблокирован, если провайдер применяет фильтрацию по UDP-портам или анализирует трафик по сигнатурам.

Для повышения устойчивости рекомендуется:

  • Использовать нестандартные порты (например, 54444 вместо 51820).
  • Периодически обновлять OpenWrt и пакеты AmneziaWG до актуальных версий.
  • Комбинировать AmneziaWG с другими протоколами (например, VLESS) для резервирования.

Также стоит помнить, что Amnezia Premium не поддерживается на OpenWrt из-за несовместимости версий протокола. Если вы используете Premium, рассмотрите возможность настройки собственного сервера через Amnezia Self-hosted.

Альтернативные сценарии: VPN-сервер на роутере

OpenWrt с AmneziaWG можно использовать не только как VPN-клиент, но и как VPN-сервер для доступа к домашней сети извне. Это полезно, если вы хотите подключаться к домашним устройствам (например, к NAS или камерам) из любой точки мира.

Для этого настройте интерфейс AmneziaWG с внутренней подсетью (например, 10.8.2.0/24), задайте порт прослушивания и добавьте пиров (клиентов). Каждому пиру выдаётся уникальный IP-адрес из этой подсети. Затем настройте проброс портов на роутере, чтобы входящие подключения с WAN попадали на VPN-интерфейс.

Для генерации конфигураций клиентов можно использовать пакет qrencode — он позволяет создавать QR-коды для быстрого импорта в мобильные приложения AmneziaWG. В настройках пира нажмите «Generate configuration», укажите внешний IP-адрес роутера и порт, затем отсканируйте QR-код телефоном.

Важно: для работы VPN-сервера необходим белый (статический) IP-адрес. Если у вас динамический IP, можно использовать сервисы динамического DNS (DDNS) или проброс портов через NAT (например, с помощью пакета natmapt).

Вопросы и ответы

Какая версия OpenWrt нужна для AmneziaWG?

Для поддержки AmneziaWG 1.5 и 2.0 требуется OpenWrt версии 24.10.3 или новее. В более старых версиях может установиться устаревшая версия протокола 1.0, которая часто блокируется, или импорт конфигурации будет невозможен. Рекомендуется использовать стабильные версии без суффикса -rcN.

Можно ли использовать Amnezia Premium на OpenWrt?

Нет, стандартная инструкция не подходит для Amnezia Premium, поскольку файлы конфигурации Premium выпускаются только для AmneziaWG 3.1, а OpenWrt пока не поддерживает эту версию нативно. Преобразовать конфигурацию 3.1 в 2.0 невозможно — подключение не будет работать. Для OpenWrt используйте собственный сервер, настроенный через Amnezia Self-hosted.

Как настроить маршрутизацию только для определённых сервисов?

Для этого используется сервис Podkop. Установите его на роутер, затем в Services → Podkop выберите тип подключения «VPN», укажите интерфейс AmneziaWG и выберите нужные списки сообщества (например, Telegram, Discord, YouTube). Трафик, соответствующий этим спискам, будет идти через VPN, остальной — через обычное подключение. При необходимости укажите нестандартный DNS-сервер.

Что делать, если VPN не работает после настройки?

Проверьте, что интерфейс AmneziaWG активен (статус UP), все параметры конфигурации заполнены корректно, и firewall настроен правильно. Посмотрите логи через logread или Status → System Log. Убедитесь, что на роутере достаточно свободного места. Если используется Podkop, проверьте списки и DNS-резолвер. Попробуйте перезагрузить роутер.

Можно ли использовать AmneziaWG на роутере как VPN-сервер?

Да, OpenWrt позволяет настроить AmneziaWG как VPN-сервер для доступа к домашней сети извне. Для этого создайте интерфейс с внутренней подсетью, добавьте пиров, настройте проброс портов и firewall. Для генерации конфигураций клиентов используйте пакет qrencode. Требуется белый статический IP-адрес.

Чем AmneziaWG отличается от обычного WireGuard?

AmneziaWG — это модифицированная версия WireGuard, которая добавляет обфускацию параметров соединения (Jc, Jmin, Jmax, S1–S4, H1–H4). Это позволяет обходить DPI и другие методы блокировки VPN, которые легко распознают классический WireGuard. Однако AmneziaWG требует специальной поддержки на роутере и в клиентских приложениях.

Какой объём свободного места нужен на роутере?

Рекомендуется иметь не менее 30 МБ свободного места на флеш-памяти роутера. Этого достаточно для установки пакетов AmneziaWG и Podkop. Если места недостаточно, можно установить пакеты на внешний носитель, но это усложняет настройку и может снизить стабильность.