
Добрый вечер, дорогие друзья. Сегодня у нас запланирована установка бесплатного VPN сервиса ProtonVPN на Ubuntu Server 20.04 LTS. Понятно что графического интерфейса в данной ОС нет, так что будем устанавливать консольную утилиту protonvpn-cli для подключения к ProtonVPN.
ProtonVPN — это VPN сервис от авторов веб-почты ProtonMail с шифрованием, созданной в 2013 году сотрудниками ЦЕРН (Европейская организация по ядерным исследованиям).
ProtonVPN — бесплатный VPN с безлимитным трафиком
Проблемы официальной установки
Лирическое отступление. Когда я первый раз пытался установить консольную утилиту protonvpn-cli, то, как все нормальные админы, полез в официальную документацию. Зря я это сделал.
После установки я попытался запустить утилиту от SUDO, утилита стала вопить что запускать от рута очень плохо и произойти может что угодно. Естественно, я продолжил запуск и утилита вылетела с ошибкой. Консольная утилита захотела GUI, смешно.
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Хорошо, запустил утилиту не из-под рута. Теперь не хватает прав на создание соединения.
Failed to add/activate connection. Insufficient privileges.
Я повозился, пытаясь обойти проблему, потом забил. Оказалось, что существует другая консольная утилита, написанная на питоне, которая прекрасно работает под нужным пользователем и не просит GUI.
Подготовка к установке protonvpn-cli
Вот ссылка на утилиту:
https://github.com/Rafficer/linux-cli-community
Перед установкой нужно подготовиться. Отключаем IPv6. Редактируем /etc/sysctl.conf:
sudo vim /etc/sysctl.conf
Добавляем параметры:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.tun0.disable_ipv6 = 1
Устанавливаем вспомогательные пакеты:
sudo apt install -y openvpn dialog python3-pip python3-setuptools
Установка protonvpn-cli
Устанавливаем утилиту:
sudo pip3 install protonvpn-cli
Утилита установлена.
Подключение к ProtonVPN
Список команд:
protonvpn init Initialize ProtonVPN profile. protonvpn connect, c Select a ProtonVPN server and connect to it. protonvpn c [servername] Connect to a specified server. protonvpn c -r Connect to a random server. protonvpn c -f Connect to the fastest server. protonvpn c --p2p Connect to the fastest P2P server. protonvpn c --cc [countrycode] Connect to the fastest server in a specified country. protonvpn c --sc Connect to the fastest Secure Core server. protonvpn reconnect, r Reconnect or connect to the last server used. protonvpn disconnect, d Disconnect the current session. protonvpn status, s Print connection status. protonvpn configure Change CLI configuration. protonvpn refresh Refresh OpenVPN configuration and server data. protonvpn examples Print example commands. protonvpn --version Display version. protonvpn --help Show help message.
Для подключения нам понадобится имя пользователя и пароль для OpenVPN / IKEv2. Заходим в личный кабинет и достаём их в разделе Аккаунт → Имя пользователя OpenVPN / IKEv2. Если нет личного кабинета, то нужно зарегистрировать:
Выполняем вход:
sudo protonvpn init
Указываем логин и пароль для OpenVPN / IKEv2, текущий тарифный план, у меня Free, протокол по умолчанию.
Done! Your account has been successfully initialized.
Выполняем подключение:
sudo protonvpn connect
Выбираем страну.
Выбираем сервер.
Выбираем протокол.
Connected!
Прекрасно.
Примечания
Отключение:
sudo protonvpn disconnect
Обновление:
sudo pip3 install protonvpn-cli --upgrade
Удаление:
sudo pip3 uninstall protonvpn-cli