1 (14.02.2014 15:28:34 отредактировано moshell)

на офтопике есть vpn клиент от cisco для удаленной работы.
есть файл конфигурации

gu@kat:~$ cat vpn.pcf 
[main]
Description=
Host=xxxxxxxxxxxxxxxxxxxxxxxxxx
AuthType=1
GroupName=xxxxxxxxxxxxxxxxx
GroupPwd=
enc_GroupPwd=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
EnableISPConnect=0
ISPConnectType=0
ISPConnect=sky
ISPPhonebook=C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk
ISPCommand=
Username=userpassword@domain
SaveUserPassword=0
UserPassword=
enc_UserPassword=
NTDomain=
EnableBackup=0
BackupServer=
EnableMSLogon=1
MSLogonType=0
EnableNat=1
TunnelingMode=0
TcpTunnelingPort=10000
CertStore=0
CertName=
CertPath=
CertSubjectName=
CertSerialHash=00000000000000000000000000000000
SendCertChain=0
PeerTimeout=90
EnableLocalLAN=0
EnableSplitDNS=1
gu@kat:~$ 

зная вот эти параметры, как можно осуществить vpn на debian'e?
утилита или пакет какой?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

2 (14.02.2014 16:21:43 отредактировано pitdron)

Cisco VPN Client пробовали?

http://software.cisco.com/download/type … =282364316

3 (14.02.2014 21:03:13 отредактировано moshell)

попробовал вот это
http://baheyeldin.com/cisco/converting- … ormat.html

ввожу пароль, получаю

 Консоль:
gu@kat:~$ sudo vpnc rtk
Enter password for userpassword@domain@blablabla:
vpnc: peer selected (single) DES as "encryption" method.
This algorithm is considered too weak today
If your vpn concentrator admin still insists on using DES
use the "--enable-1des" option.

пробую с предложенной опцией

 Консоль:
gu@kat:~$ sudo vpnc --enable-1des rtk
Enter password for userpassword@domain@blablabla:
Password for VPN userpassword@domain@drugoe_blablabla:

просит еще какой то дополнительный пароль.

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

4 (14.02.2014 22:47:11 отредактировано moshell)

pitdron пишет:

Cisco VPN Client пробовали?

http://software.cisco.com/download/type … =282364316

попробовал. кучу ошибок выдает при компиляции в файлах .h
исправляя одни вылазиют другие, я не кодер.. нет желания ковырять код

к примеру
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
#include <linux/autoconf.h>

он давно уже перенесен в generated/autoconf.h

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

5

http://www.linux.org.ru/forum/desktop/8526063

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

6

нашел эти патчи. правит .h исходники, но вылазиют другие траблы

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

7

У меня под gentoo клиент vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz под ядро 3.7.10 собралось без ошибок  с таким патчем:

diff -urbN vpnclient.orig/IPSecDrvOS_linux.c vpnclient/IPSecDrvOS_linux.c
--- vpnclient.orig/IPSecDrvOS_linux.c    2008-06-23 20:59:12.000000000 +0400
+++ vpnclient/IPSecDrvOS_linux.c    2014-02-17 20:33:14.000000000 +0400
@@ -12,7 +12,9 @@
 *
 ***************************************************************************/
 #include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
+#include <generated/autoconf.h>
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
 #include <linux/autoconf.h>
 #else
 #include <linux/config.h>
diff -urbN vpnclient.orig/Makefile vpnclient/Makefile
--- vpnclient.orig/Makefile    2008-06-23 20:59:12.000000000 +0400
+++ vpnclient/Makefile    2014-02-17 20:33:14.000000000 +0400
@@ -12,7 +12,7 @@
 SOURCE_OBJS := linuxcniapi.o frag.o IPSecDrvOS_linux.o interceptor.o linuxkernelapi.o
 
 ifeq ($(SUBARCH),x86_64)
-CFLAGS += -mcmodel=kernel -mno-red-zone
+EXTRA_CFLAGS += -mcmodel=kernel -mno-red-zone
 NO_SOURCE_OBJS := libdriver64.so
 else
 NO_SOURCE_OBJS := libdriver.so
diff -urbN vpnclient.orig/driver_build.sh vpnclient/driver_build.sh
--- vpnclient.orig/driver_build.sh    2008-06-23 20:59:12.000000000 +0400
+++ vpnclient/driver_build.sh    2014-02-17 20:33:42.000000000 +0400
@@ -49,6 +49,9 @@
 2.[56].*)
     make "KERNEL_SOURCES=${KSRCDIR}"
     ;;
+3.*.*)
+    make "KERNEL_SOURCES=${KSRCDIR}"
+    ;;
 *)
     $CC $CFLAGS $INCLUDES -c linuxcniapi.c
     $CC $CFLAGS $INCLUDES -c interceptor.c
diff -urbN vpnclient.orig/frag.c vpnclient/frag.c
--- vpnclient.orig/frag.c    2008-06-23 20:59:12.000000000 +0400
+++ vpnclient/frag.c    2014-02-17 20:33:14.000000000 +0400
@@ -1,5 +1,7 @@
 #include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
+#include <generated/autoconf.h>
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
 #include <linux/autoconf.h>
 #else
 #include <linux/config.h>
@@ -22,7 +24,7 @@
 #include "frag.h"
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-#define SKB_IPHDR(skb) ((struct iphdr*)skb->network_header)
+#define SKB_IPHDR(skb) ((struct iphdr*)skb_network_header)
 #else
 #define SKB_IPHDR(skb) skb->nh.iph
 #endif
diff -urbN vpnclient.orig/interceptor.c vpnclient/interceptor.c
--- vpnclient.orig/interceptor.c    2009-05-20 17:16:34.000000000 +0400
+++ vpnclient/interceptor.c    2014-02-17 20:33:14.000000000 +0400
@@ -9,7 +9,9 @@
 * This module implements the linux driver.
 ***************************************************************************/
 #include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
+#include <generated/autoconf.h>
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
 #include <linux/autoconf.h>
 #else
 #include <linux/config.h>
@@ -116,6 +118,14 @@
 };
 #endif
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+static struct net_device_ops interceptor_netdev_ops = {
+ .ndo_start_xmit = interceptor_tx,
+ .ndo_do_ioctl = interceptor_ioctl,
+ .ndo_get_stats = interceptor_stats,
+};
+#endif
+
 static struct notifier_block interceptor_notifier = {
     .notifier_call = handle_netdev_event,
 };
@@ -129,9 +139,13 @@
 {
     ether_setup(dev);
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+    dev->netdev_ops = &interceptor_netdev_ops;
+#else
     dev->hard_start_xmit = interceptor_tx;
     dev->get_stats = interceptor_stats;
     dev->do_ioctl = interceptor_ioctl;
+#endif
 
     dev->mtu = ETH_DATA_LEN-MTU_REDUCTION;
     kernel_memcpy(dev->dev_addr, interceptor_eth_addr,ETH_ALEN);
@@ -243,6 +257,10 @@
     int rc = -1;
     int i = 0;
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+    struct net_device_ops * tmp_ops;
+#endif
+
     if (!supported_device(dev))
     {
         goto exit_gracefully;
@@ -268,9 +286,14 @@
     Bindings[i].original_mtu = dev->mtu;
 
     /*replace the original send function with our send function */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+    Bindings[i].InjectSend = dev->netdev_ops->ndo_start_xmit;
+    tmp_ops = (struct net_device_ops *) dev->netdev_ops;
+    tmp_ops->ndo_start_xmit = replacement_dev_xmit;
+#else
     Bindings[i].InjectSend = dev->hard_start_xmit;
     dev->hard_start_xmit = replacement_dev_xmit;
-
+#endif
     /*copy in the ip packet handler function and packet type struct */
     Bindings[i].InjectReceive = original_ip_handler.orig_handler_func;
     Bindings[i].pPT = original_ip_handler.pt;
@@ -286,12 +309,21 @@
     int rc = -1;
     BINDING *b;
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+    struct net_device_ops * tmp_ops;
+#endif
+
     b = getbindingbydev(dev);
 
     if (b)
     {   
         rc = 0;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+        tmp_ops = (struct net_device_ops *) dev->netdev_ops;
+        tmp_ops->ndo_start_xmit = b->InjectSend;
+#else
         dev->hard_start_xmit = b->InjectSend;
+#endif
         kernel_memset(b, 0, sizeof(BINDING));
     }
     else
@@ -637,19 +669,26 @@
 
     reset_inject_status(&pBinding->recv_stat);
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-    if (skb->mac_header)
+    if (skb_mac_header_was_set(skb))
 #else
     if (skb->mac.raw)
 #endif
     {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-        hard_header_len = skb->data - skb->mac_header;
+        hard_header_len = skb->data - skb_mac_header(skb);
 #else
         hard_header_len = skb->data - skb->mac.raw;
 #endif
         if ((hard_header_len < 0) || (hard_header_len > skb_headroom(skb)))
         {
             printk(KERN_DEBUG "bad hh len %d\n", hard_header_len);
+
+            printk(KERN_DEBUG "bad hh len %d, mac: %ld, data: %p, head: %p\n",
+                hard_header_len,
+                (long) skb->mac_header,
+                skb->data,
+                skb->head);
+
             hard_header_len = 0;
         }
     }
@@ -664,7 +703,7 @@
     {
     case ETH_HLEN:
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-        CniNewFragment(ETH_HLEN, skb->mac_header, &MacHdr, CNI_USE_BUFFER);
+        CniNewFragment(ETH_HLEN, skb_mac_header(skb), &MacHdr, CNI_USE_BUFFER);
 #else
         CniNewFragment(ETH_HLEN, skb->mac.raw, &MacHdr, CNI_USE_BUFFER);
 #endif
@@ -782,7 +821,7 @@
 #endif //LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
     reset_inject_status(&pBinding->send_stat);
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-    hard_header_len = skb->network_header - skb->data;
+    hard_header_len = skb_network_header(skb) - skb->data;
 #else
     hard_header_len = skb->nh.raw - skb->data;
 #endif
diff -urbN vpnclient.orig/linuxcniapi.c vpnclient/linuxcniapi.c
--- vpnclient.orig/linuxcniapi.c    2008-06-23 20:59:12.000000000 +0400
+++ vpnclient/linuxcniapi.c    2014-02-17 20:33:14.000000000 +0400
@@ -10,7 +10,9 @@
  * Linux Interceptor driver.
  ***************************************************************************/
 #include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
+#include <generated/autoconf.h>
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
 #include <linux/autoconf.h>
 #else
 #include <linux/config.h>
@@ -338,8 +340,8 @@
     skb->ip_summed = CHECKSUM_UNNECESSARY;
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-    skb->network_header = (sk_buff_data_t) skb->data;
-    skb->mac_header = (sk_buff_data_t)pMac;
+    skb_reset_network_header(skb);
+    skb_set_mac_header(skb, (int)((void *)pMac - (void *)skb->data));
 #else
     skb->nh.iph = (struct iphdr *) skb->data;
     skb->mac.raw = pMac;
@@ -478,8 +480,8 @@
     skb->dev = pBinding->pDevice;
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-    skb->mac_header = (sk_buff_data_t)pMac;
-    skb->network_header = (sk_buff_data_t)pIP;
+    skb_set_mac_header(skb, (int)((void *)pMac - (void *)skb->data));
+    skb_set_network_header(skb, (int)((void *)pIP - (void *)skb->data));
 #else
     skb->mac.raw = pMac;
     skb->nh.raw = pIP;
@@ -487,8 +489,9 @@
 
     /*ip header length is in 32bit words */
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-    skb->transport_header = (sk_buff_data_t)
-      (pIP + (((struct iphdr*)(skb->network_header))->ihl * 4));
+    skb_set_transport_header(skb,
+        ((int)((void *)pIP - (void *)skb->data) +
+           (((struct iphdr*)(skb_network_header(skb)))->ihl * 4)));
 #else
     skb->h.raw = pIP + (skb->nh.iph->ihl * 4);
 #endif
diff -urbN vpnclient.orig/linuxkernelapi.c vpnclient/linuxkernelapi.c
--- vpnclient.orig/linuxkernelapi.c    2008-06-23 20:59:12.000000000 +0400
+++ vpnclient/linuxkernelapi.c    2014-02-17 20:33:14.000000000 +0400
@@ -9,7 +9,7 @@
     void*rc = kmalloc(size, GFP_ATOMIC);
     if(NULL == rc)
     {
-        printk("<1> os_malloc size %d failed\n",size);
+        printk("<1> os_malloc size %ld failed\n", (long)size);
     }
 
     return rc;
diff -urbN vpnclient.orig/vpn_install vpnclient/vpn_install
--- vpnclient.orig/vpn_install    2008-06-23 20:59:12.000000000 +0400
+++ vpnclient/vpn_install    2014-02-17 20:36:45.000000000 +0400
@@ -320,6 +320,9 @@
 2.[56].*)
     MODULE_NAME=cisco_ipsec.ko
     ;;
+3.*.*)
+    MODULE_NAME=cisco_ipsec.ko
+    ;;
 *)
     MODULE_NAME=cisco_ipsec
     ;;

8

pitdron, я к сожалению (или к счастью) ни разу не программист.
можно чуть подробнее?

Вам нужна была 4я версия или 5я?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

9

moshell пишет:

нашел эти патчи. правит .h исходники, но вылазиют другие траблы

Для начала желательно озвучивать версии системы, ядра, ПО, а также приводить ошибки возникающие при попытке установки.


Для начала http://www.qdesnic.ru/cisco_vpnclient.html
http://www.lamnk.com/blog/vpn/how-to-in … la-64-bit/

Для успешной сборки модуля ядра необходимо установить исходные коды вашего ядра, компилятор gcc и утилиту make.

Затем качаете Cisco VPN client для linux (я брал поссылке из статьи http://projects.tuxx-home.at/ciscovpn/c … -k9.tar.gz ) и распаковываете его ( tar xzvf vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz ).

Сохраняете текст выше приведенного патча в файле ciscovpn.patch и накладываете его на распакованный клиент

patch -p0 <ciscovpn.patch

Должны получить следующее

 Консоль:
gentoo tmp # patch -p0 <ciscovpn.patch
patching file vpnclient/IPSecDrvOS_linux.c
patching file vpnclient/Makefile
patching file vpnclient/driver_build.sh
patching file vpnclient/frag.c
patching file vpnclient/interceptor.c
patching file vpnclient/linuxcniapi.c
patching file vpnclient/linuxkernelapi.c
patching file vpnclient/vpn_install

Затем переходите в папку vpnclient и запускаете vpn_install

Должны получить примерно такую картину

+ открыть спойлер

 Консоль:
gentoo tmp # cd vpnclient
gentoo vpnclient # ./vpn_install
Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.

By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.


Directory where binaries will be installed [/usr/local/bin]

Automatically start the VPN service at boot time [no]

In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.


Directory containing linux kernel source code [/lib/modules/3.7.10-gentoo/build]

* Binaries will be installed in "/usr/local/bin".
* Modules will be installed in "/lib/modules/3.7.10-gentoo/CiscoVPN".
* The VPN service will *NOT* be started automatically at boot time.
* Kernel source from "/lib/modules/3.7.10-gentoo/build" will be used to build th
e module.

Is the above correct [y]

Making module
/usr/bin/make -C /lib/modules/3.7.10-gentoo/build SUBDIRS=/root/tmp/vpnclient mo
dules
make[1]: Entering directory `/usr/src/linux-3.7.10-gentoo'
  CC [M]  /root/tmp/vpnclient/linuxcniapi.o
  CC [M]  /root/tmp/vpnclient/frag.o
  CC [M]  /root/tmp/vpnclient/IPSecDrvOS_linux.o
  CC [M]  /root/tmp/vpnclient/interceptor.o
  CC [M]  /root/tmp/vpnclient/linuxkernelapi.o
  LD [M]  /root/tmp/vpnclient/cisco_ipsec.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/tmp/vpnclient/cisco_ipsec.mod.o
  LD [M]  /root/tmp/vpnclient/cisco_ipsec.ko
make[1]: Leaving directory `/usr/src/linux-3.7.10-gentoo'
Copying module to directory "/lib/modules/3.7.10-gentoo/CiscoVPN".
Already have group 'bin'

Creating start/stop script "/etc/init.d/vpnclient_init".
    /etc/init.d/vpnclient_init
Creating global config /etc/opt/cisco-vpnclient

Installing license.txt (VPN Client license) in "/opt/cisco-vpnclient/":
    /opt/cisco-vpnclient/license.txt

Installing bundled user profiles in "/etc/opt/cisco-vpnclient/Profiles/":
* New Profiles     : sample

Copying binaries to directory "/opt/cisco-vpnclient/bin".
Adding symlinks to "/usr/local/bin".
    /opt/cisco-vpnclient/bin/vpnclient
    /opt/cisco-vpnclient/bin/cisco_cert_mgr
    /opt/cisco-vpnclient/bin/ipseclog
Copying setuid binaries to directory "/opt/cisco-vpnclient/bin".
    /opt/cisco-vpnclient/bin/cvpnd
Copying libraries to directory "/opt/cisco-vpnclient/lib".
    /opt/cisco-vpnclient/lib/libvpnapi.so
Copying header files to directory "/opt/cisco-vpnclient/include".
    /opt/cisco-vpnclient/include/vpnapi.h

Setting permissions.
    /opt/cisco-vpnclient/bin/cvpnd (setuid root)
    /opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient/Profiles (group bin readable)
    /etc/opt/cisco-vpnclient/Certificates (group bin readable)
* 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.
* You will need to run this script every time you reboot your computer.
gentoo vpnclient #

10 (20.02.2014 19:13:32 отредактировано moshell)

pitdron
установился без ошибок.
но ошибка при запуске, последний квотинг.

или нужно ребутиться?

+ открыть спойлер

gu@kat:~$ cd /usr/src/

gu@kat:/usr/src$ sudo wget http://projects.tuxx-home.at/ciscovpn/c … -k9.tar.gz
[sudo] password for gu:
--2014-02-20 18:34:36--  http://projects.tuxx-home.at/ciscovpn/c … -k9.tar.gz
Распознаётся projects.tuxx-home.at (projects.tuxx-home.at)... 188.65.79.164
Подключение к projects.tuxx-home.at (projects.tuxx-home.at)|188.65.79.164|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 2050813 (2,0M) [application/x-gzip]
Сохранение в каталог: ««vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz»».

100%[==============================================================================================================================>] 2 050 813    951K/s   за 2,1s   

2014-02-20 18:34:38 (951 KB/s) - «vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz» saved [2050813/2050813]

gu@kat:/usr/src$ sudo vim ciscovpn.patch

gu@kat:~$ uname -a
Linux kat 3.2.0-4-686-pae #1 SMP Debian 3.2.54-2 i686 GNU/Linux

gu@kat:/usr/src$ sudo aptitude install linux-headers-3.2.0-4-686-pae linux-image-3.2.0-4-686-pae
Следующие НОВЫЕ пакеты будут установлены:       
  cpp-4.6{a} gcc-4.6{a} gcc-4.6-base{a} linux-headers-3.2.0-4-686-pae linux-headers-3.2.0-4-common{a} linux-kbuild-3.2{a}
0 пакетов обновлено, 6 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 16,5 MB архивов. После распаковки 54,7 MB будет занято.
Хотите продолжить? [Y/n/?] Y
Получить: 1 http://ftp.ru.debian.org/debian/ wheezy/main gcc-4.6-base i386 4.6.3-14 [142 kB]
Получить: 2 http://ftp.ru.debian.org/debian/ wheezy/main cpp-4.6 i386 4.6.3-14 [4 654 kB]
Получить: 3 http://ftp.ru.debian.org/debian/ wheezy/main gcc-4.6 i386 4.6.3-14 [7 338 kB]
Получить: 4 http://ftp.ru.debian.org/debian/ wheezy/main linux-headers-3.2.0-4-common i386 3.2.54-2 [3 561 kB]
Получить: 5 http://ftp.ru.debian.org/debian/ wheezy/main linux-kbuild-3.2 i386 3.2.17-1 [233 kB]
Получить: 6 http://ftp.ru.debian.org/debian/ wheezy/main linux-headers-3.2.0-4-686-pae i386 3.2.54-2 [602 kB]
Получено 16,5 MБ в 3с (4 191 kБ/с)                 
Выбор ранее не выбранного пакета gcc-4.6-base:i386.
(Чтение базы данных … на данный момент установлено 35379 файлов и каталогов.)
Распаковывается пакет gcc-4.6-base:i386 (из файла …/gcc-4.6-base_4.6.3-14_i386.deb) …
Выбор ранее не выбранного пакета cpp-4.6.
Распаковывается пакет cpp-4.6 (из файла …/cpp-4.6_4.6.3-14_i386.deb) …
Выбор ранее не выбранного пакета gcc-4.6.
Распаковывается пакет gcc-4.6 (из файла …/gcc-4.6_4.6.3-14_i386.deb) …
Выбор ранее не выбранного пакета linux-headers-3.2.0-4-common.
Распаковывается пакет linux-headers-3.2.0-4-common (из файла …/linux-headers-3.2.0-4-common_3.2.54-2_i386.deb) …
Выбор ранее не выбранного пакета linux-kbuild-3.2.
Распаковывается пакет linux-kbuild-3.2 (из файла …/linux-kbuild-3.2_3.2.17-1_i386.deb) …
Выбор ранее не выбранного пакета linux-headers-3.2.0-4-686-pae.
Распаковывается пакет linux-headers-3.2.0-4-686-pae (из файла …/linux-headers-3.2.0-4-686-pae_3.2.54-2_i386.deb) …
Настраивается пакет gcc-4.6-base:i386 (4.6.3-14) …
Настраивается пакет cpp-4.6 (4.6.3-14) …
Настраивается пакет gcc-4.6 (4.6.3-14) …
Настраивается пакет linux-headers-3.2.0-4-common (3.2.54-2) …
Настраивается пакет linux-kbuild-3.2 (3.2.17-1) …
Настраивается пакет linux-headers-3.2.0-4-686-pae (3.2.54-2) …

gu@kat:/usr/src$ sudo tar xzvf vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz
vpnclient/
vpnclient/libvpnapi.so
vpnclient/vpnapi.h
vpnclient/cisco_cert_mgr
vpnclient/vpnclient
vpnclient/ipseclog
vpnclient/cvpnd
vpnclient/vpn_install
vpnclient/vpnclient_init
vpnclient/vpn_uninstall
vpnclient/driver_build.sh
vpnclient/sample.pcf
vpnclient/vpnclient.ini
vpnclient/license.txt
vpnclient/license.rtf
vpnclient/interceptor.c
vpnclient/linuxcniapi.c
vpnclient/linuxcniapi.h
vpnclient/vpn_ioctl_linux.h
vpnclient/IPSecDrvOS_linux.c
vpnclient/linux_os.h
vpnclient/frag.h
vpnclient/frag.c
vpnclient/linuxkernelapi.c
vpnclient/GenDefs.h
vpnclient/mtu.h
vpnclient/IPSecDrvOSFunctions.h
vpnclient/IPSecDrvOS_linux.h
vpnclient/Cniapi.h
vpnclient/unixcniapi.h
vpnclient/unixkernelapi.h
vpnclient/config.h
vpnclient/libdriver64.so
vpnclient/libdriver.so
vpnclient/Makefile
vpnclient/AMD-PATCH-README.txt

gu@kat:/usr/src$ ls -l
итого 2028
-rw-r--r-- 1 root root    9271 Фев 20 18:36 ciscovpn.patch
drwxr-xr-x 4 root root    4096 Фев 20 18:39 linux-headers-3.2.0-4-686-pae
drwxr-xr-x 4 root root    4096 Фев 20 18:39 linux-headers-3.2.0-4-common
lrwxrwxrwx 1 root root      23 Июн 24  2012 linux-kbuild-3.2 -> ../lib/linux-kbuild-3.2
drwxr-xr-x 2 gu   gu      4096 Май 20  2009 vpnclient
-rw-r--r-- 1 root root 2050813 Май 20  2009 vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz

gu@kat:/usr/src$ patch -p0 <ciscovpn.patch
patching file vpnclient/IPSecDrvOS_linux.c
patching file vpnclient/Makefile
patching file vpnclient/driver_build.sh
patching file vpnclient/frag.c
patching file vpnclient/interceptor.c
patching file vpnclient/linuxcniapi.c
patching file vpnclient/linuxkernelapi.c
patching file vpnclient/vpn_install

gu@kat:/usr/src$ cd vpnclient/

gu@kat:/usr/src/vpnclient$ sudo ./vpn_install
Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.

By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.


Directory where binaries will be installed [/usr/local/bin]

Automatically start the VPN service at boot time [yes]no

In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.


Directory containing linux kernel source code [/lib/modules/3.2.0-4-686-pae/build]

* Binaries will be installed in "/usr/local/bin".
* Modules will be installed in "/lib/modules/3.2.0-4-686-pae/CiscoVPN".
* The VPN service will *NOT* be started automatically at boot time.
* Kernel source from "/lib/modules/3.2.0-4-686-pae/build" will be used to build the module.

Is the above correct [y]

Making module
make -C /lib/modules/3.2.0-4-686-pae/build SUBDIRS=/usr/src/vpnclient modules
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-4-686-pae'
  CC [M]  /usr/src/vpnclient/linuxcniapi.o
  CC [M]  /usr/src/vpnclient/frag.o
  CC [M]  /usr/src/vpnclient/IPSecDrvOS_linux.o
  CC [M]  /usr/src/vpnclient/interceptor.o
  CC [M]  /usr/src/vpnclient/linuxkernelapi.o
  LD [M]  /usr/src/vpnclient/cisco_ipsec.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/vpnclient/cisco_ipsec.mod.o
  LD [M]  /usr/src/vpnclient/cisco_ipsec.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-686-pae'
Create module directory "/lib/modules/3.2.0-4-686-pae/CiscoVPN".
Copying module to directory "/lib/modules/3.2.0-4-686-pae/CiscoVPN".
Already have group 'bin'

Creating start/stop script "/etc/init.d/vpnclient_init".
    /etc/init.d/vpnclient_init
Creating global config /etc/opt/cisco-vpnclient

Installing license.txt (VPN Client license) in "/opt/cisco-vpnclient/":
    /opt/cisco-vpnclient/license.txt

Installing bundled user profiles in "/etc/opt/cisco-vpnclient/Profiles/":
* New Profiles     : sample

Copying binaries to directory "/opt/cisco-vpnclient/bin".
Adding symlinks to "/usr/local/bin".
    /opt/cisco-vpnclient/bin/vpnclient
    /opt/cisco-vpnclient/bin/cisco_cert_mgr
    /opt/cisco-vpnclient/bin/ipseclog
Copying setuid binaries to directory "/opt/cisco-vpnclient/bin".
    /opt/cisco-vpnclient/bin/cvpnd
Copying libraries to directory "/opt/cisco-vpnclient/lib".
    /opt/cisco-vpnclient/lib/libvpnapi.so
Copying header files to directory "/opt/cisco-vpnclient/include".
    /opt/cisco-vpnclient/include/vpnapi.h

Setting permissions.
    /opt/cisco-vpnclient/bin/cvpnd (setuid root)
    /opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient/Profiles (group bin readable)
    /etc/opt/cisco-vpnclient/Certificates (group bin readable)
* 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.
* You will need to run this script every time you reboot your computer.

gu@kat:~$ sudo cp /files/docs/PROJECT\ РТ/vpn.pcf /etc/opt/cisco-vpnclient/Profiles/rtk.pcf

gu@kat:~$ sudo /etc/init.d/vpnclient_init start
Starting /opt/cisco-vpnclient/bin/vpnclient: Error: could not load module /lib/modules/3.2.0-4-686-pae/CiscoVPN/cisco_ipsec: No such file or directory
Failed (insmod)

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

11 (20.02.2014 21:14:10 отредактировано moshell)

после ребута тож самое.
что это такое?
модуль не установился?

gu@kat:~$ sudo /etc/init.d/vpnclient_init start
[sudo] password for gu:
Starting /opt/cisco-vpnclient/bin/vpnclient: Error: could not load module /lib/modules/3.2.0-4-686-pae/CiscoVPN/cisco_ipsec: No such file or directory
Failed (insmod)

хотя он есть.

gu@kat:~$ sudo ls -l /lib/modules/3.2.0-4-686-pae/CiscoVPN/cisco_ipsec.ko
-rw-r--r-- 1 root root 981648 Фев 20 18:41 /lib/modules/3.2.0-4-686-pae/CiscoVPN/cisco_ipsec.ko

но он видимо не загружается.. что делать?


как следствие

gu@kat:~$ sudo /etc/init.d/vpnclient_init status
[sudo] password for gu:
Module                  Size  Used by

Status Failed (lsmod cisco_ipsec) - The VPN module is not loaded.

cipsec0: error fetching interface information: Device not found

Status Failed (ifconfig cipsec0) - The virtual interface is not present.
gu@kat:~$ sudo modprobe cisco_ipsec
FATAL: Module cisco_ipsec not found.
gu@kat:~$ sudo ls -l /lib/modules/3.2.0-4-686-pae/CiscoVPN/cisco_ipsec.ko
-rw-r--r-- 1 root root 981648 Фев 20 18:41 /lib/modules/3.2.0-4-686-pae/CiscoVPN/cisco_ipsec.ko
gu@kat:~$


pitdron, выходите на связь, вы по ходу единственный кто использует cisco vpn клиент для linux

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

12

попробовал пойти следующим образом

gu@kat:~$ sudo insmod /lib/modules/3.2.0-4-686-pae/CiscoVPN/cisco_ipsec.ko

gu@kat:~$ lsmod | grep cisco
cisco_ipsec           576948  0

gu@kat:~$ sudo /etc/init.d/vpnclient_init status
Module                  Size  Used by
cisco_ipsec           576948  0

cipsec0   Link encap:Ethernet  HWaddr 00:0b:fc:f8:01:8f 
          NOARP  MTU:1356  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

gu@kat:~$

ага, если insmod'у указать полный путь до модуля, то он его подхватывает.
далее, если попробовать законнектиться к vpn

gu@kat:~$ sudo vpnclient connect rtk

rtk - это конфиг  /etc/opt/cisco-vpnclient/Profiles/rtk.pcf
то ядро с пеной во рту начинает гадить, да так, что shutdown -r now не проходит.
на хардварные кнопки не реагирует, чтобы выключить комп. приходится от сети вырубать.

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

13

"почитал" файлик /etc/init.d/vpnclient_init
смущает отрывок

case `uname -r` in
2.[56].*)
    VPNMOD_FILE="${VPNMOD}.ko"
    ;;
*)
#    VPNMOD_FILE="$VPNMOD"
    ;;
esac

почему для ядра != 2.[56].*   VPNMOD без .ko?
##########
далее еще один кусок из файла
        case "`uname -r`" in
        2.6.*)
                ;;
        2.5.*)
                ;;
        2.4.*)
                ;;
        2.2.*)
                ;;
        2.0.*)

                #
                # This is only needed due to a bug in 2.0.x kernels that affects
                # arp lookups.
                #
                ifconfig $VPNDEV 222.222.222.222 ;
                if [ "$?" != "0" ] ; then
                        echo "Failed (ifconfig)"
                        /sbin/rmmod ${VPNMOD}
                        exit 1
                fi
                ;;
        *)
                echo "Failed (unsupported Linux version)"
                /sbin/rmmod ${VPNMOD}
                exit 1
                ;;
        esac

то есть если ядро из варианта
*)
коим 3.2.0 и является в данном случае, то оно не поддерживаемое?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

14

Тут https://github.com/mariuszs/CiscoVpnClient-Patches пишут что ядро выше 3.1 не поддерживается...

Попробуйте сделать как говорится тут http://www.linux.profiua.com/2012/04/09 … inux-vpnc/

15

pitdron пишет:

Тут https://github.com/mariuszs/CiscoVpnClient-Patches пишут что ядро выше 3.1 не поддерживается...

то есть вы собирали под свое 3.7 но не использовали?

pitdron пишет:

Попробуйте сделать как говорится тут http://www.linux.profiua.com/2012/04/09 … inux-vpnc/

уже видел эту страничку, когда воевал с vpnc..


гады эти сиськи!
нафига было рубить дальнейшую поддержку линукс клиентов?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс