Сейчас прям самое время завести свой собственный VPN сервер. Я думаю, что вы и сами понимаете зачем он нужен, учитывая всю политическую ситуацию вокруг.

Многие люди думают что использовать. TOR? Он бесплатный и довольно быстро позволяет подключиться куда нужно. Либо же какие-то VPN сервисы сторонние? Такие как tunnelbear, он стоит не дорого всего $5. Либо же сделать свой собственный VPN сервер?

Давайте подробнее про все три варианта.

Лично мне совершенно не нравится TOR. Главная причина по которой он мне не нравится это отсутствие сквозного шифрования трафика. На выходном узле трафик не зашифрован, что позволяет правоохранительным органам, а также злоумышленникам относительно легко прочитать его. Более того, теоретически любой желающий может создать собственный узел TOR с преступными целями, перехватывать весь идущий через него трафик и следить за ним, и в архитектуре TOR нет никаких защитных механизмов от таких злоупотреблений.

Другие проблемы TOR не настолько существенные. Но все-таки давайте про них расскажем. Низкая скорость работы. Она еще ниже чем у VPN из-за большого количества узлов.

Ну и самое смешное: "Служба TOR была разработана совместно с ВМС США специально для тех, кто не желает, чтобы их действия отслеживали правительственные организации"

Мы можете спросить, а для чего поднимать свой собственный VPN сервер если есть готовые решения типа TunnelBear, NordVPN, UltraVPN, vypnVPN, ExpressVPN?

Плюсов сразу несколько

  • У вас будет свой личный IP-адресс, и кроме вас на нем никого не будет.
  • Адекватная скорость. Вы всегда будете уверены в том, что скорость не снизится из-за каких-то непонятных для вас нагрузок.
  • Это ваш личный сервер. И доверия такому решению намного больше.

в DigitalOcean, например, при регистрации по реферальной ссылке вы можете получить $100 на счет. И поверьте это много. Сервер для VPN стоит всего $5 в месяц.

Можете воспользоваться моей реферальной ссылкой, вы получите $100, а я $25.

Для начала вам нужно зарегистрироваться.

После регистрации вам нужно будет создать SSH ключи. В MacOS и Linux вы это можете сделать с помощью следующей команды:

ssh-keygen

В Windows вы это можете сделать в программе PuTTY

После того как вы создали ключи, вы должны добавить в DigitalOcean файл

id_rsa.pub

После того как вы добавите вы сможете заходить на сервера, которые вы там создадите без пароля.

После того как мы закачали ключи мы можем создать новый дроплет.

Выбираем Ubuntu 18.04 и самый дешевый дроплет за $5

После того как наш сервер был создан, смотрим во вкладку Droplets и копируем IP нашего сервера.

Далее идем в консоль и подключаемся к нашему серверу командой

ssh root@123.456.789.123

Если все хорошо, но увидите следующее

После того как мы успешно подключились давайте обновим нашу систему

Сначала

sudo apt-get update

Потом

sudo apt-get upgrade

Теперь установим Docker

snap install docker

Готово, теперь преступим к настройке самого VPN. За основу я взял решение от jpetazzo/dockvpn. Выполняем по очереди эти две команды.

CID=$(docker run -d --privileged -p 1194:1194/udp -p 443:443/tcp jpetazzo/dockvpn)

docker run -t -i -p 8080:8080 --volumes-from $CID jpetazzo/dockvpn serveconfig

После этого в консоли мы увидем ссылку. Нам нужно будет перейти по ней и у нас сразу же начнется скачивание файла. Этот файл будет со случайным именем. Скачиваем его и переименуем в vpn.ovpn

Готово.

Теперь если вы пользуетесь Linux, то вы можете выполнить следующую команду:

sudo openvpn --config vpn.ovpn

Если у вас MacOS, то рекомендую использовать программу TunnelBlick

Если Windows, то поищите что-то, я думаю вариантов много.

Если у вас Android, то для него есть классное приложение, которое называется "OpenVPN for Android".

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

Мы платим всего $5. При этом вы можете скинуться с друзьями впятером на этот VPN и использовать его все вместе. Ну, скорость естественно упадет если будете все вместе сидеть и что-то качать. Можете дать его членам семьи.

И так это самый простой способ для того чтобы поднять свой собственный VPN.

Другие варианты

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

Но иногда не очень удобен вариант, когда весь трафик идет через VPN. Мы, например, не хотим чтобы наши торренты качались через VPN, так как скорость снизится. Для того чтобы пускать только некоторые приложения через VPN существует туннелирование.

Туннель можно настроить через network namespaces. Эта штука нужна чтобы отделить разные процессы в ОС. Она используется в различных системах для автоматизации развёртывания, таких как Docker или Ansible.

Если вам нужно изолировать несколько приложений, то вам нужно идти именно этим путем. (Например, когда я пользовался Spotify я как раз настраивал неймспейсы и запускал спотифай через VPN)

Так же можно использовать вариант гораздо проще. Это SSH туннель. Создается он одной командой.

ssh -D localhost:12345 root@123.456.789.123

После этого мы можем зайти в браузер и настроить SOCS прокси, указав адрес - localhost и порт - 12345

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