Простая установка Outline + WireGuard VPN
Сегодня будем устанавливать VPN WireGuard + Outline, с протоколами WireGuard и Open VPN + Shadowsocks соответственно. И будем делать это максимально просто, но не жертвуя безопасностью.
Почему в этой статье используется именно такая связка WireGuard + Outline?
Wireguard — максимально быстрый (т.е. наименее режет скорость) из существующих VPN. Детектится очень просто, но честно, пофиг на это, лишь бы DNS не утекал провайдеру и соединения шифровалось. Знания того, что человек используют VPN, не делает его информацию раскрытой. Плюс Wireguard в скорости, он режет скорость соединения меньше всего.
Outline — использует протокол Open VPN + Shadowsocks, трафик он маскируется под https соединение и соответственно, используя порт 443 на сервере. Режет скорость, примерно на 40%, но определяется хуже для третьего лица. Плюс его в том, что он маскируется под обычный интернет-трафик.
Казалось бы что достаточно и Wireguard, но т.к. его легче обнаружить по трафику через UDP, его иногда блокируют. Поэтому смысл использовать 2 протоколы — есть.
Общее достоинство — можно создавать бесконечное количество VPN пользователей и открывать доступ в интернет своим родственникам и друзьям.
Оглавление
Выбор хостинга для VPN
Предлагаю вам на выбор 4 хостинга, которые можно использовать для VPN, исходя из своей субъективной оценки. Три ссылки реферальные, так вы сможете и отблагодарить меня, без всяких усилий, если статья вам оказалось полезной.
Тестирование скорости сервера (необязательно)
Установка Speedtest — выполните команды последовательно (по строчке)
sudo apt-get install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest
запуск
speedtest
Обратите внимание, что у многих хостеров есть веб-консоль, которую можно использовать для подключения к серверу SSH. Но будет намного удобнее, если вы будете использовать программы Termius или MobaXTerm.
Выбор программы SSH
При выборе программы для работы с сервером по SHH я также предлагаю три отличных варианта — это программы Termius и MobaXterm. Третий вариант, он же самый простой — использовать веб-консоль вашего провайдера, например так выглядит панель у Timeweb:

Требования к серверу
Выбор и развертывание сервера происходит в личном кабинете вашего хостинга. Я рекомендую использовать Ubuntu 20 — 22 и не менее 1 Гб RAM, 1 CPU
После того как развернули (создали) сервер на Ubuntu, заходим через терминал SSH или веб-терминал и выполняем ряд команд (копировать — вставить — Enter).
Устанавливаем Wireguard VPN
Обновим сервер:
apt update && apt upgrade -y
Установим Wireguard с выбором опций:
wget -O wireguard.sh https://get.vpnsetup.net/wg && bash wireguard.sh
Скрипт в процессе установки нам предложит:
- Выбрать порт — выбирайте любой из диапазона от 5 знаков до значения в 65535. Например, 54562, но не стандартный!
- Дать название первому юзеру (любое)
- Выбрать DNS-сервер
В конце установки скрипт выдаст QR-код, который можно отсканировать на смартфон, в приложение WireGuard, и начать пользоваться VPN.
Добавляем клиентов (через эту команду управляем в принципе Wireguard):
bash wireguard.sh
Выбираем пункт 1 и называем напр. User. Скрипт сгенерирует ключ и QR-код. Все ключи программа хранит в папке /root/
Скачать все ключи можно через SFTP, либо открыть файл редактором, как указано ниже, скопировать код и вставить его в приложение WireGuard:
nano /root/user.conf
Скачать приложения можно по ссылке ниже:
Установка Outline VPN
Скачиваем и устанавливаем менеджерский софт Outline:
Выбираем вариант, который я подсветил желтым цветом:

А далее, немного поработаем с терминалом SSH:
sudo apt install curl && sudo curl -sS https://get.docker.com/ | sh
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
В конце скрипт выдаст нам ссылку, скопируем ее и вставим в приложение менеджера Outline.
Образец ссылки:
{"apiUrl":"https://ip_сервера:27787/Dm9Rv_OhgfujfgfR3QoA","certSha256":"D0A763F2618CDDjhfhjgjhfhukj85FE260C791A8A4C8D489DCD898"}
Далее, установим клиент Ouline по ссылке или с Google play & App store:
Добавляем новых клиентов, через менеджерский софт Outline.
Нажимаем ctlr + x, далее y + enter, чтобы сохранить.
Установка Outline закончена.
Базовая защита сервера
Защитим сервер брутфорса (взлом через перебор паролей):
apt install fail2ban -y && apt install ufw -y && apt install nano -y
touch /etc/fail2ban/jail.local && nano /etc/fail2ban/jail.local
Откроется редактор, вставим в него код:
[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
findtime = 600
maxretry = 3
bantime = 43200
Нажимаем ctlr + x, далее y + enter, чтобы сохранить.
Настраиваем фаервол и отключаем пинг
Внимание! Вместо 51820/udp, пишем тот порт, который мы указали при установке Wireguard.
Если мы установили только Wireguard
ufw allow 51820/udp && ufw allow 22 && ufw limit 22/tcp && service ufw start && ufw enable
Если мы установили только Outline
ufw allow 22 && ufw limit 22/tcp && ufw allow 33598/tcp && ufw allow 29843/udp && ufw allow 29843/tcp && service ufw start && ufw enable
Подтверждаем включение фаервола, Y и Enter.
Отключим двухсторонний пинг, чтобы затруднить обнаружение туннеля
nano /etc/ufw/before.rules
Меняем концовку следующего выражения с ACCEPT на DROP:
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Нажимаем ctlr + x, далее y + enter, чтобы сохранить.
Напоследок, обновим и перезагрузим наш сервер.
apt update && apt upgrade -y && apt autoclean -y && apt clean -y && apt autoremove -y && reboot
Если есть вопросы, дополнения или уточнения — пишите в комментариях!


Привет! А можешь пост о настройке wireguard, чтобы использовалась ipv6 и набиралось максимально возможное по баллам на https://ipv6-test.com/
Я настраивал вот по этой инструкции свой арендованный https://github.com/angristan/wireguard-install но у меня не завелось, хотя поставщик поддерживает. Нашел интересный вариант с каналом 10 гигабит в Нью-Йорке за 3,5 $ кстати https://www.madcityservers.com/ сам не пробовал пока изза расстояния

Больше для общего развития 🙂 тут много + описано https://habr.com/ru/articles/490378/


Дмитрий, а почему вы рекомендуете сменить стандартный порт WG на другой? У меня уже был настроен WG решением от FireZone. При установке в дополнение Outline и настройке UFW по инструкции WG не может подключится. Открыл 443 порт, 51820 и 22. Так же 80. Если отключить фаервол — все работает.