Pull to refresh

Установка OpenVPN в несколько кликов

Reading time6 min
Views56K

imageПривет, Geektimes!


Не так давно мне пришла в голову мысль, что подключение к Linux-серверу по SSH, установка пакетов, запуск скриптов — все это однотипная рутина, для которой не нужно участие человека, ее может сделать робот. Конечно, я пользуюсь Ansible, но он ведь тоже "не для всех".


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


Но одной программы для того, чтобы нести личный OpenVPN в массы, не достаточно. Поэтому была написана эта статья, в которой просто и по шагам расписано все, от создания аккаунта в облачном сервисе, до подключения с мобильного телефона.


Всего нужно выполнить 4 простых шага:


  1. Создать сервер (обычно достаточно просто нажать кнопку "Создать")
  2. Установить и запустить приложение SSHeller
  3. Нажать кнопку Install и дождаться завершения установки
  4. Скачать ovpn файл и подключиться к VPN с его помощью

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


Подойдет практически любой виртуальный (VPS, VDS) или физический сервер (у виртуального должен быть tun интерфейс). Для примера, ниже приведена инструкция по использованию DigitalOcean, как наиболее стабильного, простого и удобного в использовании облачного провайдера.


Подготовка


Для активации аккаунта необходимо одно из двух:


  • аккаунт PayPal
  • кредитная карта (именно кредитная, по которой можно уйти в минус, зарплатная/дебетовая не подойдет)

Если будете использовать PayPal — нужно будет внести $5. С кредитной карты-же заблокируют $1 и вернут.


Регистрация на DigitalOcean


Лучше всего регистрироваться по реферальной ссылке — тогда будет автоматически применён промокод на $10. А можно зарегистрироваться заполнив форму на главной странице и позже ввести любой промокод — он легко ищется через google. Их много разных и все по $10.


Перейдя по ссылке, достаточно ввести e-mail и придумать пароль.


DigitalOcean register form


После нажатия на кнопку, придет письмо с ссылкой для подтверждения регистрации — по ней нужно будет перейти.


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


DigitalOcean PayPal


После нажатия на кнопку подтверждения, запустится стандартный процесс оплаты. Но есть важная особенность, которая позволит немного сэкономить: ваш банк конвертирует рубли в доллары по более выгодному курсу, нежели PayPal


DigitalOcean PayPal Confirm


Нужно нажать View conversion options и выбрать вариант Convert with card issuer


DigitalOcean PayPal Conversation


После окончания оплаты, вы попадете на главную страницу Dashboard. Можно перейти в Settings -> Billing чтобы посмотреть баланс.


Здесь Your credit $15 — внесенный аванс. А Usage $0.00 — сумма, которую нужно оплатить. Оплата обычно производится по факту — сколько потратили за месяц, столько вас и попросят оплатить(после исчерпания аванса). В самом низу можно посмотреть, какие были начисления.


DigitalOcean PayPal Billing


Запуск сервера


Сверху-справа нажимаем Create -> Droplets


DigitalOcean Create Droplet


Откроется страница создания сервера. Нужно задать 3 основных параметра.


Операционная система: Fedora 27. Это самая маленькая, быстрая и стабильная из доступных. Хотя Debian 9 — тоже хороший выбор. Более того, поддерживаются все доступные ОС, кроме FreeBSD и Debian 7.


DigitalOcean Droplet Fedora


Размер: будет достаточно самого маленького за $5.


DigitalOcean Droplet size


Регион — нужно выбрать тот, который территориально к вам ближе. Для Европейской части России — это Amsterdam.


DigitalOcean Datacenter Amsterdam


Этого достаточно. В самом низу можно изменить имя, но можно оставить по умолчанию и нажать большую зеленую кнопку Create. Виртуальная машина начнет создаваться, и вскоре вам придет e-mail с ее адресом и паролем.


Установка SSHeller


Для установки достаточно перейти на страницу релизов, скачать соответствующий файл и запустить его.


  • Для Windows: SSHeller.Setup.X.X.X.exe
  • Для macOS: SSHeller-X.X.X.dmg
  • Для Linux: SSHeller-X.X.X-x86_64.AppImage — после загрузки сделать исполняемым и запустить

Теперь SSHeller можно запустить из списка приложений.


Установка сервера OpenVPN


Письмо от DigitalOcean уже должно было прийти. Из него нам нужны 4 параметра.


DigitalOcean E-Mail


Запускаем SSheller и жмем Add


SSHeller servers list SSHeller servers add


Копируем параметры из письма:


  • Droplet Name -> Name
  • IP Address -> Host
  • Username -> User
  • Password -> Password

Нажатием Save возвращаемся к списку серверов.


SSHeller connect


В списке выбираем созданный сервер и нажимаем Connect. Первое подключение займет немного больше времени, так как DigitalOcean создает виртуальные машины с истекшим паролем, и приложению будет необходимо его обновить. После подключения отобразится состояние сервера (Dashboard). Слева сверху нужно открыть меню и выбрать OpenVPN.


SSHeller plugin OpenVPN


На экране OpenVPN, достаточно нажать зеленую кнопку Install и подождать.


SSHeller OpenVPN install


Сколько нужно ждать — невозможно предсказать. Иногда это может быть 3 минуты, а иногда — доходить до получаса. Зависит от сервера, на котором запускается ваша виртуальная машина. Чем меньше у сервера заполнен пул энтропии — тем дольше ждать. Если простыми словами: компьютер очень медленно создает новые случайные числа, но делает это постоянно и копит их. А для создания ключей шифрования нужно очень много случайных чисел. Если их кто-то уже использовал — придется подождать.


SSHeller OpenVPN progress


По окончанию будет выведен отчет. Если интересно, его можно посмотреть.


Сразу будет создан профиль по умолчанию и соответствующий ему файл настроек — client.ovpn. Можно скачать его, а можно создать еще один, или несколько, введя имя нового профиля и нажав кнопку Add.


SSHeller OpenVPN ovpn files


Для загрузки достаточно кликнуть на соответствующий файл профиля.


Подключение


  • Для Windows и Linux нужно установить OpenVPN
  • Для macOSTunnelblick
  • Для Android и iOSOpenVPN Connect из магазина приложений

Windows


  1. Скачиваем openvpn-install-X.X.X-I601.exe c официального сайта и устанавливаем
  2. Сохраненный файл client.ovpn нужно скопировать в папку C:\Program Files\OpenVPN\config — потребуется подтверждение прав Администратора
  3. В меню "Пуск" выбрать OpenVPN -> OpenVPN GUI
  4. В трее (иконки возле часов) нажать правой клавишей мыши на иконку монитора с замком и выбрать Подключиться

OpenVPN Windows


Если в папке config будет несколько файлов, то появится подменю для каждого файла.


macOS


  1. Скачиваем Tunnelblick_XXX.dmg с официального сайта (Stable) и запускаем
  2. В открывшемся окне два раза кликаем по иконке с подписью Tunnelblick
  3. Появится предупреждение, что эта программа скачена из интернета — нажимаем Открыть
  4. В окне приветствия нажимаем Продолжить
  5. Далее будет необходимо ввести пароль Администратора
  6. На вопрос о файле конфигурации ответить: У меня ЕСТЬ файл конфигурации, а в следующем окне нажать OK
  7. Через Finder найти client.ovpn файл и открыть его; указать хотите ли только вы пользоваться им, либо также разрешить другим пользователям компьютера
  8. В трее (иконки возле часов) нажать левой клавишей мыши на иконку ворот и выбрать соединить client
  9. Может быть выведено сообщение "Unrecognized option or missing or extra parameter(s)" — оно не влияет на работоспособность

OpenVPN macOS


Linux


  1. Установите пакет OpenVPN пакетным менеджером. Например в Debian и Ubuntu достаточно выполнить: sudo apt-get install -y openvpn
  2. Подключение устанавливается командой sudo openvpn --config client.ovpn

iOS


  1. Установите OpenVPN Connect из App Strore
  2. Отправьте файл на свое мобильное устройство. Например, можно самому себе с компьютера отправить письмо
  3. Запустите приложение OpenVPN Connect, выберите Import you Private Tunnel Profile
  4. Выберите сохраненный client.ovpn файл
  5. Переместите появившийся переключатель в положение On

OpenVPN iOS


Android


  1. Установите OpenVPN Connect из Google Play
  2. Отправьте файл на свое мобильное устройство. Например, можно самому себе с компьютера отправить письмо
  3. Запустите приложение OpenVPN Connect, выберите OVPN Profile
  4. Выберите сохраненный client.ovpn файл (обычно он сохраняется в папку Downloads) и нажмите IMPORT
  5. Введите отображаемое имя профиля или оставьте без изменений, нажмите ADD
  6. Переместите появившийся переключатель в положение On

OpenVPN Android


Как можно сэкономить


В DigitalOcean почасовая оплата


Т.е. можно платить только за то время, которым реально пользуешься. И здесь есть два важных замечания:


  1. Доступный трафик пропорционален времени работы сервера. Если сервер работал только 1/10 месяца (3 дня), то будет доступно только 1/10 трафика (100Гб). За превышение придется доплачивать (1 цент за каждый Гб)
  2. Чтобы деньги перестали списываться за сервер, его нужно не просто остановить, а полностью уничтожить, нажав на меню возле сервера и далее Destroy, а на появившейся странице сервера еще раз нажать Destroy. В следующий раз нужно будет заново повторять всю настройку, создавать новые ovpn файлы и отправлять их на устройства.

DigitalOcean destroy


Делитесь с родными и друзьями


Чисто технически, вы можете создать множество профилей, как для разных устройств, так и для разных людей. Вдвоем цена для каждого уже будет $2.5, впятером — $1.


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


UPD


1 мая 2018 начали появляться комментарии, что некоторые российские провайдеры блокируют Digital Ocean. Есть отличная альтернатива — Linode (сравнение).


  1. Регистрируемся на главной странице.
  2. После ввода e-mail, логина и пароля (нужно придумать), придет письмо со ссылкой для подтверждения, переходим по ней
  3. Откроется расширенная форма регистрации, нужно ввести фамилию, имя, адрес, промо код и данные карты
    • промокод на $10 или $20 легко ищется в google, 01.05.2018 работал PodcastInIt2018 на $20
    • карта подойдет любая, нет особых требований как у DigitalOcean
    • в самом низу выбираем первоначальное пополнение, минимум $5
  4. После оправки формы, сразу попадаем на страницу создания сервера, в самом низу выбираем Linode 1024 (стоит те же $5 в месяц), ниже выбираем локацию, для Европейской части России ближе всего Frankfurt, DE
  5. После создания сервера, выбираем его из списка и нажимаем Deploy an Image
    • выбираем дистрибутив, например Fedora 27 или Debian 9
    • придумываем, запоминаем и вводим пароль сервера
    • жмем Deploy
  6. Нажимаем кнопку Boot чтобы запустить сервер
  7. Переключаемся на вкладку Remote Access копируем самый первый Public IP, например 172.104.130.238
  8. Запускаем SSHeller, нажимаем Add
    • придумываем и вводим Name
    • в Host вставляем скопированный IP
    • в User вводим root
    • в Password вводим пароль, придуманный на шаге 5
  9. Сервер грузится не мгновенно, если быстро ввели параметры доступа к серверу, то придется подождать секунд 30

Дальше все по основной инструкции.

Tags:
Hubs:
Total votes 13: ↑13 and ↓0+13
Comments61

Articles