Запуск Amnezia VPN с подсистемой отличной от SystemD
Все подключения через любой из протоколов Amnezia выполняет через свой демон, но у клиена есть только 1 реализация его запуска - через подсистему инициализации и управления службами SystemD, соответственно на дистрибутиве используещем другую системаму иницилизации служба не запускается и в клиенте мы получаем ошибку Internal error без логов.
Для начала можно просто запустить демон прямо в терминале и проверить, все ли хорошо. Скрипт сервиса Amnezia VPN расположен по пути /opt/AmneziaVPN/service/AmneziaVPN-service.sh. Соответственно, запускаем этот скрипт:
sudo /opt/AmneziaVPN/service/./AmneziaVPN-service.sh
После запуска службы можно параллельно запустить клиент AmneziaVPN и проверить, подключается ли клиент к серверу. Если все хорошо, то нам остается только созать свою службу, которая будет запускать этот скрипт при запуске системы. Ниже приведен пример создания службы для подсистемы инициилизации runit, если у вас в системе используется какая-то другая, то идите в гугл и смотрите как создаются службы у Вас.
Сначала создаем каталог /etc/runit/sv/amneziavpn
cd /etc/runit/sv/
sudo mkdir amneziavpn
и скрипт run для запуска службы
sudo nano run
В скрипте располагаем код запуска демона клиента
#!/bin/sh
exec 2>&1
exec /opt/AmneziaVPN/service/./AmneziaVPN-service.sh
После делаем run скрипт исполняемым
sudo chmod u+x run
Отлично, осталось создать ссылку на только что созданную нами службу
sudo ln -s /etc/runit/sv/amneziavpn /etc/runit/runsvdir/default/
и запустить ее
sudo sv start amneziavpn
Теперь можно переходить к VPN клиенту и подключаться к серверу :)