После покупки Samsung Galaxy S у меня возник вопрос: как получать доступ через интернет на смартфоне в корпоративную сеть? С моим предыдущим телефоном iPhone (корпоративным) все было просто — работало из коробки.

«Эта функция не нужна», — скажете вы, ведь есть стандартный PPTP/L2TP/Ipsec Vpn. Да конечно, но в больших корпорациях для этого вовсю используют Cisco ASA. Поэтому я был огорчен отсутствием этой функции. Все мои попытки найти готовый софт на эту темы — не увенчались успехом. Когда я попал на сайт запросов новых функций для Android и увидел больше 1500 запросов на Cisco VPN Client, то решил действовать сам, благо опыт работы с Unix-Linux имеется.

Внимание: Для работы нужен root пользователь. Для этого установите приложение SuperOneClick или update через Recovery.

Если вы не являетесь счастливым обладателем прошивки с _CyanogenMod _нам понадобится найти модуль ядра для VPN для конкретной прошивки установленной на Вашем телефоне. Мне помог поиск

tun.ko Galaxy ACE 2.6.32.9-perf.

На всякий случай проверим есть ли он у вас:

$su
#cd /
#find -iname tun.ko

Есть /system/lib/modules/tun.ko?

Если нет – найденный в инете модуль tun.ko скопируем по нужному адресу.

С терминала на девайcе открываем доступ на запись:

#mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
и копируем: 
#cp /sdcard/download/tun.ko /system/lib/modules/
Подгружаем модуль в работающее ядро:
#insmod /system/lib/modules/tun.ko
и проверяем
# lsmod
tun 11200 0 - Live 0xbf000000

Получилось! Теперь осталось дело за малым — установить VPN клиент под Android.

Я использую порт VPNC. Его можно скачать с Google Play или на сайте VPNC

Теперь его настроим.

А что если Ваш админ не дает Вам данные/пароль?

На ПК находим файл *.pcf, открываем его в блокноте.

Нас интересуют строки Host,GroupName,enc_GroupPwd.

vpnc

В поле Gateway пишем IP адрес либо DNS имя нашего VPN-сервера (Host из конфига)

Username,Password вводим личные.

В поле ID — GroupName из конфига. А вот в поле Secret — enc_GroupPwd.

Только для начала расшифровываем ее на сайте — это бесплатно и без регистрации.

Ну вот и все — можем запускать клиент.

Да, чуть не забыл — при первом запуске нужен доступ на запись.

Потом, после перезагрузки телефона, перед стартом VPNC можно подгружать модуль либо вручную,

либо через запуск скриптов типа Gscript, либо добавить внутрь функции do_pre_init() в файле /data/data/org.codeandroid.vpnc_frontend/files/vpnc-script.

Кстати новая версия поддерживает токены — нужно только галочку кликнуть в настройках соединения.

Если у вас редкая прошивка или антикварный телефон с Android, на который тяжело найти модуль для ядра — то есть еще один путь — но это уже тема для следующей статьи.

Хочу заметить, что если у вас телефон на Android 4.1 этот пост для вас не актуален, там штатный VPN клиент хорошо работает с цыской.

Комментарии

comments powered by Disqus