Настройка OpenVPN на Android
пошаговая инструкция с картинками
Представленная инструкция предназначена для настройки подключения к удаленному VPN-серверу с устройств на базе операционной системы Аndroid при помощи программы OpenVPN
Для того, что бы создать VPN-подключение при помощи приложения Open VPN на Аndroid устройстве Вам понадобится:
- смартфон или планшет на базе ОС Аndroid;
- программа OpenVPN connect для ОС Аndroid;
- конфигурационный файл с сертификатами, а также логин и пароль от провайдера.
Ищите VPN провайдера? Мы поможем с выбором!
Посмотрите наш рейтинг VPN сервисов с 5-ю лучшими предложениями на рынке.
Итак, если Вы подготовили все необходимое, то мы можем приступать к настройке VPN-соединения для Аndroid устройств.
1. Для начала Вам необходимо скачать и установить программу OpenVPN for Android. Данное приложение доступно в каталоге Google Play Store, распространяется бесплатно и может быть настроено в любом устройстве на базе Аndroid
2. Далее запускаем программу OpenVPN for Android и нажимаем кнопку «Импорт», расположенную в верхнем правом углу экрана
3. Теперь нужно найти распакованный архив с конфигурационным файлом, полученный от провайдера. Затем необходимо один раз кликнуть на файле профиля OpenVPN, имеющем расширение «.ovpn» и нажать кнопку «Выбрать»
4. После этого в окне программы высветятся детали импортируемого профиля, просмотрев которые, жмем кнопку «Импорт», находящуюся вверху справа.
5. В следующем окне программой будет предложено ввести пароль для извлечения сертификата, Вы это сообщение игнорируете, оставляете поле пустым и нажимаете кнопку «OK»
6. Далее Вам будет предложено присвоить имя сертификату, здесь его можно оставить таким, каким оно прописано по умолчанию
7. На следующем этапе необходимо прописать PIN-код для разблокировки устройства. Здесь в обязательном порядке необходимо этот код заполнить, выбрав удобную комбинацию цифр, которую Вам легче запомнить. Если Вы его забудете, то разблокировать устройство не удастся
8. Далее Вы увидите на экране запрос на использование сертификата, здесь следует нажать кнопку «Allow»
9. Если Вы сделали все верно, то Ваш профиль успешно импортирован в программу и остается произвести настройку логина и пароля для подключения, для чего следует нажать кнопку настройки напротив названия профиля
10. В этом окне Вас следует изменить только Имя пользователя» и «Пароль», которые Вам выдал провайдер
11. После этого настройку приложения можно завершать, для чего нужно нажать на названии подключения, система попросит подтвердить разрешение подключиться к VPN, ставите галочку «Я доверяю этому приложению» и нажимаете «OK»
12. В результате на экране вы увидите лог подключения, а в панели уведомлений отобразится соответствующий ярлычок подключения VPN, где можно также просмотреть статус VPN-соединения
На этом настройка подключения к VPN-серверу с устройств на базе операционной системы Аndroid через программу OpenVPN завершена.
Источник
Подключение к серверу VPN с мобильных устройств на базе Android
Каждый современный пользователь обладает смартфоном и использует его функционал не только для совершения звонков, но также для серфинга в сети Интернет. Однако в общественных местах вы подключаетесь к Wi-Fi, который может не защищаться паролем, а это повышает риск кражи личных данных, если третье лицо в виде злоумышленника тоже захочет подключиться к этой сети.
Установить защищенное шифрованное соединение на мобильном гаджете крайне просто. Достаточно скачать впн на андроид устройство и получить доступ через виртуальную приватную сеть. Данный сервис имеет сетевое хранилище, поэтому доступ к любым сайтам будет происходить в рамках защищенного канала, а вы сможете не переживать, что кто-то украдет ваши приватные данные.
VPN – это виртуальная частная сеть, которая представлена в виде специальной технологии, способной обеспечить безопасное сетевое соединение сверху на другой сети, в том числе и Интернет.
Принцип работы VPN основан на формировании сетевого туннеля, через которых осуществляется передача данных между пользователями, сайтами и самим сервисом в обоих направлениях. Трафик зашифрован, поэтому на входе данные трансформируются и на выходе преобразуются в свое исходное значение.
С помощью виртуальной сети можно обеспечить защиту не только данным, которые передаются, но также скрыть реальное местоположение клиента и его личные данные.
Преимущества сети VPN определяются ее возможностями, которые помогают пользователям оставаться в безопасности:
- полная анонимность в сети Интернет, чтобы пользователь мог скрыть свои перемещения за счет смены IP-адреса и зашифрованного трафика;
- обход всех географических ограничений;
- ваши данные сохраняются в безопасности, если вы подключаетесь к общественному Wi-Fi без пароля;
- снижение риска хакерских атак;
- можно удаленно работать в защищенной корпоративной среде;
- обход законодательных запретов.
Существует много видов протоколов VPN, которые используются для создания самой приватной сети, при этом каждый из таких инструментов имеет свои особенности.
Самыми популярными являются следующие:
- PPTP – туннельный протокол «точка-точка». Он позволяет скрыть пакеты протокола «точка-точка» в пакеты протокола Интернет-сети;
- L2TP – туннельный протокол канального уровня. Можно формировать частную сеть не только в сетях IP, но и в других;
- OpenVPN – протокол с открытым исходным кодом, который применяется в большинстве VPN-сервисах.
Далее мы рассмотрим, как можно с мобильного устройства на ОС Андроид подключаться к сети VPN с помощью перечисленных протоколов.
Подключение к PPTP/L2TP-серверу с Android-гаджета
Порядок действий будет следующим:
меню Настройки – Беспроводные сети – пункт Еще;
выбрать раздел Виртуальная сеть (VPN);
нажать Добавить сеть, таким образом вы создадите новое подключение.
Если вы желаете подключиться к PPTP, тогда в открывшемся меню необходимо указать следующие данные:
- название сети (вы ее придумываете сами);
- задать тип – это PPTP;
- адрес сервера – здесь вписываете свой адрес IP или доменное имя MyQnapCloud.
Подключение к протоколу L2TP осуществляется путем внесения таких данных:
- название сети (придумываете самостоятельно);
- тип протокола – это L2TP/IPSec PSK;
- адрес сервера – вводите свой IP или доменное имя MyQnapCloud;
- общий ключ IPSec – это ключ, который установлен на сервере.
Далее вы запускаете сформированное соединение:
Необходимо ввести учетные данные пользователя PPTP или L2TP-сервера, затем нажать кнопку подключения.
При верном введении данных авторизации будет отображаться информация о подключении.
Подключение к OpenVPN-серверу с Android-гаджета
Изначально в мобильных устройствах нет специальных приложений, через которые можно подключиться к серверу OpenVPN, поэтому вы первым делом скачиваете программу OpenVPN for Android. Ее лучше всего инсталлировать через Play Market, где скачивание происходит с подтвержденного ресурса.
Следующим шагом будет запуск этой программы и нажатие кнопки для импортирования – она находится в верхнем правом углу.
Укажите ранее скачанный файл конфигурации с расширением *.OPVPN.
Далее нажимаете на кнопку, имеющую значок дискеты, и сохраняете сертификат.
Теперь нужно запустить подключение OpenVPN.
Потребуется ввести данные логина и пароля пользователя, который зарегистрирован на сервере. Затем нажимаете кнопу для подтверждения – OK.
В случае корректного введения данных для авторизации на экране устройства будет высвечиваться информация о подключении к серверу.
В панели уведомлений появится новый ярлык, указывающий на подключение. Если его нажать, вы сможете увидеть всю информацию о текущем соединении.
Настройка завершена успешно и можно в безопасном режиме пользоваться сетью Интернет в любое время и в любом месте. Ваш трафик будет зашифрован, вам не нужно бояться, что кто-то может украсть данные с вашего устройства.
Источник
OpenVPN на Android: прозрачное переключение между WiFi и «Мобильными данными» без разрыва соединений
Здравствуйте, разрешите поделиться своим опытом.
Есть приложения критичные к разрывам связи, переподключение происходит мучительно и вообще не всегда. Поставил перед собой цель, сделать прыжки маршрутов и физических подключений прозрачными, что бы связь была постоянной и TCP коннект не рвался.
И поможет в этом старый, добрый и ламповый «openvpn». Но установка и настройка — тема давно избитая, трогать её, здесь не планируется.
Что нам нужно:
- Сервер Linux с постоянным IP (vps, vds, dedic или просто домашний)
- Openvpn на сервере и клиенте, настроенные на работу по UDP.
- iproute2 — собственно для фокуса нужна работающая утилита ip на Android.
- Так же потребуется внести изменения в исходный код openvpn-settings c последующий сборкой apk.
Приступим
Начнем с правки «openvpn-settings». Суть в том, что при любом изменении в сетевой конфигурации нативному демону openvpn посылается команда SIGUSR1, что заставляет его отключаться и подключаться по новой. Для наших целей это вред, но нам все равно желательно иметь возможность выполнять некоторые действия при изменении сетевой конфигурации.
Кто-то скажет, но ведь есть persist-tun. Отвечаю, работает не так, как хочется, openvpn дергает скрипты «лежать-вставать» каждый раз, когда приходит SIGUSR1. И в принципе отличить по имеющимся переменным перезапуск от старта, без выкрутасов почти не возможно. Это подрывает всю затею, а хочется просто и надежно.
Поэтому мы заменим отправку SIGUSR1 на вызов shell скрипта.
Скачиваем исходники командой
hg clone code.google.com/p/android-openvpn-settings
Открываем файл
\src\de\schaeuffelhut\android\openvpn\service\ManagementThread.java
Находим функцию public void sendSignal(int s) её мы и будем редактировать.
Комментируем отправку SIGUSR1 и вставляем вызов нашего скрипта с правами рут.
Файл скрипта у нас будет называться точно так же как и файл подключения, но дополненный расширением sh.
Должно получится так:
Всё, можно собирать, подписывать, устанавливать. Перед установкой обязательно деинсталлируйте старый «openvpn-setting» из системы.
Далее проверим конфигурации подключения openvpn.
Сервер
На сервере требуется внести директиву float, поскольку мы будем менять физическое соединение, а с ним и IP. Так же сервер должен транслировать внутренний адрес нашего клиента во внешнюю сеть. Для настройки этого мне удобней использовать директивы up и down.
up «/bin/sh /etc/openvpn/androidupdown»
down «/bin/sh /etc/openvpn/androidupdown»
Скрипт должен быть примерно таким:
Клиент
Во первых надо убрать директиву redirect-gateway, если она есть. Но задать up и down с указанием скрипта, который выполнит настройку маршрутов. Если вы помните, мы условились, что имя файла будет повторять имя конфигурации с добавление sh. Да, мы будем вызывать один и тот же скрипт и из демона, и из монитора.
Если конфигурация называется «testconfig.ovpn», то пусть будет так:
up «/system/bin/sh /sdcard/openvpn/testconfig.ovpn.sh»
down «/system/bin/sh /sdcard/openvpn/testconfig.ovpn.sh»
Здесь стоит немного пояснить.
Мы создаем альтернативную таблицу маршрутизации под номером 100 в которой указываем шлюзом по умолчанию vpn туннель. И добавляем правило маршрутизации, которое заворачивает весь трафик в нашу таблицу под номером 100, раньше чем он попадет в основную таблицу под именем main.
В альтернативной таблице есть маршрут, который выталкивает пакеты предназначенные для сервера, обратно в цепочку правил. Далее они попадут в основную таблицу маршрутизации. Там они смогут найти основной маршрут физического соединения. Но, а если не найдут, такое случатся во время реконнектов, то это не страшно. Openvpn может потерпеть некоторое время, но разумеется не вечно. Только сообщения в логах, напомнят об отсутствии связи непродолжительное время.
Не забывайте скрипты должны заканчиваться переводом строки.
Для разрешения запуска скриптов на Android, необходимо установить «Built-in + script» в «Preferences» которые вызываются по долгому тапу на подключении. Теперь можно пробовать.
В результате тестирования оказалось, что некоторые программы сами проверяют состояние сети и пытаются переподключаться во время любых изменений. Тут либо просить авторов исправить ситуацию. Либо самостоятельно де компилировать и исправлять. В любом случае закрытие TCP сессии происходит, не по таймауту, а так как положено.
Буду рад любой критике и замечаниям. Желаю стабильного коннекта!
Источник