Как поднять свой VPN

Прошлый раз я во всю пел хвалебные оды хостингу Digitalocean, где помимо прочего я обещал рассказать как поднять на этом хостинге свой vpn сервер с помощью Docker. За чем нужен свой vpn? Это каждый решает сам для себя. Можно например посещать сайты, которые по каким либо причинам недоступны из той страны, где вы находитесь. Или вам необходимо притвориться чуваком с американским ip и т.д. Сразу скажу что установка и настройка не потребует каких либо специальных знаний, за исключением может быть, начальных знаний командной строки unix.

Собственно мы поднимем с помощью docker виртуалку на котором будет крутиться наш openvpn сервер. Мы воспользуемся уже хорошо зарекомендовавшим себя образом jpetazzo. Первым делом вам понадобится учетная запись на digitalocean.com. Если вы заведете ее по моей реферальной ссылке, то получите 10$ на счет, чего хватит минимум на 2 месяца работы vpn (Целых два! Халявных! Месяца! Карл!).

Далее вам нужно создать свой droplet(так в digitalocean называют облачные виртуалки). Далее по шагам:

  • Нажимаете большую зеленую кнопку "Create Droplet"
  • Вводите имя дроплета (напр. 'my-openvpn')
  • Выбираете размер дроплета. Самого маленького за $5 вполне достаточно.
  • Выбираете регион где будет размещен ваш сервер (напр. New York, если нужен американский IP, или другой на выбор)
  • Выбираете образ. Где переходите на закладку Applications и выбираете образ с предустановленным docker. Docker 1.9.0 on 14.04
  • Нажимаете Create Droplet

Ждете примерно минуту пока создается дроплет. После того как дроплет будет создан вам придет email, котором будет указан ip вашего вновь созданного дроплета и логин с паролем. Теперь наверно самое сложное, это зайти по ssh на ваш дроплет. Можно воспользоваться любым клиентом ssh и данными из пришедшего email. Либо на том же сайте digitalocean воспользоваться браузерной консолью (в разделе Access вашего дроплета, кнопка Console Access). Дальнейшие мои инструкции аналогичны как для первого способа, так и для второго. При первом входе вас попросят сменить пароль, поэтому запомните его. Если что, его можно будет сбросить через личный кабинет digitalocean.

Собственно зайдя на дроплет в консоли вводите следующую команду:

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

выглядит страшно, но, тот кто читал мои предыдущие статьи посвященные докеру, поймет :) Эта команда проработает какое-то время и сама завершится. Далее запускаете контейнер следующей командой:

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

это команда выдаст url типа https://1.1.1.1:8080/ (у вас естественно будет другой). Имейте в виду, что пока работает выше указанна команда, пройдя по этому урлу вы сможете скачать файл конфигурации для вашего vpn клиента, поэтому не останавливайте ее пока не скачаете конфигурации на нужном количестве ваших устройств.

Клиентов vpn много, я для mac использую Tunnelblick. Для windows, iOS, android можно посмотреть клиенты тут.

После того как скачали и установили конфигурации на клиенты vpn, работающую команду нужно остановить (ctrl+c).

Да и напоминаю вам, что у созданного дроплета есть ограничение по трафику - 1000 Gb. Это очень много, но не безлимитно, посерфить послушать музыку и посмотреть кино, вам хватит точно.