Установка AmneziaVPN на Linux: инструкция по настройке self-hosted VPN

Подробное руководство по установке AmneziaVPN на Linux, настройке собственного VPN-сервера, использованию AmneziaWG и решению типичных проблем.

Что такое AmneziaVPN и зачем он нужен

AmneziaVPN — это бесплатное приложение с открытым исходным кодом, которое позволяет создавать собственный VPN-сервер и подключаться к нему с различных устройств. В отличие от коммерческих VPN-сервисов, здесь вы полностью контролируете инфраструктуру: трафик не проходит через сторонние серверы, которые могут вести логи или ограничивать скорость. Это особенно актуально, если вы хотите обойти блокировки, защитить данные в публичных Wi-Fi сетях или получить стабильное соединение без «капч» и «серых» IP-адресов.

Приложение поддерживает несколько протоколов: WireGuard, OpenVPN, IPsec, а также современный AmneziaWG — форк WireGuard с дополнительным шифрованием и обфускацией. Благодаря этому AmneziaVPN может работать даже в сетях, где стандартные VPN-протоколы блокируются.

Установка на Linux имеет свои особенности: требуется права администратора, поддержка IPv6 должна оставаться включённой, а для некоторых дистрибутивов нужны дополнительные библиотеки. В этой статье мы разберём все этапы — от выбора VPS-сервера до подключения клиентов и решения типичных проблем.

Выбор VPS-сервера для self-hosted VPN

Для создания собственного VPN понадобится виртуальный сервер (VPS/VDS). При выборе обратите внимание на юрисдикцию провайдера — лучше выбирать компании в нейтральных странах, которые не блокируют VPN-трафик и не требуют предоставления личных данных. Хороший вариант — VDSINA, предлагающий серверы с портами до 10 Gbps и оплатой криптовалютой, картами МИР и СБП.

Для базового использования достаточно конфигурации с 1 ядром CPU и 2 ГБ RAM. Если вы планируете подключать много устройств или использовать сервер для других задач, выбирайте более мощные варианты. Операционную систему лучше ставить чистую — Ubuntu 24.04 или Debian 12, так как они официально поддерживаются AmneziaVPN.

После оплаты вы получите IP-адрес и root-пароль. Эти данные понадобятся для установки VPN. Важно: установка AmneziaVPN требует root-доступа, поэтому если вы используете SSH-ключи или пользователя с sudo, могут возникнуть ошибки. После установки root-доступ можно закрыть для повышения безопасности.

Подготовка Linux-системы к установке AmneziaVPN

Перед установкой AmneziaVPN на Linux необходимо убедиться, что система соответствует требованиям. Приложение работает на дистрибутивах x64: Fedora 41–44, Debian 12–13, Ubuntu 22.04/24.04/26.04, Arch Linux, openSUSE Leap 16.0 и Tumbleweed. На других версиях работа не гарантируется.

Важное условие: нельзя отключать IPv6 на системном уровне (например, командой sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1), иначе кнопка подключения в AmneziaVPN перестанет работать. Также необходимо иметь права администратора.

В зависимости от дистрибутива могут потребоваться дополнительные пакеты:

  • Debian 13: sudo apt install libxcb-cursor0 libxcb-xinerama0 libxcb-icccm4 libxcb-keysyms1 libopengl0 libxkbcommon-x11-0
  • Ubuntu: обновите список пакетов (sudo apt update) и установите те же библиотеки, что и для Debian 13.
  • Arch Linux: может понадобиться xcb-util-cursor (особенно в GNOME).
  • openSUSE: установите libgthread-2_0-0.

После установки зависимостей скачайте установщик .linux_x64.run из последнего стабильного релиза на GitHub. Запускать его можно через файловый менеджер (свойства → «Запускать как программу») или через терминал.

Пошаговая установка AmneziaVPN на Linux

Установка AmneziaVPN на Linux выполняется с помощью исполняемого файла .run. Рассмотрим процесс на примере файла AmneziaVPN_5.0.0.5_linux_x64.run.

  1. Перейдите в папку с установщиком: cd ~/Downloads
  2. Сделайте файл исполняемым: chmod +x AmneziaVPN_5.0.0.5_linux_x64.run
  3. Запустите установку: sudo ./AmneziaVPN_5.0.0.5_linux_x64.run

Во время установки может появиться графическое окно мастера. Если в терминале возникают сообщения Could not find the Qt platform plugin "wayland" или Could not connect "org.freedesktop.NetworkManager", но окно открылось — продолжайте установку.

После завершения установки запустите AmneziaVPN из терминала (amneziavpn) или через ярлык в меню приложений. При первом запуске выберите режим «Self-hosted VPN» и введите IP-адрес вашего сервера и root-пароль. Мастер автоматически установит на сервер все необходимые компоненты и предложит выбрать протокол.

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

Настройка собственного VPN-сервера через AmneziaVPN

После запуска AmneziaVPN и выбора режима Self-hosted VPN вы попадёте в мастер настройки. Вам потребуется:

  • IP-адрес вашего VPS-сервера
  • root-пароль (или SSH-ключ, если настроен)

Мастер подключится к серверу и установит необходимое ПО. По умолчанию используется протокол AmneziaWG, но вы можете выбрать любой из доступных: WireGuard, OpenVPN, XRay с VLESS и Reality, IPsec и другие. Для максимальной совместимости с блокировками рекомендуется AmneziaWG.

После установки вы сможете подключиться к VPN с текущего устройства. Для добавления других устройств используйте функцию «Поделиться подключением» — она позволяет экспортировать конфигурацию в виде файла или QR-кода, не передавая полный доступ к серверу.

В настройках приложения доступны дополнительные функции:

  • Раздельное туннелирование — использование VPN только для определённых сайтов или приложений.
  • KillSwitch — автоматическое блокирование интернета при обрыве VPN-соединения.
  • Смена протокола — возможность переключения между протоколами без переустановки сервера.

Обратите внимание: если вы подключаетесь к серверу не через root, а через пользователя с sudo, установка может завершиться ошибкой (например, ошибка 203 при установке Docker). В этом случае используйте root-доступ или настройте SSH-ключ для root.

Установка и настройка AmneziaWG на сервере вручную

Если вы предпочитаете устанавливать AmneziaWG вручную, существует скрипт install_amneziawg.sh, который автоматизирует процесс. Он поддерживает два режима: интерактивный и неинтерактивный (с параметрами командной строки).

Скрипт выполняет установку в несколько этапов, требующих перезагрузки системы. Всего предусмотрено 7 этапов:

  1. Обновление системы и настройка сетевых параметров (требует перезагрузки).
  2. Установка пакетов AmneziaWG и DKMS (требует перезагрузки).
  3. Проверка загрузки модуля ядра.
  4. Настройка межсетевого экрана (UFW).
  5. Установка Python-окружения и вспомогательных скриптов.
  6. Генерация конфигурационных файлов сервера и клиентов.
  7. Запуск службы и настройка Fail2Ban.

Скрипт сохраняет состояние установки в файле /root/awg/setup_state, поэтому если установка прервётся, при повторном запуске она продолжится с того же места. Конфигурационные параметры (порт, подсеть, режим маршрутизации) сохраняются в /root/awg/awgsetup_cfg.init.

После завершения установки в /root/awg/ появятся файлы конфигурации клиентов (my_phone.conf, my_laptop.conf) и QR-коды для мобильных устройств. Серверный конфиг находится в /etc/amnezia/amneziawg/awg0.conf.

Для управления клиентами используйте скрипт manage_amneziawg.sh, который позволяет добавлять, удалять и просматривать клиентов.

Подключение клиентов: Android, iOS, Windows, macOS

AmneziaVPN доступен для всех основных платформ: Android, iOS, Windows, macOS и Linux. Подключение новых устройств к вашему self-hosted VPN выполняется одинаково:

  1. Установите приложение AmneziaVPN на устройство.
  2. Запустите его и выберите «Self-hosted VPN».
  3. Введите IP-адрес сервера и root-пароль (или импортируйте конфигурационный файл).
  4. Следуйте подсказкам мастера.

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

Для подключения роутеров (например, ASUS) экспортируйте конфигурацию в формате .ovpn (для OpenVPN) или .conf (для WireGuard) и импортируйте её в панель управления роутера. Большинство современных роутеров поддерживают импорт конфигураций OpenVPN и WireGuard.

Обратите внимание: раздельное туннелирование по приложениям на мобильных устройствах может не работать — это ограничение платформы.

Решение типичных проблем при установке и использовании

При установке AmneziaVPN на Linux могут возникать различные проблемы. Рассмотрим наиболее частые.

Ошибка установки на сервер при подключении не через root. Если вы используете SSH-ключ или пользователя с sudo, установка может завершиться ошибкой (например, ошибка 203 при установке Docker). Решение: используйте root-доступ для установки. После завершения установки можно отключить root-доступ для повышения безопасности.

Проблемы с Qt-плагинами. При запуске установщика могут появляться сообщения Could not find the Qt platform plugin "wayland" или Could not connect "org.freedesktop.NetworkManager". Это не критично, если окно установщика открылось. Если приложение не запускается, установите недостающие библиотеки (например, xcb-util-cursor на Arch Linux).

Не работает кнопка подключения. Убедитесь, что IPv6 не отключён на системном уровне. Команда sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 ломает работу AmneziaVPN.

Проблемы с AmneziaWG на сервере. Если скрипт установки завершается с ошибкой, проверьте журнал установки /root/awg/install_amneziawg.log. Также можно использовать флаг --diagnostic для сбора информации о системе.

Медленная скорость или нестабильное соединение. Попробуйте сменить протокол (например, с AmneziaWG на WireGuard) или выбрать другой порт. Также проверьте настройки маршрутизации (AllowedIPs).

Безопасность и дополнительные настройки

AmneziaVPN включает несколько уровней защиты. При установке на сервер автоматически настраиваются:

  • Sysctl hardening — усиление параметров ядра для защиты от сетевых атак.
  • Firewall (UFW) — разрешены только необходимые порты (по умолчанию UDP-порт 39743 для AmneziaWG и SSH).
  • Fail2Ban — защита от перебора паролей по SSH.
  • Права на файлы — конфигурационные файлы доступны только root.

Для дополнительной безопасности рекомендуется:

  • Изменить стандартный порт SSH.
  • Отключить root-доступ после установки VPN.
  • Использовать SSH-ключи вместо паролей.
  • Регулярно обновлять систему и AmneziaVPN.

В приложении AmneziaVPN есть функция KillSwitch, которая блокирует интернет-трафик, если VPN-соединение прерывается. Это предотвращает утечку данных.

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

Удаление AmneziaVPN и очистка сервера

Если вы решили удалить AmneziaVPN с сервера, можно воспользоваться скриптом install_amneziawg.sh с флагом --uninstall. Этот скрипт выполнит полную очистку:

  1. Создаст резервную копию конфигураций (опционально).
  2. Остановит и отключит службу VPN.
  3. Удалит правила межсетевого экрана.
  4. Удалит пакеты AmneziaWG, Fail2Ban и связанные файлы.
  5. Удалит конфигурационные файлы и DKMS-модули.
  6. Восстановит настройки IPv6.

Для удаления клиентского приложения на Linux просто удалите установочные файлы или используйте команду sudo ./AmneziaVPN_5.0.0.5_linux_x64.run --uninstall (если такая опция предусмотрена).

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

Помните, что после удаления VPN-сервера все подключённые клиенты потеряют доступ к интернету через VPN.

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

Какие системные требования для установки AmneziaVPN на Linux?

AmneziaVPN поддерживает дистрибутивы x64: Fedora 41–44, Debian 12–13, Ubuntu 22.04/24.04/26.04, Arch Linux, openSUSE Leap 16.0 и Tumbleweed. Требуется права администратора, включённая подсистема IPv6 (нельзя отключать через sysctl) и наличие дополнительных библиотек для некоторых дистрибутивов (например, libxcb-cursor0 для Debian 13).

Как установить AmneziaVPN на Linux через терминал?

Скачайте файл .linux_x64.run с GitHub, перейдите в папку с ним (cd ~/Downloads), сделайте файл исполняемым (chmod +x AmneziaVPN_*.run) и запустите с правами root: sudo ./AmneziaVPN_*.run. Следуйте инструкциям мастера установки.

Что делать, если при установке AmneziaVPN возникает ошибка 203?

Ошибка 203 обычно возникает при установке на сервер, если вы подключаетесь не через root, а через пользователя с sudo или SSH-ключ. Решение: используйте root-доступ для установки. После установки можно отключить root-доступ для безопасности.

Можно ли использовать AmneziaVPN на роутере?

Да, можно. Для этого экспортируйте конфигурацию из AmneziaVPN в формате .ovpn (для OpenVPN) или .conf (для WireGuard) и импортируйте её в роутер, поддерживающий соответствующий VPN-клиент. Большинство современных роутеров (например, ASUS) поддерживают импорт таких файлов.

Как добавить нового клиента к существующему VPN-серверу?

В приложении AmneziaVPN используйте функцию «Поделиться подключением» — она создаёт конфигурационный файл или QR-код, который можно отправить другому устройству. Также можно вручную добавить клиента через скрипт manage_amneziawg.sh на сервере.

Почему не работает кнопка подключения в AmneziaVPN?

Наиболее частая причина — отключение IPv6 на системном уровне. Убедитесь, что вы не выполняли команду sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1. Также проверьте, что у вас установлена последняя версия AmneziaVPN и все необходимые библиотеки.