Серверы для Amnezia VPN
Серверы в Amnezia появляются двумя независимыми путями, и чинится каждый по-своему: приложение либо забирает готовую конфигурацию из API вендора (режимы Free и Premium), либо само разворачивает службы на вашей машине, подключившись к ней по SSH. Первый путь ломается на кодах группы 11xx, второй — на 3xx при подключении и на 2xx при установке. Пункты меню — по документации docs.amnezia.org; в русской локализации названия иные.
Коротко. Пустой перечень локаций — не лимит устройств: за список услуг отвечает код 1107 (ApiServicesMissingError), за неудачную загрузку конфигурации — 1100. Лимит это 1108, и считает он не устройства, а 7 активных подключений. Конфигурацию из API сбрасывает кнопка «Reload API config». Своя машина отваливается иначе: 300 — запрос отклонён, 305 — таймаут (порт 22 закрыт), 2xx — отказ сервера при установке.
Откуда в приложении берутся серверы?
Из двух источников, и обслуживает их разный код клиента. Первый — конфигурация из API вендора: ключ подписки вида vpn:// приходит на почту после оплаты и добавляется через «плюс» → Insert → Continue → Connect. Так устроены и Premium (лимит — 7 активных подключений), и бесплатный Free, состав которого зависит от страны.
Второй источник — ваша машина: вводите адрес, логин и пароль, остальное приложение делает само. Одна арендованная машина равна одной локации: страна канала совпадает со страной сервера. Режимы вендора разобраны в материале про личный кабинет и подписку.
Симптом, причина и решение по кодам
Два сценария: 11xx — серверы из API, 3xx и 2xx — ваша машина.
| Симптом | Причина | Что делать |
|---|---|---|
| Перечень локаций пуст | 1107 — не пришёл список услуг | Обновить клиент, сменить источник интернета |
| Конфигурация не скачивается | 1100 — клиент не достучался до API | Проверить связь, повторить, обновить приложение |
| Новое устройство не принимается | 1108 — исчерпаны 7 подключений | Отвязать устройство или отозвать конфиг |
| Свой сервер не добавляется | 300 — данные, ресурсы, старый клиент | Сверить логин, пароль и порт |
| Долгий таймаут при добавлении | 305 — порт 22 закрыт | Открыть SSH-порт в файрволе и у хостера |
| Установка началась и упала | 2xx — порт, sudo, ядро, Docker | Разбирать по коду группы 2xx |
Почему не загружается список локаций?
Потому что перечень услуг приходит от API отдельно от самой конфигурации, и у этого случая свой код — 1107 ApiServicesMissingError, дословно «Missing list of available services». Его путают с 1100 (ApiConfigDownloadError — конфигурацию не получили вовсе) и с 1108, хотя ситуации разные; всего в группе API тринадцать кодов, включая 1102 (пустой конфиг), 1103 (таймаут), 1104 (SSL) и 1112 (истекшая подписка).
Карточка 1107 советует: свежая версия приложения, другой источник интернета, для Free — пересоздать подключение через «VPN by Amnezia», для Premium — сменить протокол или скачать конфигурационные файлы в Personal Dashboard.
Код 1108 считает не устройства, а активные подключения — сумму конфигурационных файлов и устройств с ключом vpn://; максимум 7. В документации есть пример: 2 из 7 при одном устройстве — значит, сгенерирован лишний файл; слот освобождают там же.
Как обновить конфигурацию из API?
Кнопкой «Reload API config» — вендор ставит её вторым шагом, сразу после обновления приложения. Путь: нажать на локацию подключения → шестерёнка справа вверху → «Reload API config» → «Continue». Операция не разрывает соединение, а лишь подтягивает обновлённые параметры серверов.
Официальный порядок разбора для Premium — пять шагов до обращения в поддержку:
- Обновить приложение (релизы — во вкладке Releases репозитория amnezia-client).
- Выполнить «Reload API config».
- Перебрать локации: вендор просит проверить подключение к каждой доступной.
- Сменить протокол: нажать текущий (AmneziaWG) и выбрать VLESS, затем «Connect».
- Учесть сеть: вендор пишет, что мобильный интернет в России всё чаще работает по «белым спискам», и советует другой источник интернета.
Что мешает добавить свою машину?
Отказ на этапе SSH — и код показывает, где искать. 300 (SshRequestDeniedError) — сервер запрос отклонил: учётные данные, ресурсы, версия клиента. 305 (SshTimeoutError) — ответа не было вовсе, вендор прямо называет закрытый порт 22: файрвол и панель хостера. Подробный разбор пары — в кодах ошибок Amnezia VPN.
Реже попадаются: 302 — неверно введённые данные подключения, заблокированный провайдером адрес сервера или выключенная хостером машина; 303 — неверный приватный ключ либо парольная фраза; 304 — формат ключа (нужен openssh ED25519 или PEM); 400 — ошибка SCP, обычно из-за установки не от root. Нестандартный SSH-порт вводится прямо в поле «Server IP address» — 203.0.113.10:2221, по умолчанию 22.
Почему установка падает уже на сервере?
Потому что после входа по SSH идёт вторая фаза — разворачивание Docker-контейнеров, и у неё своя группа кодов 2xx: виновата машина, а не клиент. 201 — порт занят другим ПО, 202 — нет контейнера Docker, 205 — пользователь не в группе sudo, 207 — sudo не предустановлен, 209 — действие не разрешено в sudoers, 211 — runc не работает на cgroups v2, 213 — лимит скачиваний Docker Hub, 214 — слишком старое ядро Linux.
Половина списка про одно: заходя не под root, пользователь обязан быть в группе sudo и выполнять sudo без запроса пароля. То же требование закрывает и ошибку 400.
Какая машина подойдёт и какой порт ставить?
KVM с публичным IPv4 и архитектурой x86-64: контейнерные OpenVZ и LXC документация называет нерабочими, IPv6 не поддерживается. Требования к железу (1 ядро, 1 ГБ RAM, 10 ГБ SSD, Ubuntu 22.04.x/24.04.x или Debian 12/13) — в материале свой VPN на VPS.
Порт AmneziaWG по умолчанию случайный, и вендор советует сразу сменить его на номер до 9999 — 585 или 1234: часть российских провайдеров уже блокирует UDP на портах выше 9999. Смена порта обнуляет выданные ключи и конфигурационные файлы. Для XRay VLESS Reality правило обратное — 443 менять не рекомендуется; разбор протоколов — на отдельной странице.
Как проверить и почистить свой сервер?
Диагностическим скриптом check_server.sh из каталога client/server_scripts репозитория amnezia-client: в поддержку передают вывод между === STARTING VPN SERVER DIAGNOSTICS === и === FINISH ===. Скрипт смотрит ОС и ядро, архитектуру, ресурсы, sudo без пароля, Docker и слушающие порты.
След приложения опознаётся по именам: контейнеры с подстрокой amnezia, тома с префиксом amnezia-, сеть amnezia-dns-net, каталог /opt/amnezia. Если машина уже настраивалась, а подключений не видно, помогает «Check the server for previously installed Amnezia services» на вкладке «Management». «Remove server from application» при этом ничего не стирает: службы подхватятся при повторном добавлении, поэтому VPS сначала чистят кнопкой «Clear server from Amnezia software».
Частые вопросы
Короткие ответы на частые вопросы про серверы приложения.
Почему в Amnezia VPN не загружается список серверов?
Пустой перечень локаций у режимов Free и Premium — это отдельный код 1107 (ApiServicesMissingError), дословно «Missing list of available services»: приложению не пришёл список доступных услуг. Его часто путают с 1100 (ApiConfigDownloadError), когда конфигурацию не удалось получить из API вообще, и с 1108, который отвечает за лимит. В карточке 1107 документация советует поставить свежую версию приложения и сменить источник интернета; для Free — пересоздать подключение через «VPN by Amnezia», для Premium — сменить протокол или скачать конфигурационные файлы в Personal Dashboard. Общий приём при проблемах с серверами подписки — сброс конфигурации кнопкой «Reload API config» и «Continue».
Ошибка 1100 — это превышен лимит устройств?
Нет. Код 1100 (ApiConfigDownloadError) означает, что клиент не смог связаться с API и получить конфигурацию. Лимит — это 1108 (ApiConfigLimitError), и считает он не устройства, а активные подключения: сумму сгенерированных конфигурационных файлов и устройств, привязанных ключом vpn://, всего до 7. В документации есть пример: 2 из 7 при одном активном устройстве означают, что вы сгенерировали лишний конфигурационный файл.
Какой VPS нужен, чтобы поднять на нём Amnezia?
Машина на KVM с публичным IPv4 и архитектурой x86-64 (amd64). Контейнерная виртуализация OpenVZ и LXC не заработает, x86 и arm64/aarch64 не поддерживаются, IPv6 тоже; доменное имя годится, только если резолвится в IPv4. Минимум — 1 ядро, 1 ГБ RAM и 10 ГБ SSD, от десяти одновременных подключений рекомендуются 2 ГБ RAM и 2 vCPU. Официально поддержаны Ubuntu 22.04.x/24.04.x и Debian 12/13, предустановленного ПО и панели управления не требуется.
Чем отличаются коды 300 и 305 при подключении своего сервера?
300 (SshRequestDeniedError) — сервер запрос получил и отклонил: неверные данные подключения, нехватка ресурсов или устаревшая версия приложения. 305 (SshTimeoutError) — ответа не было вовсе, и вендор прямо указывает, что порт 22 может быть закрыт или недоступен. Проверки поэтому разные: в первом случае смотрят логин, пароль и порт, во втором — файрвол машины и панель хостера.
Удаление сервера из приложения очищает VPS?
Нет. По документации все установленные протоколы и службы остаются на машине и подхватятся, если добавить сервер в приложение заново. Чтобы действительно очистить VPS, сначала выполняют «Clear server from Amnezia software» и подтверждают «Continue», и только потом «Remove server from application». След приложения опознаётся по именам: контейнеры с подстрокой amnezia, тома с префиксом amnezia-, сеть amnezia-dns-net и каталог /opt/amnezia.
Можно ли дать доступ к своему серверу другому человеку?
Да, но режима два и они несопоставимы по риску. «Share full access to the server and VPN» отдаёт полный контроль над машиной, любой установленный протокол и любое число устройств — такой ключ нельзя отозвать, и при утечке посторонний способен сменить root-пароль. «Share VPN Access» даёт только подключение: один протокол, одно устройство, без управления сервером, зато отзывается в любой момент.