Собственный VPN

Что нам нужно, чтобы запилить свой анонимный ВПН:

| Левый киви/яндекс кошелек
| Левый емейл
| SSH клиент

Можешь использовать и свои личные, а не левые почту с кошельком, но в таком случае твой VPN будет не таким уж и анонимным.


Создаем дроплет

Для полного счастья и свободы использовать будем известный хостинг DigitalOcean. Переходим по ссылке и регистрируемся.

Естественно, вводим подготовленный левый емейл, придумываем пароль, клацаем Create an Account, заходим на почту и подтверждаем регистрацию.

После регистрации нас просят указать платежные данные. Какие? Ну а для чего мы заготавливали qiwi/yandex..
Заводим виртуальную карту (я верю, что ты еще не потерял данные от кошелька?) и печатаем ее в форму, как на изображении:


Имя и остальные данные, Анон, заполняй на свое усмотрение - желательно правдоподобно.

После заполнения всех данных переходим к следующей странице. На ней, в разделе Choose an image выберай дистрибутив Ubuntu 16.04 x64.

Местоположение сервера также выбирай на свой утонченный вкус, или по необходимости. После этого жмем батон CREATE, чтобы применить все введенное и наконец-таки создать долгожданный дроплет.

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




Создание VPN сервера

Скачиваем PuTTY (это бесплатно, Google it), устанавливаем, запускаем, указываем IP адрес и нажимаем кнопку OPEN



Пишем полученные на почту логин (обычно это root) и пароль, который сразу попросят изменить.

| password – “старый”, текущий пароль
| (Curent) UNIX password – повторить еще раз пароль
| Enter new UNIX password – ввести новый пароль
| Retype new Unix password – повторить новый пароль

Отлично, у тебя получилось подключиться к созданному серверу, и ты видишь перед собой командную строку.

Дальше будет немного колдунства с Линуксом, поэтому вводи все очень внимательно и скрупулезно.

Первым делом сгенерируем новые ключи для SSH. Для этого пишем:
ssh-keygen
и жмем Enter, пока этого просит консоль. Ничего вводить при этом не нужно, все параметры по умолчанию.

Обновляем список пакетов:
sudo apt-get update


Устанавливаем Git:
sudo apt-get install git


Устанавливаем Python и сопутствующие пакеты:
sudo apt-get install python-paramiko python-pip python-pycurl python-dev build-essential
sudo pip install dopy==0.3.5



После питона ставим систему управлениями Ansible:
sudo pip install ansible markupsafe


Из Git загружаем скрипт Streisand VPN и сразу перемещаемся в его рабочую директорию:
git clone https://github.com/StreisandEffect/streisand.git && cd streisand


Запускаем скрипт:
./streisand
и получаем в ответ что-то подобное следующему:

root@myvpn:~/streisand# ./streisand

S T R E I S A N D

Created new Streisand home directory: /root/.streisand
Created new Streisand site vars file: /root/.streisand/site.yml
Which provider are you using?
1. Amazon
2. Azure
3. DigitalOcean
4. Google
5. Linode
6. Rackspace
7. Localhost (Advanced)
8. Existing Server (Advanced)


Вводим цифру 7 Localhost (Advanced) после чего жмем Enter, на появившееся предупреждение:
LOCAL PROVISIONING WILL OVERWRITE CONFIGURATION ON **THIS** MACHINE. THE MACHINE YOU ARE CURRENTLY EXECUTING THIS SHELL SCRIPT ON. ARE YOU 100% SURE THAT YOU WISH TO CONTINUE? Please enter the word 'streisand' to continue: streisand
пишем streisand и жмем Enter

Количество пользователей вводим по необходимости, по дефолту их 5, ввод электронной почты и домена пропускаем.

Далее появляется выбор сервисов, которые будет поддерживать твой VPN, делаем как на листинге:

How many VPN client profiles should be generated per-service? Press enter for default [5]: 12
Enable L2TP/IPSec? Press enter for default [yes]: no
Enable OpenConnect? Press enter for default [yes]: no
Enable OpenVPN? Press enter for default [yes]: yes
Enable Shadowsocks? Press enter for default [yes]: yes
Enable SSH Forward User? Press enter for default [yes]: yes
Enable stunnel? Press enter for default [yes]: yes
Enable tinyproxy? Press enter for default [yes]: no
Enable Tor? Press enter for default [yes]: yes
Enable WireGuard? Press enter for default [yes]: no


жмем Enter и отдыхаем минут 25-30, пока не появится уведомление:

TASK [streisand-gateway : Success!] ***************************** [streisand-gateway : Success!] Server setup is complete.

Создаем web пользователя:

htpasswd -b -c /etc/nginx/htpasswd веб_логин веб_пароль

перегружаем nginx:

service nginx reload

Открываем браузер и переходим по адресу https://IP_вашего_сервера/ , предупреждение о недействительном сертификате игнорируем и попадаем в форму:



вводим установленный для web логин с паролем и попадаем в панель управления VPN:



Все, что осталось сделать - это выбрать тип соединения, и ознакомиться с детальной инструкцией по подключению.
Лично я использую OpenVPN (stunnel) для заворачивания в HTTPS.

Финиш, у тебя теперь есть свой собственный, проприетарный VPN.


Если вдруг все это оказалось слишком сложно или лениво для тебя
можешь обратиться за помощью ко мне