Amnezia VPN: свой сервер с AmneziaWG и XRay без командной строки

Установка VPN на VPS через приложение AmneziaVPN: требования к серверу, почему AmneziaWG на порту до 9999, ошибка 1200, гостевые подключения и таблица кодов ошибок. Debian 12, Ubuntu 24.04.

12 октября 2026 г.·9 мин чтения·amnezia, amneziawg, xray, reality

Amnezia VPN — бесплатное приложение с открытым кодом, которое само настраивает VPN на вашем сервере. Вы вводите IP и пароль, остальное оно делает по SSH без вашего участия: ставит Docker, поднимает контейнер с выбранным протоколом, генерирует ключи. Вариант для тех, кто не хочет открывать терминал вообще. Ниже — как это устроено, какой протокол выбрать и все шаги от добавления сервера до раздачи доступа близким. Описание соответствует AmneziaVPN 5.0.x.

Как Amnezia настраивает сервер

После нажатия «Установить» приложение заходит на сервер по SSH под root (или под пользователем с sudo) и выполняет команды само. Сначала Docker, затем отдельный контейнер на каждый выбранный протокол. У каждого контейнера свои ключи и корневой сертификат, поэтому протоколы друг от друга не зависят: любой можно удалить или переустановить, не трогая остальные.

Отсюда требования: нужна полноценная виртуальная машина с KVM, процессор x86-64 и systemd. На LXC и OpenVZ Docker не заработает.

Параметр Минимум Для 10+ подключений
Система Debian 12 или 13, Ubuntu 22.04 или 24.04 то же
Процессор 1 ядро x86-64 2 ядра
Память 1 ГБ 2 ГБ
Диск 10 ГБ 10 ГБ
Виртуализация KVM KVM

Какой протокол выбрать

Amnezia умеет ставить несколько протоколов, но для сетей с жёсткой фильтрацией имеет смысл два: AmneziaWG и XRay с REALITY.

Обычный WireGuard опознаётся DPI без расшифровки: служебные пакеты рукопожатия всегда 148, 92 и 64 байта, у каждого фиксированный номер типа, интервалы предсказуемы. AmneziaWG оставляет криптографию нетронутой и меняет только внешний вид пакетов. Пример параметров, которые приложение выбрало на тестовом сервере (у вас будут другие):

Порт = 1234

Jc = 5
Jmin = 10
Jmax = 50
S1 = S2 = S3 = S4 = 12
H1 = 1, H2 = 2, H3 = 3, H4 = 4
I1 = <пакет, похожий на DNS-ответ>
RekeyAfterTime = 100-120
KeepaliveTimeout = 5-15

HeaderProtectionKey = включён
RandomTrailers = включён
DisableCookies = включён

Что здесь происходит:

  • Jc, Jmin, Jmax — перед рукопожатием обе стороны шлют Jc мусорных пакетов случайной длины от Jmin до Jmax байт, и начало сессии перестаёт выглядеть как WireGuard.
  • I1 — ещё один пакет-приманка, здесь он имитирует ответ DNS-сервера, то есть самый обычный UDP.
  • S1–S4 — к каждому типу пакета дописывается 12 случайных байт, и характерные размеры 148/92/64 исчезают.
  • H1–H4 стандартные, потому что вместо подмены номеров работает HeaderProtectionKey — шифрует служебные поля целиком (ему и нужны 12 байт в S1–S4).
  • RekeyAfterTime и KeepaliveTimeout заданы диапазонами — ритм переподключений непредсказуем.
  • RandomTrailers — случайный хвост у служебных пакетов, DisableCookies — нет ответов, по которым сервер опознаётся активной проверкой.

Постоянной сигнатуры не остаётся, а поскольку всё идёт поверх UDP без обёрток, AmneziaWG обычно самый быстрый.

XRay с REALITY действует иначе: работает по TCP и выдаёт соединение за TLS-подключение к настоящему внешнему сайту. Он нужен там, где режут UDP к зарубежным адресам целиком — тогда никакая маскировка AmneziaWG не спасёт. Плата — чуть выше задержка, как у любого TCP. Подробнее о механике — в статье что такое VLESS и Reality.

Протокол Транспорт Как прячется от DPI Когда выбирать
AmneziaWG UDP шифрует служебные поля, меняет размеры и ритм пакетов, шлёт приманки по умолчанию, самый быстрый
XRay с REALITY TCP выглядит как TLS к настоящему сайту если AmneziaWG не подключается или режут UDP
WireGuard, OpenVPN, IPsec UDP или TCP никак не использовать

Не ставьте протоколы без маскировки. Обычные WireGuard, OpenVPN и IKEv2 распознаются DPI, и разработчики Amnezia прямо предупреждают: в странах с жёсткой цензурой из-за них могут заблокировать IP всего сервера.

Правило простое: начните с AmneziaWG, при проблемах добавьте на тот же сервер XRay и переключайтесь между ними.

Что нужно

  • Сервер на tanaka.host с Debian 12 или Ubuntu 24.04. Debian 13 тоже поддерживается, но на нём встречается ошибка 208 с домашним каталогом, и разработчики сами советуют в таком случае Debian 12.
  • IP-адрес, имя пользователя и пароль сервера из кабинета.
  • AmneziaVPN версии 5.0.2.1 или новее на компьютере или телефоне.

1. Установите AmneziaVPN

Скачайте приложение с amnezia.org. Если сайт недоступен, все сборки лежат в репозитории на GitHub. Есть версии для Windows, macOS, Linux, Android и iOS; ставить VPN на сервер удобнее с компьютера, а на телефон потом передать готовое подключение.

Если приложение уже стоит — обновите. Версии до 5.0.1.5 не понимают подключения нового формата, а в новых заметно стабильнее AmneziaWG.

2. Подключите сервер

  1. Откройте AmneziaVPN и нажмите «Приступим». Если подключения уже есть — «+» в нижней панели.
  2. Выберите «VPN на своём сервере».
  3. Заполните форму:
    • IP-адрес сервера. Если вы меняли порт SSH, укажите его через двоеточие: 203.0.113.10:2222.
    • Имя пользователя: root.
    • Пароль из кабинета.
  4. Нажмите «Продолжить».

Если на сервере вход только по ключу, вместо пароля вставьте приватный ключ целиком, включая строки BEGIN и END. Принимаются ED25519 и RSA в формате PEM.

3. Установите AmneziaWG на свой порт

Приложение предложит два типа установки: автоматическая ставит AmneziaWG на случайный порт, ручная даёт выбрать протокол и порт.

Случайный порт обычно высокий, например 35581, а часть провайдеров блокирует UDP на высоких портах: VPN ставится без ошибок, но не подключается. Разработчики советуют порт не выше 9999 — задайте его сразу через ручную установку.

  1. Выберите «Ручная» и «Продолжить».
  2. В списке протоколов — AmneziaWG.
  3. В поле «Порт» замените случайное значение на свободный порт до 9999, например 585 или 1234.
  4. Нажмите «Установить».

Установка занимает до пяти минут, обычно меньше минуты. На главном экране появится «Сервер 1» с подписью AmneziaWG и кнопкой «Подключиться».

Первая установка может оборваться ошибкой 1200 («Ошибка QFile: не удалось открыть файл»). Это ошибка приложения на компьютере, не сервера — ему не удалось открыть свой служебный файл, и бывает это как раз сразу после установки AmneziaVPN. На сервере ничего удалять не нужно. Нажмите «Закрыть», затем шестерёнка → «Закрыть приложение» (чтобы завершить его полностью), откройте заново. Если сервер не сохранился и снова экран «Приступим» — повторите шаги 2 и 3 с теми же данными, вторая попытка обычно проходит.

Кнопка «Пропустить настройку» нужна только если Amnezia на сервере уже стоит: тогда Настройки → Серверы → сервер → «Управление» → «Проверить сервер на наличие ранее установленных сервисов Amnezia».

4. Подключитесь

Большая кнопка «Подключиться» на главном экране. Проверьте на любом сайте, показывающем IP (например, 2ip.ru): там должен быть адрес сервера, а не провайдера. Если не подключается — раздел «Если что-то не работает» ниже.

5. Поделитесь доступом

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

Не передавайте своё подключение с полным доступом. Человек с ним сможет удалять протоколы и отзывать чужие ключи — то есть управлять вашим VPN.

  1. Значок «Поделиться» в нижней панели (второй слева).
  2. На вкладке «Соединение» введите имя, по которому узнаете подключение: «Мама, телефон».
  3. Проверьте сервер и протокол, выберите формат:
    • «Для приложения AmneziaVPN» — ключ вида vpn://.
    • «Оригинальный формат AmneziaWG» — файл .conf для приложения AmneziaWG или роутера.
  4. Нажмите «Поделиться».

Откроется окно с подключением: отправьте файл, скопируйте ключ или покажите QR-код, который человек отсканирует в AmneziaVPN. QR-кода нет только у оригинального формата AmneziaWG.

Ключ и QR-код — это доступ к VPN; не публикуйте их в открытых чатах.

Отозвать: «Поделиться» → вкладка «Пользователи» → сервер и протокол → нужный человек → «Отозвать». Там же подключение переименовывается.

Как добавить XRay на тот же сервер

  1. Шестерёнка → «Серверы» → ваш сервер.
  2. На вкладке «Протоколы» у установленного AmneziaWG стоит стрелка, у остальных — значок загрузки.
  3. Нажмите загрузку рядом с XRay, затем «Установить».

После установки переключитесь на XRay по инструкции Amnezia.

Если что-то не работает

Что происходит Что проверить первым
Ошибка 1200 «не удалось открыть файл» закройте приложение через настройки и повторите
Приложение не может подключиться к серверу IP, пароль, порт SSH, сервер активен; попробуйте зайти по SSH вручную
AmneziaWG установлен, VPN не подключается порт протокола должен быть не выше 9999
Смена порта не помогла добавьте XRay
После обновления приложения подключения отвалились переустановите AmneziaWG и раздайте ключи заново
Медленно или обрывается сравните AmneziaWG и XRay, у разных провайдеров лучше работает то один, то другой

Порт AmneziaWG виден в карточке сервера. Выше 9999 — удалите протокол и поставьте заново на порт до 9999; гостевые подключения этого протокола пропадут. После обновления приложения то же самое: новые версии AmneziaWG несовместимы со старыми, а контейнер общий, так что обновить на месте нельзя.

Коды ошибок при установке

По официальному списку Amnezia:

Код Что означает Что делать
200 проверка сервера не прошла сверьте требования выше
201 порт занят другой программой выберите другой порт
202, 203 ошибка Docker или пропал контейнер добавьте сервер заново, проверьте порты
205, 207, 209, 210 нет нужных прав sudo подключайтесь как root
206 занят менеджер пакетов подождите или перезагрузите сервер
208 нет доступа к домашнему каталогу root; на Debian 13 обновите приложение или возьмите Debian 12
211, 212 Docker не работает в этой виртуализации нужен KVM, а не LXC/OpenVZ
213 Docker Hub ограничил загрузки подождите и повторите
214 слишком старое ядро переустановите на Debian 12 или Ubuntu 24.04
300 сервер отклонил вход по SSH пароль и разрешён ли вход по паролю
302 внутренняя ошибка SSH перезапустите приложение, смените сеть
303, 304 неверный ключ или формат ED25519 или RSA в PEM
305 сервер не ответил по SSH IP, порт SSH, сервер активен
700 уже работает другой VPN отключите его
1200–1205 приложение не смогло открыть файл закройте через настройки и повторите

Общая диагностика для любого VPN на своём сервере — в статье VPN не подключается.