Настройка сервера Amnezia VPN (AWG 2.0 и 3.0) на MikroTik

📅 25.08.2026

Настройка сервера Amnezia VPN (AWG 2.0 и 3.0) на MikroTik


В этом материале мы разберём, как развернуть собственный VPN-сервер с поддержкой протоколов AmneziaWG 2.0 и 3.0 на роутере MikroTik с помощью легковесного Docker-контейнера. Решение работает на архитектурах ARM, ARM64 и x86 и практически не нагружает процессор (5–15% CPU, 7–10 МБ RAM на ARM64).


Как это работает


MikroTik WG-клиент → UDP → [awg-proxy контейнер] → UDP → AmneziaWG-сервер


- Родной WireGuard-клиент MikroTik шифрует трафик.

- Контейнер-прокси (awg-proxy) преобразует пакеты в формат AmneziaWG: подменяет заголовки, добавляет padding и мусорные пакеты.

- Сервер AmneziaWG принимает трафик как обычный AWG-клиент.


Контейнер не расшифровывает и не хранит ключи — он только преобразует формат пакетов, безопасность остаётся на уровне WireGuard.


AmneziaWG 2.0 и 3.0: в чём разница


- AWG 2.0: динамические заголовки (H1–H4), случайный padding (S1–S4), мусорные пакеты (I1–I5). Маскирует отдельные пакеты.

- AWG 3.0: добавляет шифрование заголовков (HeaderProtectionKey), дополнительный padding (ContentPaddingAddition) и случайные таймеры. Маскирует всё соединение целиком.


Версия определяется автоматически по переменным в конфиге.


Подготовка


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


- Архитектура: ARM, ARM64 или x86_64

- RouterOS: версия 7.4+ с пакетом container

- Свободное место: минимум 5 МБ

- Оперативная память: от 16 МБ свободной RAM

- Белый IP-адрес: статический или DynDNS


Важно: Перед настройкой отключите FastTrack в RouterOS.


Подготовка конфигурационного файла


Вам понадобится .conf-файл, экспортированный из приложения AmneziaVPN:


1. Откройте приложение AmneziaVPN.

2. Выберите подключение с нужной версией протокола (AWG 2.0 или 3.0).

3. Нажмите «Поделиться» → «Формат подключения» → «Оригинальный (нативный) формат AmneziaWG».

4. Сохраните .conf-файл.


Важно: Версия протокола определяется автоматически по наличию параметров HeaderProtectionKey и ContentPaddingAddition. Если они есть — это AWG 3.0, если только I1–I5 и H/S — AWG 2.0.


Пошаговая настройка


Шаг 1. Включение контейнеров


1. Скачайте пакет container с сайта MikroTik под вашу архитектуру.

2. Загрузите его на роутер через WinBox и перезагрузите.

3. В терминале выполните:

   /system/device-mode/update container=yes fetch=yes

4. Подтвердите действие физически (кнопка на корпусе или перезагрузка).


Шаг 2. Создание сети для контейнера


В терминале выполните:


/interface bridge add name=containers

/interface veth add address=192.168.112.2/29 gateway=192.168.112.1 name=awg-proxy

/interface bridge port add bridge=containers interface=awg-proxy


Шаг 3. Загрузка и настройка контейнера


Рекомендуется использовать C-версию контейнера — она даёт на 100–150% больше пропускной способности, чем Go-версия.


Откройте конфигуратор: timbrs.github.io/amneziawg-mikrotik-c/configurator.html, вставьте содержимое .conf-файла и скопируйте сгенерированные команды в терминал MikroTik.


Ручная установка (если конфигуратор недоступен):


/container/add remote-image=wiktorbgu/amneziawg-mikrotik interface=awg-proxy root-dir=/usb1/docker/amneziawg start-on-boot=yes logging=yes mounts=amnezia_wg_conf dns=1.1.1.1


Подставьте свои пути и имена интерфейсов.


Шаг 4. Настройка маршрутизации


Чтобы клиенты могли выходить в интернет через AWG-сервер, настройте NAT и маршрут по умолчанию:


/ip firewall nat add chain=srcnat action=masquerade out-interface=wg-awg-proxy comment="NAT for AWG"

/ip route add dst-address=0.0.0.0/0 gateway=wg-awg-proxy distance=1 comment="default via AWG"


Для выборочной маршрутизации (только определённые IP или подсети) создайте address-list и правила mangle.


Шаг 5. Запуск и проверка


/container start [имя_контейнера]

/container logs [имя_контейнера]


Убедитесь, что handshake проходит успешно.


Серверный режим (1:N) — несколько клиентов


Если вы хотите подключать к одному MikroTik несколько клиентов, используйте режим awg-server (reverse-hub).


Схема работы:


proxy1 (normal)  ──AWG──┐

proxy2 (normal)  ──AWG──┤──> [reverse-hub] ──WG──> WG-сервер на MikroTik

proxy3 (normal)  ──AWG──┘


Для этого:


1. На MikroTik поднимите обычный WireGuard-сервер (интерфейс wg-server с IP-пулом).

2. Настройте reverse-hub контейнер, который будет принимать AWG-трафик от нескольких normal-прокси и маршрутизировать его на локальный WG-сервер.

3. Каждый клиент получает свой конфиг для normal-прокси с уникальным ключом.


Подробная настройка описана в разделе «Серверный режим (1:N)» в README контейнера.


Параметры AWG 2.0 и 3.0 (примеры)


- AWG 2.0: I1 = <r 128>, I2 = <r 48>, H1 = 100000-800000, S1 = 0-100

- AWG 3.0: HeaderProtectionKey = <base64>, ContentPaddingAddition = true


Версия определяется автоматически, но вы можете экспериментировать с I1–I5 для AWG 2.0.


Устранение неполадок


- Handshake не проходит: проверьте порты в firewall, правильность endpoint, логи контейнера: /container logs [имя]

- Контейнер не запускается: убедитесь, что включён режим контейнеров (/system/device-mode/update container=yes fetch=yes), проверьте свободное место на диске.

- Ошибка not allowed by device-mode: выполните команду включения контейнеров и перезагрузите роутер.

- Низкая скорость: используйте C-версию контейнера вместо Go, проверьте MTU (рекомендуется 1420), в конфиге клиента укажите MTU = 1420 в секции [Interface].

- Роутер крешится: добавьте swap на флешку.


Часто задаваемые вопросы


Вопрос: Можно ли использовать один конфиг для нескольких устройств?

Ответ: Нет, каждый клиент должен иметь свой собственный ключ и IP-адрес. В серверном режиме (1:N) вы создаёте отдельные конфиги для каждого устройства.


Вопрос: Как узнать, какая версия AWG используется?

Ответ: Версия определяется автоматически по наличию параметров HeaderProtectionKey и ContentPaddingAddition в конфиге. Если они есть — это AWG 3.0, если только I1–I5 и H/S — AWG 2.0.


Вопрос: Почему handshake не проходит после перезагрузки роутера?

Ответ: Проверьте, что контейнер запускается автоматически (параметр start-on-boot=yes). Также убедитесь, что в фаерволе разрешён входящий трафик на порт WireGuard.


Заключение


Вы развернули AmneziaWG-сервер на MikroTik с поддержкой AWG 2.0 и 3.0. Контейнер-прокси работает в паре с родным WireGuard-клиентом, преобразуя трафик в формат AmneziaWG.


Что дальше?

- Подключайте клиенты через приложение AmneziaVPN, используя экспортированный конфиг.

- Для нескольких клиентов используйте серверный режим (1:N).

- При необходимости экспериментируйте с параметрами I1–I5 (для AWG 2.0) и HeaderProtectionKey (для AWG 3.0).


Полезные ссылки


- Конфигуратор для C-версии (рекомендуется): https://timbrs.github.io/amneziawg-mikrotik-c/configurator.html

- Репозиторий C-версии контейнера: https://github.com/timbrs/amneziawg-mikrotik-c

- Репозиторий catesin/AmneziaWG-MikroTik — полная инструкция: https://github.com/catesin/AmneziaWG-MikroTik

- Официальная документация Amnezia: https://docs.amnezia.org/ru/


← Назад к списку На главную