Не так давно мне пришла в голову мысль, что подключение к Linux-серверу по SSH, установка пакетов, запуск скриптов — все это однотипная рутина, для которой не нужно участие человека, ее может сделать робот. Конечно, я пользуюсь Ansible, но он ведь тоже "не для всех".
В результате была написана программа "для всех" в которой просто есть одна кнопка "сделать хорошо". Программа с открытым исходным кодом и доступна для изучения и скачивания на GitHub.
Но одной программы для того, чтобы нести личный OpenVPN в массы, не достаточно. Поэтому была написана эта статья, в которой просто и по шагам расписано все, от создания аккаунта в облачном сервисе, до подключения с мобильного телефона.
Всего нужно выполнить 4 простых шага:
- Создать сервер (обычно достаточно просто нажать кнопку "Создать")
- Установить и запустить приложение SSHeller
- Нажать кнопку
Installи дождаться завершения установки - Скачать
ovpnфайл и подключиться к VPN с его помощью
Создание сервера
Подойдет практически любой виртуальный (, tun интерфейс). Для примера, ниже приведена инструкция по использованию DigitalOcean, как наиболее стабильного, простого и удобного в использовании облачного провайдера.
Подготовка
Для активации аккаунта необходимо одно из двух:
- аккаунт PayPal
- кредитная карта (именно кредитная, по которой можно уйти в минус, зарплатная/дебетовая не подойдет)
Если будете использовать PayPal — нужно будет внести $5. С кредитной карты-же заблокируют $1 и вернут.
Регистрация на DigitalOcean
Лучше всего регистрироваться по реферальной ссылке — тогда будет автоматически применён промокод на $10. Но я не буду здесь приводить ссылку. А можно зарегистрироваться заполнив форму на главной странице и позже ввести любой промокод — он легко ищется через google. Их много разных и все по $10.
Перейдя по ссылке, достаточно ввести e-mail и придумать пароль.

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

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

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

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

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

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

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

Регион — нужно выбрать тот, который территориально к вам ближе. Для Европейской части России — это 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 параметра.

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

Копируем параметры из письма:
Droplet Name->NameIP Address->HostUsername->UserPassword->Password
Нажатием Save возвращаемся к списку серверов.

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

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

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

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

Для загрузки достаточно кликнуть на соответствующий файл профиля.
Подключение
- Для
WindowsиLinuxнужно установитьOpenVPN - Для
macOS—Tunnelblick - Для
AndroidиiOS—OpenVPN Connectиз магазина приложений
Windows
- Скачиваем
openvpn-install-X.X.X-I601.exec официального сайта и устанавливаем - Сохраненный файл
client.ovpnнужно скопировать в папкуC:Program FilesOpenVPNconfig— потребуется подтверждение прав Администратора - В меню "Пуск" выбрать
OpenVPN->OpenVPN GUI - В трее (иконки возле часов) нажать правой клавишей мыши на иконку монитора с замком и выбрать
Подключиться

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

Linux
- Установите пакет OpenVPN пакетным менеджером. Например в Debian и Ubuntu достаточно выполнить:
sudo apt-get install -y openvpn - Подключение устанавливается командой
sudo openvpn --config client.ovpn
iOS
- Установите
OpenVPN Connectиз App Strore - Отправьте файл на свое мобильное устройство. Например, можно самому себе с компьютера отправить письмо
- Запустите приложение
OpenVPN Connect, выберитеImport you Private Tunnel Profile - Выберите сохраненный
client.ovpnфайл - Переместите появившийся переключатель в положение
On

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

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

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