Не так давно мне пришла в голову мысль, что подключение к 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
->Name
IP Address
->Host
Username
->User
Password
->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.exe
c официального сайта и устанавливаем - Сохраненный файл
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