Андрей Смирнов
Время чтения: ~6 мин.
Просмотров: 19

Как установить и настроить OpenVPN клиент

Тихо и незаметно прошел релиз клиента OpenVPN для iOS. Для многих, в том числе и для меня, это может стать последней причиной для отказа от Jailbreak’а. Для тех, кто желает более подробно узнать о возможностях клиента на текущий момент, а так же о подводных камнях настройки, добро пожаловать под хабракат. Скачать клиент OpenVPN Connect можно из iTunes На текущий момент, по информации с форума разработчиков, он доступен в магазинах всех стран, кроме Франции. Задержки связаны с необходимостью получения Encryption Import License и носят временных характер. Ограничения, присутствующие в приложении:

  • Размер файла настроек не может превышать 256KB. Тем не менее, этого должно быть достаточно даже для хранения файла конфигурации в унифицированном ovpn формате, о котором будет сказано чуть позже.
  • Поддерживаются только tun соединения из-за ограничений iOS VPN API.
  • Не поддерживается ряд директив в конфигурационном файле: dev tap, tls-remote, fragment, mssfix.
  • Не поддерживается работа клиентов без сертификатов. Эта возможность появится в будущем релизе.
  • Возможно использовать только шифрование AES или Blowfish. Связано это с тем, что данные алгоритмы больше адаптированы под архитектуру ARM. Таким образом достигается большая энергоэффективность.
  • Использование HTTP прокси настраивается на уровне настроек приложения, а не в конфигурационном файле.
  • Использование контейнеров PKCS#12 возможно только, если они импортированы в связку ключей iOS. Такое поведение является настоятельной рекомендацией разработчиков, потому, что в отличие от хранения закрытого ключа прямо в ovpn файле, оно обеспечивает более высокий уровень сохранности секретных данных. Особенно в случае использования устройства с jailbreak.

Перейдем к настройке нашего OpenVPN. Сначала серверная часть (пример приведен для Linux). Используем easy-rsa для генерации сертификатов и закрытых ключей удостоверяющего центра (CA), сервера (server.crt и server.key) и клиента (ios.crt и ios.key). Так же сгенерируем параметры алгоритма Диффи-Хелмана.

./vars ./build-ca ./build-key-server server ./build-key ios ./build-dh 

Для большей безопасности так же сгенерируем ключ TLS аутентификации.

openvpn --genkey --secret ta.key 

Общий вид конфигурации сервера представлен ниже:

proto udp dev tun0  topology subnet  option server "10.19.2.0 255.255.255.0"  push "dhcp-option DNS 8.8.8.8" push "route 10.19.1.0 255.255.255.0"  keepalive "10 120"  cipher AES-128-CBC comp_lzo 1  persist_key 1 persist_tun 1  ca ca.crt cert server.crt key server.key  dh dh1024.pem  tls-auth "ta.key 0" 

Теперь перейдем к конфигурации клиента. Наиболее важный момент настройки заключается в том, что закрытый ключ клиента должен быть в формате RSA. Если вы делали все согласно инструкции на сайте OpenVPN, или у вас уже были готовые ключи, то их необходимо предварительно конвертировать. Для этого можно использовать openssl:

openssl rsa -in ios.key -out ios_rsa.key 

Теперь соберем все необходимые ключи и сертификаты в один PKCS#12 контейнер:

openssl pkcs12 -export -in ios.crt -inkey ios_rsa.key -certfile ca.crt -name ios -out ios.p12 

Обязательно укажите пароль для экспорта. Установить контейнера без пароля на экспорт в связку ключей iOS не получится. Полученный контейнер передаем на устройство через электронную почту или Safari. Для организации файла конфигурации клиента будем использовать унифицированный ovpn формат. Общий вид конфигурации представлен ниже.

client tls-client dev tun proto udp  remote адрес_сервера resolv-retry infinite  key-direction 1  cipher AES-128-CBC  persist-tun persist-key  comp-lzo verb 3  redirect-gateway  <tls> -----BEGIN OpenVPN Static key V1----- #содержимое ta.key -----END OpenVPN Static key V1-----   <ca> -----BEGIN CERTIFICATE----- #содержимое ca.crt -----END CERTIFICATE----- </ca></tls>

Полученный файл можно импортировать на ваше iOS устройство через iTunes (рекомендуемый вариант) или через электронную почту.

Полезные ссылки

OpenVPN HOWTOOpenVPN Connect OpenVPN Connect (iOS) forum 1. Установите приложение OpenVPN Connect на ваше устройство.1.png2. В клиентской панели отправьте на email, который доступен с вашего iPhone, файлы конфигурации. В письме будет также доступна инструкция по установке.1-2.png3. На iPhone откройте в приложении для просмотра почты (не в интернет-браузере) письмо с файлами конфигурации и кликните по любому из прикрепленных файлов. Тут же появится окно выбора — в нём нужно выбрать пункт «Скопировать в OpenVPN».2.png4. После вас перекинет в саму программу OpenVPN и в ней будет предложено символикой дальнейшее действие с файлом. Нажмите на символ, который выглядит как белый крестик в зеленом кружке.3.png5. Теперь вы можете подключиться, нажав на переключатель «Connect» в программе OpenVPN Connect.

Точно так же можно импортировать и остальные файлы из вложения в письме. Обратите внимание! По умолчанию клиент OpenVPN Connect допускает утечку трафика при внезапной потере связи, остановке и/или переподключении к VPN. Для решения этой проблемы нужно зайти в «Настройки», затем в блоке приложений выбрать «OpenVPN» и в появившихся опциях включить «Seamless tunnel», а для «Connection timeout» выставить значение «None». Такое решение доступно в версиях iOS 8 и выше.5.pngЕсли возникнут сложности, обратитесь по контактам саппорта.

  • pmnt01.jpg—>

Для установки VPN через OpenVPN на iOS-устройстве, например, iPhone или iPad, скачайте программу OpenVPN Connect из App Store:

kak-nastroit-openvpn-na-ios-1.jpg

Настройка через iTunes:

1 Теперь подключите смартфон или планшет к компьютеру, синхронизируйтесь с iTunes, зайдите во вкладку «Программы», далее «Общие файлы». Выделите OpenVPN и нажмите «Добавить»:

kak-nastroit-openvpn-na-ios-2.jpg

2 Теперь добавьте один из конфигурационных файлов .ovpn (из файла whoerconfig.zip, который вы получили по почте).

3 Проверьте, что на экране устройства появилось сообщение «New profiles are available»

4 Если все хорошо, нажмите на зеленый плюсик, чтобы подтвердить настройки. Для подключения (отключения) просто выберите ON (OFF) в приложении OpenVPN Connect.

Настройка без подключения к iTunes:

1 Откройте свою электронную почту на iPhone или iPad и найдите письмо с кодом активации от Whoer VPN. В конце письма вы найдете архив с конфигами, нажмите на него.

kak-nastroit-openvpn-na-ios-3.jpg

2 В открывшемся окне нажмите «Просмотреть содержимое»

kak-nastroit-openvpn-na-ios-5.jpg

4 В появившемся окне найдите иконку «Скопировать в OpenVPN» и нажмите на неё.

kak-nastroit-openvpn-na-ios-6.jpg

5 Далее вы попадете в приложение OpenVPN, где будет предложено импортировать файл, нажмите «Add»

kak-nastroit-openvpn-na-ios-7.jpg

6 Следующее окно показывает, что конфиг уже импортирован и необходимо его добавить в список подключений. По желанию, вы можете переименовать конфиг, после чего нажмите «Add»

kak-nastroit-openvpn-na-ios-8.jpg

Готово. Для подключения к нужному серверу ВПН найдите его в списке конфигов и нажмите на иконку «ON OFF»

kak-nastroit-openvpn-na-ios-9.jpg

Чтобы проверить соединение и убедиться, что вы благополучно работаете через Whoer VPN, зайдите на сайт whoer.net.

Посмотрите также наше видео, где мы подробно рассказываем как установить OpenVPN на iOS:

Используемые источники:

  • https://habr.com/post/168853/
  • https://www.doublevpn.com/ru/faq/nastrojka-i-ispolzovanie-openvpn-connect-v-iphone-ios.html
  • https://whoer.net/blog/ru/kak-nastroit-openvpn-na-ios/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации