Amnezia VPN на своём сервере
В режиме self-hosted приложение Amnezia само разворачивает защищённый канал на арендованной вами машине: подключается по SSH, ставит Docker и поднимает контейнер выбранного протокола. Команды в терминале не нужны: вы вводите адрес сервера, имя пользователя и пароль или ключ.
Коротко. Экран ввода — «Configure your server»: адрес с портом, имя пользователя SSH, пароль или ключ. Автоматический режим ставит один протокол — AmneziaWG на случайный порт. Машина — KVM, публичный IPv4, x86-64, от 1 ядра, 1 ГБ RAM и 10 ГБ SSD.
Amnezia VPN self hosted: что это за режим?
Серверную часть ставит не человек, а клиент: под каждый протокол он поднимает свой контейнер и там же генерирует ключи и корневой сертификат. Сервер остаётся вашим — порты, протоколы и срок аренды ваша зона ответственности, приложение бесплатно.
Чем это отличается от Amnezia Hosting и Premium?
Тем, чья это машина. В self-hosted сервер арендуете вы и открываете приложению доступ по SSH. Amnezia Hosting — другой продукт: сервер вендора, где вместо SSH, терминала и ручной настройки дают клиентскую панель. Free — бесплатный доступ к серверам вендора, Premium — подписка; своей машины нет ни там, ни там. Спрос сопоставим: у «amnezia vpn self hosted» около 245 показов в месяц, у «amnezia vpn hosting» — 270. Смета владения — в материале «Свой VPN на VPS».
Какой сервер подойдёт под мастер установки?
Совместимость решается до оплаты тарифа: установка чаще обрывается на ней, а не на пароле.
| Параметр | Требование | Если не совпало |
|---|---|---|
| Железо | KVM и x86-64 (amd64) | OpenVZ, LXC, x86 и ARM64 не подходят |
| Адрес | Публичный IPv4 | IPv6 не поддерживается, домен — только с A-записью |
| Система | Ubuntu 22.04.x, 24.04.x, Debian 12 и 13 | Ubuntu 20.04.x, Debian 11, Fedora 42–43 обычно работают; без systemd — нет |
| Ядро | 4.8 для AmneziaWG 1.0, 4.14 для 2.0, 5.6 для WireGuard | Код 214 «Kernel is too old» |
| Ресурсы | 1 ядро, 1 ГБ RAM, 10 ГБ SSD | Для 10+ подключений — 2 vCPU и 2 ГБ |
Нужен ли root на арендованной машине?
Нет: годится root либо участник группы sudo, выполняющий команды без запроса пароля, — клиент делает пробный неинтерактивный вызов. Docker ставит само приложение, а найдя под именем docker Podman, прекращает работу.
Как пройти мастер установки шаг за шагом?
Пять шагов от проверки тарифа до рабочего канала; подписи — по документации вендора.
Шаг 1. Проверить тариф и доступ по SSH
Сверьте машину с таблицей выше и убедитесь, что заходите под root или пользователем с беспарольным sudo. Порт SSH по умолчанию 22, его часто переносят.
Шаг 2. Открыть пункт про свой сервер
Нажмите иконку «плюс» или Get Started и выберите пункт про свой сервер — в документации это «Self-hosted VPN». Клиент берите только с amnezia.org или github.com/amnezia-vpn: сторонние сборки и «зеркала» несут изменённые настройки.
Шаг 3. Заполнить экран Configure your server
Три поля: «Server IP address [:port]» (плейсхолдер 255.255.255.255:22), «SSH Username» (root) и «Password or SSH private key». Порт дописывается через двоеточие: 203.0.113.10:2221. Ключ вставляют целиком, со строками BEGIN и END; принимаются ED25519 и RSA в PEM.
Шаг 4. Выбрать тип установки
На экране «Choose Installation Type» доступны «Automatic», «Manual» и «Skip setup». Автоматический ставит ровно один протокол — AmneziaWG: флаг простой установки выставлен ему одному.
Шаг 5. Дождаться установки и сменить порт
Обычно это не дольше пяти минут; при работающем пакетном менеджере установка ждёт. Затем смените случайный порт AmneziaWG на число до 9999 (в примерах 585 или 1234): провайдеры режут UDP на высоких портах.
Что остаётся на сервере после развёртывания?
Каталог /opt/amnezia/<протокол> и набор контейнеров. У AmneziaWG это /opt/amnezia/awg с awg0.conf и тремя ключами; в конфиге — параметры обфускации Jc, Jmin, Jmax, S1–S4 и H1–H4.
Контейнеры зовутся «amnezia-» плюс протокол: awg, awg2, openvpn, xray, dns. Заранее создаётся docker-сеть amnezia-dns-net (bridge, подсеть 172.29.172.0/24, интерфейс amn0). Контейнер AmneziaWG привилегированный, с NET_ADMIN и SYS_MODULE, журнал отключён флагом --log-driver none. Скрипт очистки сносит всё разом: контейнеры, образы, тома и каталог /opt/amnezia. Отозвать или сбросить утёкший ключ полного доступа нельзя: вендор предписывает немедленно сменить root-пароль и удалить с сервера протоколы и сервисы Amnezia.
Почему установка обрывается на кодах 200–219?
Потому что двухсотая серия — это стадия развёртывания, а не подключения. Коды 200–214 разобраны в документации вендора, 215–219 есть только в исходниках клиента (client/core/utils/errorCodes.h). Общий индикатор — 200 «Server check failed».
| Симптом (код) | Причина | Решение |
|---|---|---|
| 201 Port already used | Порт занят другим ПО | Задать другой порт вручную |
| 203 Docker failed | Docker не встал или не стартовал | Проверить, не занял ли Podman имя docker |
| 205 / 207 sudo | Нет прав sudo или пакета нет в образе | Зайти под root или доставить sudo |
| 209 / 210 sudoers | Команда запрещена или sudo требует пароль | Настроить беспарольный sudo |
| 213 Pull rate limit | Исчерпан лимит скачивания образов | Подождать и повторить |
| 214 Kernel is too old | Ядро ниже требуемого протоколом | Переустановить из свежего образа |
| 218 / 219 Container runtime | Runtime не поддержан или служба не запущена | Поставить Docker Engine вручную |
Чем коды 300 и 305 отличаются от 200-й серии?
Стадией. Коды 300 и 305 — это SSH-подключение: мастер ещё ничего не развернул. Двухсотая серия идёт уже по установленному соединению, а 103 к серверу отношения не имеет — это фоновая служба на вашем компьютере. Причины и решения по 300 и 305 — на странице ошибок Amnezia VPN.
Какие протоколы можно доустановить вручную?
Раздел документации об установке и настройке протоколов перечисляет четыре: AmneziaWG, XRay VLESS Reality, OpenVPN и WireGuard. Путь один — имя подключения внизу экрана, шестерёнка, вкладка «Протоколы». Там же ставятся сервисы: DNS, SFTP, SOCKS5-прокси и MTProxy.
- AmneziaWG 2.0 требует клиента 4.8.12.9 и новее: добавлены S3, S4 и диапазоны H1–H4, прежняя версия — «AmneziaWG Legacy».
- XRay VLESS Reality даёт менять только «Server Name (SNI)» и порт (по умолчанию 443); прочие настройки остановят соединение.
- IKEv2/IPsec работает на портах 500 и 4500 и только на Windows, а OpenVPN over SS и Cloak помечены строкой «This protocol is no longer supported».
Сравнение — в разборе протоколов Amnezia, что дальше — в настройке Amnezia VPN.
Материал носит научно-технический характер. Прямой ответственности за использование VPN физическим лицом законодательство РФ не устанавливает; сайт не аффилирован с Amnezia.
Частые вопросы
Что спрашивают до запуска мастера.
Что нужно ввести в мастере self-hosted?
Три значения на экране «Configure your server»: адрес сервера в поле «Server IP address [:port]» (нестандартный порт дописывается через двоеточие, например 203.0.113.10:2221), имя пользователя в «SSH Username» и пароль либо приватный ключ в «Password or SSH private key». Ключ вставляется текстом целиком, вместе со строками BEGIN и END; поддерживаются типы ED25519 и RSA в формате PEM. Приложение показывает уведомление, что введённые данные не передаются ни Amnezia, ни третьим лицам.
Какой протокол ставится автоматически?
Только AmneziaWG: в коде клиента флаг простой установки выставлен единственному контейнеру, и порт ему назначается случайно. Документация советует сразу сменить его на число до 9999 — в примерах вендора 585 или 1234, — потому что провайдеры часто режут UDP на высоких портах. Остальные протоколы (XRay VLESS Reality, OpenVPN, WireGuard) доустанавливаются потом через вкладку «Протоколы» в свойствах сервера.
Нужен ли root на сервере?
Нет. Подойдёт root либо пользователь в группе sudo с правом выполнять любую команду через sudo без запроса пароля: проверочный скрипт клиента смотрит вхождение в группу sudo или wheel и делает пробный неинтерактивный вызов. Именно на этом условии установка чаще всего и обрывается — коды 205 (пользователь не в группе sudo), 207 (пакет sudo не предустановлен), 209 (действие не разрешено в sudoers) и 210 (требуется пароль пользователя).
Какой VPS не подойдёт под Amnezia?
Машина на контейнерной виртуализации OpenVZ или LXC — нужен KVM. Также не подойдут архитектуры x86 и ARM64 (поддерживается только x86-64/amd64), тарифы без публичного IPv4 (IPv6 не поддерживается) и дистрибутивы без systemd. Отдельная причина отказа — слишком старое ядро: AmneziaWG 1.0 требует минимум 4.8, AmneziaWG 2.0 — 4.14, WireGuard — 5.6; при несовпадении установка падает с кодом 214 «Linux kernel is too old».
Чем ошибка 300 отличается от 305?
Код 300 «SSH request was denied» означает, что сервер отклонил запрос: неверные данные подключения, нехватка ресурсов на машине или устаревшая версия приложения. Код 305 «Timeout connecting to server» — сервер не ответил вовремя: порт 22 закрыт или фильтруется, либо хост недоступен. Ошибки ключа выделены отдельно: 303 — неверный ключ или парольная фраза, 304 — неподдерживаемый формат ключа.
Как убрать Amnezia с сервера полностью?
Скриптом полной очистки: он останавливает и удаляет все контейнеры с «amnezia» в имени, стирает их образы, тома с префиксом amnezia-, docker-сеть amnezia-dns-net и каталог /opt/amnezia целиком. Отозвать или сбросить утёкший ключ полного доступа нельзя: вендор предписывает немедленно сменить root-пароль сервера и удалить с него протоколы и сервисы Amnezia.