VPN
April 15, 2019

Streisand VPN. Годный комбайн.

Чем дальше российское законодательство продвигается в деле ограничения свобод в интернете, чем больше слышу в СМИ фразы про блокировки, DPI, какой-то там надзор, то все чаще хочу закрыться от этого. Стать независимым и свободным можно стать заимев свой личный VPN. Ведь ожидаемо, что скоро многие популярные VPN-сервисы будут заблокированы роскомнадзором. Понятно, что эти блокировки будут сродни блокировкам Telegram, ибо у нас блокируют для того, чтобы отрапортовавть о проделанной работе. Но все равно это оставляет неприятный осадок и какое-то ощущение, что всех пытаются держать за дураков. Но я не об этом...


На просторах интернетов есть просто куча различных решений для VPN. Почти все они прекрасны. Но иногда возникает желание обладать на своем VPS комбайном с разными решениями и реализациями. И тогда нам на помощь приходит проект Streisand. Надо сказать когда я ознакомился со всеми фичами этого проета я выпал в легкий ступор, ведь помимо общепринятого OpenVPN тут еще и Shadowsocks, и модный WireGuard и даже TOR.

Пожалуй, Streisand VPN является оптимальным сервером для связки VPS + VPN, которые я попробовал. Важно, что это очень просто. Проще установить только Outline VPN. Если у вас еще нет VPS, то можно его завести себе в ITLDC. И кстати, при покупке у них сервера можно установить Streisand автоматически вместе с операционной системой.

Но я предположу, что у нас уже есть VPS в минимальной конфигурации с UBUNTU 16.04. Поехали...

Шаг 1. Копирование вашего ключа SSH на пустой сервер

Чтобы Streisand мог взаимодействовать с вашим сервером через Ansible, ему необходимо использовать аутентификацию с открытым ключом, а не пароли. Мы создадим закрытый ключ на нашем локальном компьютере, а ��атем скопируем открытый ключ в VPS, чтобы включить это соединение.

Если у вас еще нет ключа SSH

Просто создайте новый ключ SSH с помощью ssh-keygenкоманды:

$ ssh-keygen -t rsa

Когда вас спросят, где сохранить ключ, просто нажмите - Enter пусть местоположение будет по умолчанию.

Теперь, когда у вас есть ключ SSH или он был сгенерирован ранее. Не суть.

Давайте быстро скопируем его на наш сервер.

$ ssh-copy-id root@IP_ADDRESS

Проверяем работоспособность ключа утановив sshсоединение.

Шаг 2. Получение репозитория Streisand

Сначала загрузим Git-репозиторий Streisand.

$ git clone https://github.com/jlund/streisand.git && cd streisand

Далее, все что вам нужно сделать, - это запустить ./streisandкоманду, которая запустит установочный скрипт.

$ ./streisand

S T R E I S A N D  

Which provider are you using?
1. Amazon
2. Azure
3. DigitalOcean
4. Google
5. Linode
6. Rackspace
7. Localhost (Advanced)
8. Existing Server (Advanced)

Подразумевается, что наш случай, это случай под номером 8. После ввода скрипт запросит IP-адрес сервера, на котором вы устанавливаете Streisand. Затем вы увидите следующее - последнее предупреждение, сообщающее, что установка Streisand перепишет все существующие конфигурации.

THIS WILL OVERWRITE CONFIGURATION ON THE EXISTING SERVER.
STREISAND ASSUMES ███.███.███.█ IS A BRAND NEW UBUNTU INSTANCE AND WILL
NOT PRESERVE EXISTING CONFIGURATION OR DATA.

ARE YOU 100% SURE THAT YOU WISH TO CONTINUE?

Please enter the word 'streisand' to continue:

Если все пойдет хорошо, установщик отключится, и вы увидите много выходных данных из Ansible.

Шаг 3. Подключение к вашему новому серверу с поддержкой Streisand

Если фактическая установка Streisand прошла гладко то вы увидите следующий результат:

[streisand-gateway : Success!]
Server setup is complete. The `HOSTNAME.html` instructions file in the generated-docs folder is ready to give to friends, family members, and fellow activists. Press Enter to continue.:

Нажмите, Enterа затем проверьте generated-docsпапку.

cd generated-docs

Открываем файл HOSTNAME.html в браузере и видим подробные инструкции о том, как загрузить сертификат SSL, который позволит вам подключиться к вашему серверу Streisand. Следуйте инструкциям в соответствии с выбранной операционной системой или браузером.

После того, как вы установили сертификат, вы можете получить доступ к вашему серверу через IP-адрес вашего VPS и сгенерированную комбинацию имени пользователя и пароля. Также есть ссылка Tor / .onion, доступная для тех, кто хочет использовать этот протокол вместо HTTPS.

После ввода вашего имени пользователя и уникального пароля вы увидите документацию о том, как подключиться к различным активированным службам. Действительно интересная вещь в документации Streisand заключается в том, что она полностью настроена на IP-адрес вашего сервера. Есть встроенные инструкции для OpenVPN, Wireguard, Tor и других.

Жаль, что ребята убрали из сборки L2TP/IPSec, посчитав это решение уже недостаточно безопасным.

Заключительные мысли о Streisand VPN