Свой собственный VPN за 3 минуты

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

Мое мини-руководство рассчитано на человека с улицы, без особого гиковского опыта, но достаточно комфортно чувствующего себя в мире компьютеров. Если у вас возникнут уточнения, пояснения и прочие поправки упрощающие процесс понимания - пишите в комментарии и я добавлю в основной текст.

План такой:

  1. Поднять подходящий дроплет в DigitalOcean
  2. Добавить в этот дроплет VPN
  3. Настроить ваш компьютер для доступа через этот VPN
Поднимаем дроплет

Первым делом надо завести себе экаунт на DigitalOcean. Это можно (и нужно ;) сделать по моей реферальной ссылке и получить 2мес бесплатно, либо прямо с их сайта. Цена вопроса - $5/мес. За эти деньги вы получите 1Т трафика в месяц, что на практике более чем достаточно. В принципе и четверти от этого нормальному человеку хватит на месяц, а значит можно скооперироваться с друзьями/коллегами и использовать общий VPN дроплет для целой группы товарищей.

Далее запускаем новый дроплет кликнув на зеленый “CREATE”. Даем ему какое-нибудь имя (любое) на ваш вкус. Я, например, дал своему “vpn.umputun.com”. Выбираем (в “Select Size”) 512MB/1CPU, а в “Select Region” то место, где вы хотите расположить свой VPN. Если вас не волнует доступ к ресурсам которые работают только из США, то разумнее всего выбирать регион близкий к вам (Amsterdam или London для жителей бывшего СССР).

В секции “Select Image” переходим в “Applications” и там выбираем “Docker 1.4.1 on Ubuntu”

После этого жмем на “Create Droplet” и ждем минуту (иногда чуть больше) пока оно создается.

Добавляем VPN в наш дроплет

Первым делом надо зайти в консоль вновь созданного дроплета. Это звучит страшно, но на самом деле все очень просто. К этому моменту вам на почту уже должен добраться email с паролем. Если по какой-то причине он не пришел, то в списке Droplets находим наш свеже-созданный, выбираем Access и просим “Reset Root Password”.

Через пару минут пароль придет в почту и мы готовы к доступу. Нажимаем на “Console Access” и на запрос “login” вводим root, а на запрос Password – полученный на почту пароль.

В нашей консоли создаем VPN сервер набрав вот это и нажав Enter: CID=$(docker run -d --restart=always --privileged -p 1194:1194/udp -p 443:443/tcp umputun/dockvpn)

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

Следующим шагом делаем это: docker run -t -i -p 8080:8080 --volumes-from $CID umputun/dockvpn serveconfig

Оно должно выдать нечто типа https://1.1.1.1:8080/ (у вас будет другой адрес). Берем эту строку и вносим в ваш браузер. Оно (в зависимости от бразуера) может пожаловаться на сертификат и попросить подтверждения, которое надо дать. После этого загрузится файл который нам понадобится на следующем, последнем этапе. А пока нажмем Ctrl-C в консоли и переходим к последнему шагу.

Если вы ввели адрес в браузере а файл не загрузился – попробуйте запустить docker run -t -i -p 8181:8080 --volumes-from $CID umputun/dockvpn serveconfig и потом откройте https://1.1.1.1:8181/, может помочь.

Устанавливаем VPN соединение

Нам понадобится поставить OpenVPN клиент для вашей платформы. Я установил Tunnelblick на Mac, но клиенты есть и для всех прочих систем. А на этом сайте понятная и подробная инструкция по установке для windows.

После этого переименуйте файл который мы загрузили на прошлом этапе в vpn.ovpn и кликните по нему. Это добавит наш вновь созданный сервер в вашу, вновь установленную программу клиента и приготовит все, что надо приготовить. В процессе, в зависимости от вашей ОС и установленного OpenVPN клиента, оно может попросить согласиться с тем и этим и задать пару вопросов на которые смело отвечайте “Да”.

Собственно на этом и все. Кликаем на Connect и мы подключены.

Теперь можно убедиться в том, что все работает. Если зайти на wanip.info то оно покажет вам всю правду, а именно то, что вы подключены с адреса вашего VPN сервера и, с точки зрения всех сайтов, приходите из Амстердама/Лондона/NY в зависимости от того, что выбрали в “Select Region” на первом этапе.

Для подключения дополнительных компьютеров просто повторите последний шаг. Да, и имейте в виду, что раздавать свой vpn.ovpn файл всему интернету - это плохая идея. 1Т это конечно много, но не настолько много, чтоб хватило всем.

Если после соединения вы не можете ни к чему подключится, то возможно проблемы с DNS на стороне DigitalOcean. Лично у меня таких проблем никогда не возникало, но в комментариях люди жаловались. Чтоб это починить откройте скаченный файл (vpn.ovpn) и добавьте в него строку dhcp-option DNS 8.8.8.8.

образ umputun/dockvpn это копия jpetazzo/openvpn из его свежих исходников. Единственная цель зачем я его собрал это то, что у автора он не строится автоматически и последние изменения там сами не появились.

Последнее обновление: 1 Июля 2015 (для umputun/dockvpn с длинным ключом)