Автор: Редакция «VPN не работает»

Серверы для 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 — пять шагов до обращения в поддержку:

  1. Обновить приложение (релизы — во вкладке Releases репозитория amnezia-client).
  2. Выполнить «Reload API config».
  3. Перебрать локации: вендор просит проверить подключение к каждой доступной.
  4. Сменить протокол: нажать текущий (AmneziaWG) и выбрать VLESS, затем «Connect».
  5. Учесть сеть: вендор пишет, что мобильный интернет в России всё чаще работает по «белым спискам», и советует другой источник интернета.

Что мешает добавить свою машину?

Отказ на этапе 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» даёт только подключение: один протокол, одно устройство, без управления сервером, зато отзывается в любой момент.

Поделиться: Telegram ВКонтакте