Ошибка «Amnezia обнаружила, что ваш сервер…»: причины и полный гайд по исправлению

Разбор ситуации, когда Amnezia сообщает о проблеме с сервером. Ошибки 200, 202, 203, 206 и другие: требования к VPS, SSH, порты, Docker и пошаговое исправление.

Amnezia обнаружила, что ваш сервер: как выглядит проверка на самом деле

Когда пользователь пытается добавить в AmneziaVPN собственный сервер, приложение не просто сохраняет адрес и начинает передавать трафик. В сценарии Self-hosted клиент подключается к серверу по SSH и запускает процедуру обнаружения и подготовки. На этом этапе система проверяет, доступен ли сервер, есть ли на нём нужные компоненты, какой пользователь используется и можно ли выполнять административные команды.

Поэтому фраза «Amnezia обнаружила, что ваш сервер…» обычно связана не с каким-то одним сбоем, а с целой группой проверок. Она может появляться на разных шагах: после ввода SSH-данных, во время установки VPN-сервиса, при изменении конфигурации или при попытке восстановить подключение из резервной копии.

В документации Amnezia разные этапы разделены на коды ошибок. Например, код 200 означает, что проверка сервера завершилась неудачей при добавлении нового сервера. Код 203 сообщает о сбое в работе Docker на удалённой машине, а код 206 говорит о проблеме с менеджером пакетов. Все эти коды могут сопровождаться сообщением о том, что приложение обнаружило неполадку на сервере, но причины и способы исправления будут разными.

Ошибка 200 ServerCheckFailed: типичный сценарий

Одна из самых частых ошибок при первичном подключении — Error 200: ServerCheckFailed. В официальной документации она описывается как «проверка сервера завершилась неудачей» и возникает именно в момент добавления нового сервера.

Обычно это выглядит так:

  1. Вы указываете IP-адрес, имя пользователя и пароль.
  2. Amnezia пытается подключиться к серверу по SSH.
  3. Через несколько секунд появляется сообщение о том, что сервер не прошёл проверку.

Проверка на этом этапе включает не только сам факт соединения, но и оценку окружения: поддерживается ли операционная система, есть ли возможность установки пакетов и не мешают ли уже запущенные службы. Если хотя бы одно условие не выполняется, приложение сообщает об ошибке и останавливается.

Часто проблема решается простым повторным добавлением сервера. Иногда помогает перезагрузка клиента, но если ошибка повторяется, нужно последовательно проверить данные SSH, права пользователя и состояние самого сервера. Код 200 не говорит о том, что сервер окончательно «неправильный», — это лишь сигнал, что предварительная проверка не удалась.

Каким должен быть сервер, чтобы проверка прошла успешно

Прежде чем искать сложные причины, стоит убедиться, что сервер соответствует минимальным требованиям Amnezia. Практика показывает, что многие ошибки появляются из-за нехватки ресурсов или устаревшей операционной системы.

Для базовой установки достаточно одного виртуального процессора и 1 ГБ оперативной памяти. Некоторые руководства указывают, что в более ранних версиях AmneziaVPN работала и с 512 МБ, но в актуальных версиях 1 ГБ стал фактическим минимумом. Если планируется несколько одновременных подключений или постоянная нагрузка, лучше выбирать VPS с 2 ГБ ОЗУ и SSD-диском от 10 ГБ.

Операционная система должна быть современной и поддерживать установку пакетов через пакетный менеджер. В качестве базового варианта обычно используется Ubuntu 20.04 или более поздняя версия. Если на сервере уже стоит какая-то панель управления или другой VPN-сервис, это может мешать: занятые порты, конфликтующие службы и ограничения Docker приводят к тому, что Amnezia не может выполнить настройку.

Также важно, чтобы у пользователя, данные которого вы вводите в Amnezia, были права для выполнения команд с sudo. Если используется обычный непривилегированный пользователь, а команды sudo требуют ввода пароля и этот пароль не совпадает с данными для подключения, автоматическая настройка завершится ошибкой.

SSH-данные: мелкие опечатки, которые приводят к сообщению об ошибке

Наиболее простая и одновременно самая распространённая причина сбоя проверки — неверно указанные SSH-данные. Программа чувствительна к регистру имени пользователя, к лишним пробелам и к неправильному порту.

При создании подключения в Amnezia нужно указать:

  • IP-адрес сервера;
  • имя пользователя, обычно root;
  • пароль или SSH-ключ;
  • порт SSH, если он отличается от стандартного 22.

Если вы меняли стандартный порт SSH на сервере, его необходимо добавить к IP-адресу через двоеточие. Например, если SSH слушает порт 2222, адрес в Amnezia должен выглядеть как 198.51.100.10:2222. Без этого клиент будет пытаться подключиться к порту 22 и получит отказ в соединении.

Ошибка может возникать и тогда, когда на сервере включено только подключение по SSH-ключам, а пароль для входа отключён. В такой ситуации нужно выбрать вариант подключения с ключом и указать приватный ключ либо временно включить парольную аутентификацию у хостинг-провайдера.

Чтобы убедиться, что данные корректны, имеет смысл вручную подключиться к серверу через обычный SSH-клиент. Если ручное подключение работает, а Amnezia выдаёт ошибку проверки, проблема не в данных, а в правах пользователя, портах или состоянии пакетного менеджера.

Права пользователя и sudo: распространённые ошибки 205 и 207

Когда SSH-подключение проходит успешно, но Amnezia не может выполнить установку, на первый план выходят права пользователя. Документация выделяет две связанные ошибки:

  • Error 205: ServerUserNotInSudo — пользователь не входит в группу sudo;
  • Error 207: ServerSudoPackageIsNotPreinstalled — пакет sudo вообще не установлен на сервере.

Если при создании подключения вы указали не root, а другого пользователя, у этого пользователя должна быть возможность выполнять команды с повышением привилегий. Некоторые VPS-провайдеры создают начального пользователя без группы sudo, чтобы повысить безопасность. Amnezia в таком случае не может установить нужные компоненты и сообщает об ошибке.

Исправить ситуацию можно несколькими способами. Если вы подключаетесь под root, добавьте нужного пользователя в группу sudo командой:

usermod -aG sudo ИМЯ_ПОЛЬЗОВАТЕЛЯ

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

Важно понимать, что ошибки 205 и 207 появляются не на этапе проверки сервера как таковой, а когда Amnezia уже установила SSH-соединение и пытается выполнить команды. Поэтому исправление прав пользователя часто решает проблему, хотя внешне она выглядит как «обнаружена проблема с сервером».

Порты и сетевые фильтры: почему сервер «не обнаруживается»

Даже если SSH работает, установка VPN может завершиться ошибкой из-за занятых или закрытых портов. Каждый протокол Amnezia использует определённые порты, и они должны быть свободны на сервере и открыты в файрволе.

Вот основные сведения из документации:

  • OpenVPN по умолчанию использует случайный порт из диапазона 30000–50000;
  • WireGuard тоже использует случайный UDP-порт из этого диапазона;
  • IKEv2 работает на портах 500 и 4500, изменить их нельзя;
  • OpenVPN over Cloak по умолчанию занимает порт 443;
  • AmneziaWG и XRay могут использовать свои порты, при этом XRay по умолчанию работает на 443.

Если нужный порт уже занят другим программным обеспечением, контейнер VPN-сервиса не сможет запуститься. Документация рекомендует проверять занятость портов командой netstat на Windows или Linux. Для Linux можно выполнить:

netstat -pnltu

Также нужно помнить, что на самом VPS порты должны быть открыты во внешнем файрволе хостинг-провайдера. Иногда панель управления VPS по умолчанию разрешает только SSH, и установка не может завершиться, хотя на самом сервере всё настроено правильно.

Отдельная сложность возникает с протоколом XRay: приложение может не увидеть конфликт UDP-порта на этапе предварительной проверки. Контейнер XRay резервирует выбранный номер одновременно по TCP и UDP. Если, например, AmneziaWG уже занимает порт 443 по UDP, XRay не запустится, хотя проверка не покажет ошибку заранее. В таком случае нужно выбрать другой свободный порт.

Когда проверка останавливается на Docker и пакетном менеджере

Amnezia разворачивает VPN-сервисы на сервере в виде Docker-контейнеров. Поэтому ошибки, связанные с Docker, напрямую влияют на установку и изменение настроек.

Error 202: ServerContainerMissingError означает, что приложение не нашло нужный Docker-контейнер на сервере. Это случается, если контейнер был удалён вручную, либо если вы меняли настройки, а контейнер не был пересоздан. Решение обычно простое: удалить подключение к серверу из Amnezia и добавить его заново. При повторном добавлении программа создаст недостающие контейнеры.

Error 203: ServerDockerFailedError более общая: она сообщает о сбое в работе самого Docker. Причинами могут быть конфликты портов, повреждённая конфигурация или посторонние правила файрвола. Если на сервере установлен или когда-либо был установлен инструмент Telemt, его таблица telemt_limit может ограничивать исходящие HTTPS-соединения Docker-контейнеров. Это не связано с портом VPN-протокола и проявляется не при каждой установке, что затрудняет диагностику.

Проверить наличие таблицы можно командой:

sudo nft list table inet telemt_limit

Если Telemt больше не используется и не нужен, таблицу можно удалить командой sudo nft delete table inet telemt_limit. Но делать это стоит только в том случае, если вы уверены, что инструмент не применяется для защиты сервера.

После исправления конфликтов с Docker нужно снова добавить сервер в Amnezia и убедиться, что все нужные порты свободны.

Что делать при ошибке 206 на этапе установки

Ошибка 206: ServerPacketManagerError возникает, когда пакетный менеджер на сервере не может выполнить установку. Обычно это происходит, если менеджер пакетов уже занят другой задачей, повреждён или если на сервере недостаточно оперативной памяти.

Amnezia во время установки обновляет список пакетов и ставит зависимости. Если в этот момент на сервере выполняется другая команда установки, пакетный менеджер блокируется, и клиент получает ошибку. Простое ожидание завершения параллельной задачи и повторная попытка часто решают проблему.

Для проверки можно подключиться к серверу по SSH и вручную выполнить, например:

sudo apt-get install <любая_утилита>

Если команда выполняется успешно, менеджер пакетов исправен. Если нет — возможно, его процесс завис или есть повреждённые метаданные. В такой ситуации помогает перезагрузка сервера. Если проблема повторяется, стоит обратиться к хостинг-провайдеру: сервер может требовать переустановки операционной системы.

Нехватка памяти также приводит к ошибке 206. При использовании VPS с 512 МБ актуальная версия AmneziaVPN может не завершить установку. Некоторые пользователи обходят это ограничение, выполняя первичную настройку с помощью более старой версии клиента, которая требует меньше ресурсов, а затем обновляя клиент до актуальной версии. Однако такой способ сложен для новичков, поэтому надёжнее выбрать тариф с 1 ГБ оперативной памяти.

Ошибки после успешной настройки и восстановление из резервной копии

Иногда сообщение о проблеме с сервером появляется не при первой установке, а при повторном подключении, изменении настроек или восстановлении конфигурации.

Error 102: NotImplementedError возникает, когда вы пытаетесь восстановить настройки AmneziaVPN из файла резервной копии, созданного в другой версии приложения. Протоколы, настроенные в новой версии, могут быть несовместимы со старой, и наоборот. Если Amnezia обнаруживает такую несовместимость, она не может восстановить конфигурацию. Решение — установить ту же версию AmneziaVPN, в которой была создана резервная копия, либо использовать более свежую копию, созданную после обновления.

Error 103: AmneziaServiceNotRunning указывает на то, что фоновая служба Amnezia не запущена. Она может возникать на Windows, Linux или macOS. На Windows нужно проверить диспетчер задач и найти процесс или службу AmneziaVPN-service. Если служба остановлена, её нужно запустить, после чего перезапустить приложение. На macOS стоит проверить разрешения для фоновой активности в системных настройках.

Если после успешного подключения VPN через некоторое время перестаёт работать, а сервер доступен по SSH, причина часто заключается в изменениях на самом сервере: обновление Docker, перезагрузка VPS, конфликт с другим сервисом. В таких ситуациях помогает повторное добавление сервера в Amnezia: программа заново создаёт контейнеры и восстанавливает работоспособность.

Как настроить сервер и обойти большинство блокировок: короткий чек-лист

Хотя статья в первую очередь посвящена ошибке «Amnezia обнаружила, что ваш сервер…», полезно собрать общий сценарий, который снижает вероятность появления этого сообщения.

  1. Выберите VPS с Ubuntu 20.04 или новее и минимум 1 ГБ памяти.
  2. Убедитесь, что SSH-данные верны и у пользователя есть права sudo.
  3. Откройте в панели управления VPS порты, которые нужны выбранному протоколу.
  4. Проверьте, что на сервере не запущены другие VPN-сервисы и Docker-контейнеры не конфликтуют.
  5. При добавлении сервера в Amnezia укажите нестандартный SSH-порт через двоеточие, если он изменён.
  6. Если вы используете протокол OpenVPN over Cloak, настройте маскировку под обычный веб-сайт. Для этого в мастере настройки Amnezia можно указать URL, например vk.com или любой другой сайт. Провайдер в этом случае будет видеть трафик как обращения к этому сайту, а не как VPN-подключение.
  7. Имейте в виду, что маскировка снижает производительность по сравнению с чистым VPN-туннелем, но это осознанная плата за устойчивость к блокировкам.

Если ошибка уже появилась, действуйте последовательно: проверьте SSH и права пользователя, затем порты и состояние Docker, после чего просто удалите сервер из Amnezia и добавьте его заново. В большинстве случаев повторная настройка решает проблему, не требуя глубоких знаний администрирования.

Вопросы и ответы

Что означает сообщение «Amnezia обнаружила, что ваш сервер…»?

Это общее описание сбоя при проверке или настройке сервера в режиме Self-hosted. Amnezia подключается к VPS по SSH, проверяет возможность установки компонентов и создаёт VPN-сервис. Сообщение появляется, когда один из этих этапов не удаётся пройти. Точную причину можно определить по коду ошибки: например, 200 означает неудачную проверку сервера, 203 — сбой Docker, 206 — проблему с пакетным менеджером.

Чем отличаются ошибки 200 и 203?

Ошибка 200 ServerCheckFailed возникает при попытке добавить новый сервер и указывает на то, что предварительная проверка окружения не удалась. Ошибка 203 ServerDockerFailedError связана с работой Docker на сервере и появляется, когда контейнер VPN-сервиса не может запуститься или работает некорректно. Для 200 обычно проверяют SSH-доступ и права пользователя, а для 203 — свободные порты и состояние Docker.

Какие минимальные требования должны быть у сервера для Amnezia?

Для базовой установки достаточно одного виртуального CPU и 1 ГБ оперативной памяти. Рекомендуется использовать Ubuntu 20.04 или более позднюю версию. Если планируется несколько одновременных подключений или активная постоянная нагрузка, стоит выбрать VPS с 2 ГБ ОЗУ и SSD от 10 ГБ. Очень маленькие VPS с 512 МБ могут не справиться с установкой в актуальной версии AmneziaVPN.

Как правильно указать нестандартный SSH-порт в Amnezia?

Если SSH на сервере работает не на порту 22, добавьте порт к IP-адресу через двоеточие. Например, при порте 2222 адрес должен выглядеть как 198.51.100.10:2222. Без указания порта Amnezia будет пытаться подключиться к порту 22 по умолчанию и не сможет выполнить проверку сервера.

Почему появляется ошибка 206 при установке на VPS с 512 МБ памяти?

Для установки пакетов и запуска Docker-контейнеров требуется оперативная память. Если памяти слишком мало, пакетный менеджер может не завершить операцию, и Amnezia выдаёт ошибку 206 ServerPacketManagerError. В документации указано, что старые версии Amnezia могли работать с 512 МБ, но актуальные требуют от 1 ГБ. Решение — увеличить объём памяти VPS или выполнить первичную настройку более старой версией клиента.

Как проверить, свободен ли нужный порт на сервере?

Подключитесь к серверу по SSH и выполните команду netstat -pnltu (на Linux). В выводе будет список используемых портов и протоколов. Для Windows можно открыть командную строку и использовать netstat -a. Если нужный порт занят другим процессом, освободите его или выберите другой порт для VPN-протокола.

Безопасно ли удалять таблицу telemt_limit при ошибке 203?

Таблица telemt_limit появляется, если на сервере использовался инструмент Telemt для управления ограничениями трафика. Она может мешать Docker-контейнерам Amnezia устанавливать исходящие HTTPS-соединения. Перед удалением убедитесь, что Telemt больше не нужен. Команда удаления — sudo nft delete table inet telemt_limit. Если вы продолжаете использовать Telemt, удалять таблицу нельзя.