После покупки Samsung Galaxy Ace у меня возник вопрос: как получать доступ через интернет на смартфоне в корпоративную сеть? С моим предыдущим телефоном iPhone все было просто — работало из коробки.
«Эта функция не нужна», — скажете вы, ведь есть стандартный PPTP/L2TP/Ipsec Vpn. Да конечно, но в больших корпорациях для этого вовсю используют Cisco ASA. Поэтому я был огорчен отсутствием этой функции. Все мои попытки найти готовый софт на эту темы — не увенчались успехом. Когда я попал на сайт запросов новых функций для Андроид и увидел больше 1500 запросов на Cisco VPN Client, то решил действовать сам, благо опыт работы с Unix-Linux имеется.
Внимание: Для работы ножен root пользователь. Для этого установите приложение SuperOneClick или update через Recovery.
Если вы не являетесь счастливым обладателем прошивки с CyanogenMod нам понадобится найти модуль ядра для VPN для конкретной прошивки установленной на Вашем телефоне. Мне помог поиск
На всякий случай проверим есть ли он у вас:
Есть /system/lib/modules/tun.ko?
Если нет – найденный в инете модуль tun.ko скопируем по нужному адресу.
С терминала на девайcе открываем доступ на запись:
Получилось! Теперь осталось дело за малым — установить VPN клиент.
Я пользую порт VPNC. Можно скачать с Маркета либо на сайте
VPNC
Теперь его настроим.
А что если Ваш админ не дает Вам данные/пароль?
На ПК находим файл *.pcf, открываем его в блокноте.
Нас интересуют строки Host,GroupName,enc_GroupPwd.
В поле 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, на который тяжело найти модуль для ядра — то есть еще один путь — но это уже тема для следующей статьи.
«Эта функция не нужна», — скажете вы, ведь есть стандартный 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.
В поле 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, на который тяжело найти модуль для ядра — то есть еще один путь — но это уже тема для следующей статьи.