Pull to refresh

Cisco VPN client на Android легко и просто

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

«Эта функция не нужна», — скажете вы, ведь есть стандартный PPTP/L2TP/Ipsec Vpn. Да конечно, но в больших корпорациях для этого вовсю используют Cisco ASA. Поэтому я был огорчен отсутствием этой функции. Все мои попытки найти готовый софт на эту темы — не увенчались успехом. Когда я попал на сайт запросов новых функций для Андроид и увидел больше 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 клиент.
Я пользую порт VPNC. Можно скачать с Маркета либо на сайте
VPNC
Теперь его настроим.

А что если Ваш админ не дает Вам данные/пароль?
На ПК находим файл *.pcf, открываем его в блокноте.
Нас интересуют строки Host,GroupName,enc_GroupPwd.

image

В поле 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, на который тяжело найти модуль для ядра — то есть еще один путь — но это уже тема для следующей статьи.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.