Android - VPN на родном уровне - PullRequest
6 голосов
/ 11 мая 2010

Просто быстрый вопрос, так как Google не вырвет много.

Можно ли создать VPN-соединение с использованием собственного кода в Android

А если да, то предлагает ли VPN поддержку для поддержки активности?

Ответы [ 2 ]

1 голос
/ 05 мая 2011

Для создания VPN-подключения требуется рутирование устройства. Нам нужен доступ к профилям / data / misc / keystore и / data / misc / vpn / в нашей программе.

1 голос
/ 17 февраля 2011

Я полагаю, что это скорее проблема с разрешениями, чем открытая или не раскрытая проблема. Для большинства VPN-подключений вам потребуется изменить и получить доступ к вызовам сетевой фильтрации вашего ядра. Поскольку ваше приложение действительно должно работать в своей собственной песочнице, я сомневаюсь, что по умолчанию (по крайней мере, для приложений) оно доступно, так как вы по сути изменили бы способ, которым вся ОС маршрутизирует сетевой трафик. По той же причине, что для изменения iptables в ОС, его нужно рутировать, чтобы ваше приложение могло реально изменять такие вещи. В этот момент я бы предположил, что соединение будет выполнено аналогично любому другому соединению vpn в любой другой ОС Linux (через демон ipsec или какой-либо прокси-сервер, который вы создаете), но вызывающему объекту потребуется фактический уровень доступа, необходимый для завершения вызов к ядру.

...