Установка Cisco VPN Client на Linux (с ядром 2.6.31)
Собственно сама установка не представляет какой-то сложности, единственная проблема, с которой предстоит столкнуться — ошибка в компилировании модуля cisco_ipsec.ko из-за того, что в исходнике interceptor.c прописано неправильное определение структуры net_device (в ядре 2.6.31 она называется net_device_ops).
Теперь по порядку:
1. Распаковываем архив с программой
tar zxf vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz cd vpnclient
2. Пускаем инсталляшку
sudo ./vpn_install
3. получаем гадость
/home/vortex64/Downloads/vpnclient/interceptor.c: In function ‘interceptor_init’: /home/vortex64/Downloads/vpnclient/interceptor.c:132: error: ‘struct net_device’ has no member named ‘hard_start_xmit’ /home/vortex64/Downloads/vpnclient/interceptor.c:133: error: ‘struct net_device’ has no member named ‘get_stats’ /home/vortex64/Downloads/vpnclient/interceptor.c:134: error: ‘struct net_device’ has no member named ‘do_ioctl’ /home/vortex64/Downloads/vpnclient/interceptor.c: In function ‘add_netdev’: /home/vortex64/Downloads/vpnclient/interceptor.c:271: error: ‘struct net_device’ has no member named ‘hard_start_xmit’ /home/vortex64/Downloads/vpnclient/interceptor.c:272: error: ‘struct net_device’ has no member named ‘hard_start_xmit’ /home/vortex64/Downloads/vpnclient/interceptor.c: In function ‘remove_netdev’: /home/vortex64/Downloads/vpnclient/interceptor.c:294: error: ‘struct net_device’ has no member named ‘hard_start_xmit’ make[2]: *** [/home/vortex64/Downloads/vpnclient/interceptor.o] Ошибка 1 make[1]: *** [_module_/home/vortex64/Downloads/vpnclient] Ошибка 2 make[1]: Выход из каталога `/usr/src/linux-headers-2.6.31-20-generic' make: *** [default] Ошибка 2 Failed to make module "cisco_ipsec.ko".
4. Сильно не расстраиваемся и качаем отсюда патч
5. Кладем его в нашу директорию и выполняем команду
patch < vpnclient-linux.2.6.31.diff
результатом выполнения станет
patching file interceptor.c
6. Теперь вернемся к шагу 2 и заново толкнем vpn_install. В итоге должно получится следущее
* You may wish to change these permissions to restrict access to root. * You must run "/etc/init.d/vpnclient_init start" before using the client. * This script will be run AUTOMATICALLY every time you reboot your computer.
7. Загрузим наш скомпиленный модуль
sudo /etc/init.d/vpnclient_init start
и проверим на всякий случай, что все ок
lsmod | grep cisco cisco_ipsec 595804 0
Все, клиент установлен, модуль загружен, сетевой интерфейс (у меня cipsec0) создан. Теперь кратко опишу процесс настройки Cisco VPN Client для использования его с аутентификацией по сертификату.
Для работы с сертификатами в пакет входит утилитка cisco_cert_mgr. Используем ее следующим образом
cisco_cert_mgr -U -op import
Следуйте указаниям на экране, вам нужно будет указать путь к сертификату (необходимо вводить полный путь, отностительный, к сожалению, он не понимает), пароль к нему и ввести новый с подтверждением.
Если ввели все правильно, получим
Success: certificate imported from path: /home/vortex64/Work/my.cert
Теперь нужно создать профиль подключения. Пример можно посмотреть тут /etc/opt/cisco-vpnclient/Profiles/sample.pcf. Если у вас уже есть настроенное подключение под Windows, можно взять файл профиля оттуда и скопировать его в /etc/opt/cisco-vpnclient/Profiles/.
Все, теперь можно соединяться.
sudo vpnclient connect [имя_профиля]
Результатом подключения будет что-то типа этого: