VPN. Реализация Amnezia VPN

VPN. Реализация Amnezia VPN

2026-02-23 · 3 мин. для прочтения
blog

VPN. Реализация Amnezia VPN.

Содержание

1 Общая информация

  • Репозиторий: https://github.com/amnezia-vpn/amnezia-client
  • Amnezia VPN есть VPN-клиент с открытым исходным кодом.
  • Позволяет подключаться к готовым VPN-сервисам.
  • Позволяет собственный приватный VPN-сервер (Self-hosted VPN).

1.1 Особенности

  • Self-hosted VPN

    • Не только клиентская часть, но и серверная часть.
  • Мультипротокольность

    • Поддерживается широкий спектр VPN-протоколов.
    • Используются протоколы с маскировкой трафика.
    • Классические протоколы: OpenVPN, WireGuard, IKEv2.
    • Протоколы с маскировкой (обфускацией): Shadowsocks, OpenVPN поверх Cloak, XRay (с протоколом REALITY), собственный протокол AmneziaWG.
  • Открытый исходный код

1.2 Как работает маскировка трафика (обфускация)

  • AmneziaWG (Улучшенный WireGuard)
    • форк популярного протокола WireGuard;
    • изменяются статические параметры пакетов;
    • добавляются мусорные пакеты в начале сессии.
  • OpenVPN over Cloak
    • комбинация OpenVPN и плагина Cloak;
    • Cloak маскирует VPN-трафик под обычный веб-трафик;
    • если подключение проверяется (активное зондирование), Cloak перенаправляет проверяющего на фейковый сайт, скрывая сам факт работы VPN.
  • XRay (с протоколом REALITY)
    • маскирует VPN-трафик под обычный веб-трафик.

1.3 Варианты использования

  • Клиент AmneziaVPN — бесплатное приложение:

    • создание своего сервера;
    • подключение по готовым конфигурациям.
  • Сервисы от Amnezia —опциональные платные и бесплатные предложения для тех, кто не хочет самостоятельно арендовать и настраивать сервер:

    • Amnezia Free: бесплатный VPN для доступа к социально значимым ресурсам;
    • Amnezia Premium: платная подписка.

1.4 Протоколы Amnezia

ПротоколТипУровень маскировкиПроизводительностьСложность обнаружения DPI
WireGuardКлассическийНизкаяОчень высокаяЛегко обнаруживается
OpenVPNКлассическийНизкаяСредняяЛегко обнаруживается
AmneziaWGС маскировкойОчень высокаяОчень высокаяКрайне сложно
OpenVPN + CloakС маскировкойВысокаяСредняяСложно
XRay (REALITY)С маскировкойОчень высокаяВысокаяКрайне сложно
ShadowsocksС маскировкойСредняяВысокаяМожет быть обнаружен

2 Установка

2.1 Linux

2.1.1 Установщик

  • Скачайте установщик. Скачайте файл AmneziaVPN_Linux_Installer.tar.

  • Распакуйте архив. В терминале перейдите в папку со скачанным файлом и выполните:

    tar -xvf AmneziaVPN_Linux_Installer.tar
    
  • Установите необходимые зависимости.

    • Для Ubuntu/Debian:
      sudo apt update
      sudo apt install libxcb-xinerama0 libxcb-cursor0
      
  • Запустите установку.

    chmod +x AmneziaVPN_Linux_Installer.bin
    ./AmneziaVPN_Linux_Installer.bin
    

2.1.2 Gentoo (serg-sg)

  • Для установки бинарной версии клиента можно использовать оверлей serg-sg.

  • Добавьте оверлей serg-sg:

    eselect repository add serg-sg git https://git.calculate-linux.org/serg-sg/gentoo-ebuild.git
    
  • Если репозиторий не включился автоматически, включите его:

    eselect repository enable serg-sg
    
  • Затем синхронизируйте:

    emerge --sync serg-sg
    # или
    emaint sync --repo serg-sg
    
  • Размаскируйте пакет.

    • Добавьте в файл /etc/portage/package.accept_keywords/custom строку:
      echo "net-vpn/amnezia-client-bin::serg-sg ~amd64" >> /etc/portage/package.accept_keywords/custom
      
  • Установите клиент.

    emerge --ask net-vpn/amnezia-client-bin
    

2.1.3 Gentoo

2.1.4 Manjaro

  • Из AUR:
    pamac install amneziavpn-bin
    

2.1.5 Настройка после установки

  1. Модуль tun

    • Необходимо наличие в ядре модуля tun.
    • Пакет устанавливает конфигурационный файл для загрузки этого модуля.
  1. cgroup

    • Желательно подключить net_cls cgroup.
    • Необходимо смонтировать /sys/fs/cgroup/net_cls/ как файловую систему cgroup v1:
      sudo mkdir -p /sys/fs/cgroup/net_cls
      sudo mount -t cgroup -o net_cls net_cls /sys/fs/cgroup/net_cls
      
    • Постоянная конфигурация в файле /etc/fstab:
      net_cls /sys/fs/cgroup/net_cls cgroup net_cls 0 0
      
  1. Сервис

    • Подключение сервиса:
      systemctl enable --now AmneziaVPN.service
      
  1. Запуск

    • Запуск:
      AmneziaVPN
      
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы. Научные интересы относятся к области теоретической физики и математического моделирования.