По данным Apple статья поддержки о VPN для iOS, только Cisco IPSec, Juniper Junos Pulse и Cisco AnyConnect поддерживают функцию VPN по запросу. Существуют ли какие-либо реализации с открытым исходным кодом («бесплатные», как в пиве, здесь важнее), которые я мог бы развернуть в системе на основе Linux без специального оборудования?
Обновление: у меня уже есть решение для PPTP. Меня особенно интересуют функции по запросу двух других.
Cisco IPSec, Juniper Junos Pulse и Cisco AnyConnect можно настроить для VPN по запросу для определенных хостов / сетей назначения, поскольку они являются частью маршрута и могут осознавать необходимость сначала установить VPN-соединение, чтобы подключиться к этим хостам / сети;
Таким образом, в случае вашего сервера PPTP VPN на базе Linux, поскольку этот сервер не является вашим шлюзом маршрутизации по умолчанию, использование VPN по запросу не имеет смысла. В этой конфигурации ваш сервер должен быть шлюзом, совместимым с Cisco IPSEC, на Linux, а также шлюзом маршрутизации по умолчанию для ваших устройств iOS.
В случае устройства Apple iOS, VPN по запросу позволяет устройству iOS устанавливать прозрачное и безопасное соединение с удаленной корпоративной сетью без дополнительной ручной настройки на стороне пользователя.
Эту функцию VPN по запросу нельзя настроить вручную на устройстве iOS, она требует аутентификации на основе сертификатов и в настоящее время поддерживается в Cisco IPSec, Juniper Junos Pulse и Cisco AnyConnect.
Чтобы активировать и настроить его на устройствах iOS, необходимо создать профиль конфигурации, а затем подготовить устройство.
Другая форма VPN по запросу доступна на устройствах Mac OSX, где Safari решает установить VPN-соединение для подключения к определенным доменам / сетям (например, vpn.mycompany.com), которые вы уже указали как VPN по запросу и настроили профиль параметров подключения. (пароль / сертификат).
Больше информации:
iOS VPN по запросу: http://www.0x8847.net/2010/07/iphone-os-vpn-on-demand/ http://manuals.info.apple.com/en_US/Enterprise_Deployment_Guide.pdf
OSX VPN по запросу: http://docs.info.apple.com/article.html?path=Mac/10.6/en/15575.html
Для шлюза Cisco IPSec в Linux я рекомендую использовать пакет с открытым исходным кодом. StrongSwan для вашего iOS VPN по запросу
Используйте параметр --enable-cisco-quirks для создания StrongSwan, чтобы он был совместим с Cisco IPSEC. Это стабильная сертификация, шлюз IPsec для Linux, совместимый с требованиями iOS VPN on Demand.
Проверьте следующую ссылку для установки iOS на StrongSwan:
http://wiki.strongswan.org/projects/strongswan/wiki/IOS_(Apple)
Аутентификация использует XAUTH и сертификаты (authby = xauthrsasig). Описанная установка была протестирована и подтверждена для работы на iPad 2 с iOS 4.3.1, но ожидается, что она будет работать на всех других устройствах iOS (iPhone, iPad, iPod Touch), работающих под управлением актуальная версия iOS.
Как уже упоминалось в ответе @ Reza, вам в основном нужен профиль, чтобы эта работа работала. Одна вещь, о которой Реза не упомянул, - это вопрос, который, я думаю, вы задавали. Чтобы это работало в Linux, вам нужна какая-то поддержка IPSec. Для этого доступно несколько инструментов, как настроить некоторые из них, можно узнать здесь:
http://www.ipsec-howto.org/t1.html
Я сам для этого использовал Openswan:
Как только вы настроите профиль конфигурации VPN и правильно настроите область, устройство iOS установит туннель IPSec по запросу, и все будут получать бесплатное пиво (вы покупаете!)
Мы используем пакет PPTP Linux в CentOS, и он очень хорошо работает для OSX, Windows и iOS. Я знаю, что у него есть ограничения с точки зрения безопасности, но для большинства людей этого более чем достаточно.