Установка Outline VPN на Ubuntu 20.04

Outline — это легковесный, простой и удобный VPN с графическим интерфейсом и клиентами на всех популярных мобильных и десктопных ОС. Устанавливается Outline одной командой на сервер под управлением Linux.
Outline состоит из двух компонентов:
- Outline менеджера — программы для удаленного администрирования VPN сервера через GUI;
- Outline клиента — программы для подключения устройств к VPN-сети.
Outline является отличной альтернативой тяжелым и непонятным для многих OpenVPN и его аналогам. Если вы ищете простой и надежный VPN — outline вам точно подойдёт, а если же хочется больше настроек и работа в консоли вас не пугает — попробуйте бесплатный Open source VPN WireGuard.
Для простых задач, например открытие сайтов, обмена текстовыми сообщениями в мессенджерах и т.д., подойдет хост с минимальными ресурсами:
1 ядро CPU.
256 MB RAM.
10 GB HDD для файлов ОС в основном.
Стоимость аренды такого сервера от 1.5$ до 3$ в месяц, плюс-минус. По необходимости ресурсов можно добавлять. Операционная система - Ubuntu 20.04, т.к. инструкция именно для нее :)
Как арендовать виртуальную машину тут рассматривать не будем, все зависит от провайдера.
Начальная настройка сервера
И так, виртуальная машина арендована, доступ к ней по SSH имеется, Ubuntu установлена. Далее устанавливаем последние обновления.
sudo apt update
sudo apt upgrade
Сделайте перезагрузку машины после этого, если есть необходимость после установки обновлений.
Сразу настроим брэндмауэр, чтобы защитить машину от несанкционированного доступа. Открываем доступ через SSH.
sudo ufw allow 22/tcp
Если у Вас статический IP, то для безопасности доступ по SSH можно разрешить только для него.
sudo ufw allow from <ВашПостоянныйIP> to any port 22
И включаем брэндмауэр.
sudo ufw enable
Машина защищена. Идем дальше.
Установка Outline Server
Для установки воспользуемся готовыми скриптами из проекта outline-server компании Jigsaw.
Скрипт находится по адресу:
https://github.com/Jigsaw-Code/outline-server/blob/master/src/server_manager/install_scripts/install_server.sh
Для установки достаточно выполнить следующую команду.
sudo wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh | bash
Будет установлен Docker и службы самого Outline, а также все зависимости. При необходимости Вы можете установить Docker самостоятельно перед запуском скрипта.
sudo curl https://get.docker.com | sh
Kогда скрипт закончит, то выведет примерно такое содержимое.
{ "apiUrl": "https://0.0.0.0:0000/XXXXXXXXXXXX", "certSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Также в консольном выводе будет информация о портах, которые нужно открыть для работы OutlineVPN Manager. Добавляем их в разрешенные (замените только на свои значения).
sudo ufw allow 31111/tcp
sudo ufw allow 24311/tcp
Сохраните это себе на будущее. По факту сервер Outline VPN уже установлен и нам лишь нужно его настроить для своих нужд.
Клиент для управления сервером
Управление серверном VPN, в т.ч. раздача доступов, осуществляется с помощью Outline Manager, доступной для Windows, Max и Linux.
При запуске нужно добавить сервер и выбрать "Настроить Outline где угодно". Появится инструкция по установке с помощью скрипта, который мы ранее запускали. А после поле для ввода ключа и адреса, который Вы до этого сохранили.
После этого у Вас появится доступ к управлению сервером.
Добавляем ключ
В Outline Manager добавляем новый ключ в управлении сервером. Программа покажет ссылку на инструкцию и сам ключ в виде строки:
ss://[email protected]:0/?outline=1
Скопируйте этот ключ, он понадобиться при запуске клиента Outline.
Клиент для подключения
И последний шаг - установка клиента для подключения. Есть приложения для Android, Windows, Chrome, iOS, MacOS, Linux.
При первом запуске нужно нажать "Добавить сервер" и вставить полученный выше ключ.
Выводы
Поздравляем, теперь у вас есть ваш личный VPN сервер за 5$ в месяц, используя приложение Outline Manager — вы можете смотреть потребление трафика на сервере, настраивать учетные записи пользователей.
А как там с безопасностью?
Все хорошо, данный VPN — использует протокол Shadowsocks который был создан еще в китае для обхода блокировок китайского фаервола, теперь поддерживается сообществом.
Сам VPN сервер представляет из себя два docker образа которые будут установлены на ваш сервер, другими словами, можно установить данный VPN на ваш уже существующий сервер без какой-либо опаски. Исходные коды проекта, естественно, доступны на Github.
Если вы уже имеете свой сервер, или хотите использовать более дешевый хостинг вместо хостинга по умолчанию — digtalocean — можно установить Outline на любой доступный сервер.
Для настройки Outline на своём личном сервере — вам нужно промотать основной экран Outline Manager до конца вниз, до «Already have server», после клика вы получите Bash скрипт для исполнения на вашем (любом) сервере, запускаем скрипт, ждем завершения установки Docker и двум новых контейнеров. После завершения вы получите ключ для доступа по API, его надо обратно вставить в Outline Manager.
Таким нехитрым образом можно настроить Outline вообще на любом сервере, без привязки к какому-либо хостеру.
Полезные ссылки