Форум Kerio-rus  

Вернуться   Форум Kerio-rus > Продукты > Kerio VPN

Важная информация

Ответ
 
Опции темы
Старый 06.04.2009, 08:35   #1
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
Подмигивание Инструкция: kerio vpnclient и rpm-based linux

Итак:

Внимание! Для релизов KWF начиная с 671 больше не требуется собирать ядромодуль, достаточно патчинга сервиса ну или берите готовое внизу поста.

Отдельные благодарности значит пользователю Grin, чья неоценимая помощь вдохновила меня на написание этой радости.
Конечно же этому форуму без которого мы бы возможно никогда не встретились с пользователем Grin и Engine, фирме керио без которой у нас бы не было сего замечательного клиента.

Итак о проблеме:
фирма выпустила vpn клиент только под debian based системы, что несколько создаёт проблемы тем кто например имеет гетерогенные среды с участием rpm систем и хотел бы также продолжать пользоваться преимуществами винроута.

Работа протестирована на mandriva 2009 как минмиум двумя человеками.
Если тут есть кто имеющий желание - приглашаем к тестированию.

Общая инструкция если хотите сами (если сами хотите минимум секаса крутите колесом мышы в самый низ страницы):


0. Открываем рутовую консоль, переходим в /usr/src
1. Качаем: [Для просмотра данной ссылки нужно зарегистрироваться]
С использованием например mc заходим внутрь пакета затем из папки CONTENTS копируем струтуру начиная с /
2. Установим заголовки ядра и необходимые пакеты urpmi kernel-devel kernel-headers (самособой надо make и т.д.)
3. В /usr/src находим архив, который распаковываем, и исправляем Makefile, понадобится добавить парочку строчек доведя его примерно до такого вида:

После строки:
Код:
obj-m := kvnet.o
Вставить это:
Код:
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
После строки:
Код:
EXTRA_CFLAGS += -O -Wall -DMODULE -DWINNT=0 -DDBG=0 -D_LINUX
Втставить:
Код:
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
Затем пишем: make
Всё должно собраться без ошибок.
В директории должен появиться файл kvnet.ko
Его нужно скопировать в /lib/modules/тут.версия.вашего.ядра/kernel/net/kvnet/
После чего даём команду: depmod -a
Затем modprobe kvnet должно пройти без ошибок.

4. Качаем [Для просмотра данной ссылки нужно зарегистрироваться]
Затем можно темже mc зайти внутрь пакета и всё что есть в папке contents раскопировать по соотвествующим директориям.
После чего нужно любым hex редатором произвести редактирование вайла из /usr/sbin/kvpncsvc, в HEX редакторе изменить gzopen64 на gzopen (вместо 36 34 написать 00 00)

5. Редактируем под себя: /etc/kerio-kvc.conf в таком виде:
Код:
<config>
<connections>
<connection type="persistent">
<server>ip.addr</server>
<port>portnum</port>
<username>user</username>
<password>XOR:use.pass.sh.script</password>
<fingerprint>look.into.winroute.vpn.server.properties</fingerprint>
<active>1</active>
</connection>
</connections>
</config>

6. Для получения пароля в XOR варианте удобно иметь такой скрипт:
Сохраните его pass.sh и сделайте исполняемым:
Код:
#!/bin/sh
echo "Type password and press ENTER for XOR output:"
read -s PASSWORD
 
for i in `echo -n "$PASSWORD" | od -t d1 -A n`; do XOR=$(printf "%s%02x" "$XOR" $((i ^ 85))); done
echo $XOR
7. Так называемый fingerprint нужно смотреть в свойствах впн сервера винроута. Его можно просто скопировать в этот конфиг.

8. Мне лень тут писать как переписывался стартовый скрипт, потому для проверки работы вы можете просто в консоли отдать команду: kvpncsvc клиент сразу должен стартовать и ломануться на адрес указанный в конфиге. Возможно понадобится создать ему папку в /var/lib/kerio-kvc и симлинк в /var/log/kerio-kvc хотя может оно само это сделает - я сам ен пробовал, инистскрипт у меня это делает сам по себе.

9. Enjoy!


Не забывайте про автостарт этого процесса если вам это нужно.
Если при обновлении у вас обновляется и ядро, вам необходимо пересобрать модуль kvnet и заного его скопировать куда следует.


Если у меня получится приаттачить, то тут будет приаттачен архив включающий в себя:
Готовый инитскрипт
Патченый сервис
Исходники модуля ядра с исправленным Makefile
Файлик для получения XOR варианта пароля
Краткое ридми с инструкцией по сборке нужного на английском, с упоминанием этого сайта и благодарностями
Вложения
Тип файла: zip keriovpnc4rpmlinux.6.6.0-5666.R1.zip (2.43 Мб, 76 просмотров)
Тип файла: zip keriovpnc4rpmlinux.6.6.0-5729-1.zip (2.43 Мб, 71 просмотров)
Тип файла: zip keriovpnc4rpmlinux_6.7.1-6399-1_i386.zip (2.43 Мб, 71 просмотров)
Тип файла: zip keriovpnc4rpmlinux_6.7.1-6544-1_i386.zip (2.43 Мб, 219 просмотров)

Последний раз редактировалось HOG; 15.03.2010 в 15:25. Причина: Добавлен релиз для 6.7.1 версии 6544-1 выпущеной от 9 марта.
Ant вне форума   Ответить с цитированием Вверх
Старый 06.10.2009, 11:41   #2
40KHYTbIU
 
Регистрация: 06.10.2009
Сообщений: 9
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Отличная статья, мне очень помогла.
Набросал небольшой скрипт для определения fingerprint строки:

Цитата #!/bin/sh

RET="myserver.mydomain:4090"

SCL_STDOUT=/tmp/kerio-kvc.stdout
SCL_STDERR=/tmp/kerio-kvc.stderr
SCL_EXIT=/tmp/kerio-kvc.exit

set +e; echo | openssl s_client -ssl3 -connect "$RET" > $SCL_STDOUT 2>$SCL_STDERR; echo $? > $SCL_EXIT;

if [ `cat $SCL_EXIT` == 0 ]; then
cat $SCL_STDOUT | openssl x509 -fingerprint -md5 -noout | sed s'/.*=//';
rm -f $SCL_STDOUT $SCL_STDERR $SCL_EXIT;
fi
Так же написал патч для новых ядер, прошу протестировать, коннект есть, а пинг не идет и доступа к сети тоже =):

Цитата --- net_dev.c.orig 2009-06-08 18:10:45.000000000 +0400
+++ net_dev.c 2009-10-06 12:19:22.000000000 +0400
@@ -293,17 +293,21 @@
struct net_device_stats *stats = NULL;
struct vnet *vnet = vnet_dev();

+ static const struct net_device_ops dummy_netdev_ops = {
+ .ndo_open = net_dev_open,
+ .ndo_stop = net_dev_close,
+ .ndo_init = net_dev_init,
+ .ndo_do_ioctl = net_dev_ioctl,
+ .ndo_start_xmit = net_dev_send,
+ .ndo_get_stats = net_dev_get_stats,
+ };
+
TRACE(LOG_INFO, "%s: ==>", __FUNC__);

ether_setup(dev);

- dev->open = net_dev_open;
- dev->stop = net_dev_close;
- dev->init = net_dev_init;
+ dev->netdev_ops = &dummy_netdev_ops;
dev->destructor = net_dev_free;
- dev->hard_start_xmit = net_dev_send;
- dev->do_ioctl = net_dev_ioctl;
- dev->get_stats = net_dev_get_stats;
dev->hard_header_len = ETH_HLEN; /* 14 */
dev->addr_len = ETH_ALEN; /* 6 */
dev->mtu = 1446;
Я только учусь, так что буду рад поправкам.

Последний раз редактировалось 40KHYTbIU; 07.10.2009 в 12:39.
40KHYTbIU вне форума   Ответить с цитированием Вверх
Старый 03.11.2009, 14:43   #3
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
По умолчанию

А что за патч и зачем?
Что-то неработает чтоль?
Ant вне форума   Ответить с цитированием Вверх
Старый 06.11.2009, 12:23   #4
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Так, обновил наконец свой тазик на новую версию операционки и решил проверить сам с новым клиентом.

1. Качаем то что нам предлагает керио.
wget [Для просмотра данной ссылки нужно зарегистрироваться]

Получаем некий один файлик:
kerio-kvc_6.7.1-6399-1_i386.deb

2. Берём mc и заходим прям в него, из папки CONTENTS копируем в соотвествующие каталоги содержимое начиная от корня вашей системы.
Собственно там только две папки, это /etc и /usr внутри.

3. Удивило что больше ненадо собирать модуль ядра.
Такчто берём HEX редактор в руки и делаем вот что:
hexedit /usr/sbin/kvpncsvc
Нужно изменить gzopen64 на gzopen (вместо 36 34 написать 00 00)

Остальные пункты берите из предыдущей инструкции.

Кстати что приятно удивило, инит скрипт не пришлось править, старт стоп он сам нормально делает по крайней мере.


Протестировано на Mandriva 2010

Добавлено через 10 минут
Чуть позже приаттачу опять архивчик с ридми и патченым сервисом.

Добавлено через 11 минут
40KHYTbIU, Небудетет против если я ваш скрипт в архивчик тоже включу?

Последний раз редактировалось Ant; 06.11.2009 в 12:35. Причина: Добавлено сообщение
Ant вне форума   Ответить с цитированием Вверх
Старый 06.11.2009, 14:32   #5
С.С. Горбунков
Clairvoyant
 
Аватар для С.С. Горбунков
 
Регистрация: 19.07.2006
Адрес: Пенза-Москва
Сообщений: 6,921
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

жаль, нет версии клиента для 64битного линуха.
__________________

керио
С.С. Горбунков вне форума   Ответить с цитированием Вверх
Старый 06.11.2009, 15:10   #6
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
По умолчанию

С.С. Горбунков, если у вас это десктоп, то зачем на нём 64 бита крутить?

А всякие роутеры\серверы это однозначно обычная архитектура если только не используется какойнить оракл и прочие специфичные вещщи как мне кажется.
Тотже астериск и прочие вещи на 64 битах ведут себя ну просто не предсказуемо например. Поимели уже опыт.
Ant вне форума   Ответить с цитированием Вверх
Старый 06.11.2009, 15:18   #7
С.С. Горбунков
Clairvoyant
 
Аватар для С.С. Горбунков
 
Регистрация: 19.07.2006
Адрес: Пенза-Москва
Сообщений: 6,921
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Цитата
Сообщение от Ant Посмотреть сообщение
С.С. Горбунков, если у вас это десктоп, то зачем на нём 64 бита крутить?
как сказать? у меня 8 гиг оперативки. 32битный дистр их вроде бы не увидит. ну и всё уже настроено и крутицца, переустанавливать всё ради керио впн-клиента неохота. выход нашёл такой - виндосемёрка в виртуалбоксе, и оттуда уже впн-клиент запущаю ))
__________________

керио
С.С. Горбунков вне форума   Ответить с цитированием Вверх
Старый 06.11.2009, 15:36   #8
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Если тазик умеет технологию PAE то всё он увидит насколько я знаю, ибо современные дистры обычно в ядрах включают эту опцию.

Ну переустанавливать канеш да, ради этого сомнительное занятие.
Ant вне форума   Ответить с цитированием Вверх
Старый 09.11.2009, 10:31   #9
40KHYTbIU
 
Регистрация: 06.10.2009
Сообщений: 9
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Про скрипт я не против.
Так что без модуля работает? =)

У меня проблема с семеркой под вируталбоксом. Керио сервер блокирует и отрубает, местные админы сказали из-за обильного числа арп-запросов. сам не видел логи. грешу на виртуалбокс.
40KHYTbIU вне форума   Ответить с цитированием Вверх
Старый 09.11.2009, 11:08   #10
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Без модуля вроде работает, но на одном из тазиков вдруг всплыла классная грабля, интерфейс kvnet через несколько секунд теряет полученный ип.

Попробую чуть позже ещё.
Ant вне форума   Ответить с цитированием Вверх
Старый 11.11.2009, 14:04   #11
HOG
Одменестрадор
 
Аватар для HOG
 
Регистрация: 08.03.2006
Адрес: Из лесу, вестимо...
Сообщений: 5,828
Поблагодарили 80 раз(а) в 71 сообщениях
По умолчанию

Тема перенесена в обсуждалово VPN из BETA секции.
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

керио
HOG вне форума   Ответить с цитированием Вверх
Старый 11.11.2009, 15:26   #12
40KHYTbIU
 
Регистрация: 06.10.2009
Сообщений: 9
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

да без модуля теперь работает =) ура!
Может кто подскажет каким клиентом к терминальному серверу 2008 винды можно цыпляться? А то у меня черный экран =( к 2003 все пучком.
40KHYTbIU вне форума   Ответить с цитированием Вверх
Старый 11.11.2009, 16:27   #13
HOG
Одменестрадор
 
Аватар для HOG
 
Регистрация: 08.03.2006
Адрес: Из лесу, вестимо...
Сообщений: 5,828
Поблагодарили 80 раз(а) в 71 сообщениях
По умолчанию

40KHYTbIU, любым клиентом MSTSC для вашей ОС. Если у тебя линух то - [Для просмотра данной ссылки нужно зарегистрироваться].
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

керио
HOG вне форума   Ответить с цитированием Вверх
Старый 11.11.2009, 18:52   #14
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Ну значит вот поправленая инструкташка и патченый сервис.

Ещё бы кто подсказал как можно первый пост топика поправить, было бы волшебно

Последний раз редактировалось HOG; 15.03.2010 в 15:28. Причина: Файл убит. См 1-ый пост.
Ant вне форума   Ответить с цитированием Вверх
Старый 12.11.2009, 11:39   #15
40KHYTbIU
 
Регистрация: 06.10.2009
Сообщений: 9
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

У меня rdesktop 1.6.0 танцы с глубиной цвета и размером экрана, как советуют на форумах. У меня только висит черный экран и усе =)

Внизу сообщения нет редактировать\удалить?
40KHYTbIU вне форума   Ответить с цитированием Вверх
Старый 14.11.2009, 12:42   #16
volp
 
Регистрация: 09.11.2009
Адрес: Беларусь
Сообщений: 1
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Ant,
СПАСИБО ! Полгода искал . Инет на работе у меня только через vpn. Опробовано на Mandriva 2009.1 все завелось и работает без проблем.
volp вне форума   Ответить с цитированием Вверх
Старый 25.11.2009, 16:24   #17
40KHYTbIU
 
Регистрация: 06.10.2009
Сообщений: 9
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Запустил на генту.

Получил такое:

cat /var/log/kerio-kvc/init.log

Failed to initialize vpn driver.

Поправил скрипт старта /etc/init.d/kerio-kvc (проверте есть ли у вас модуль TUN)

start()
{
modprobe tun >/dev/null 2>&1 || eerror $? "Error loading tun module"
$EXEC $LIBDIR >> $INITLOG &
}
40KHYTbIU вне форума   Ответить с цитированием Вверх
Старый 15.03.2010, 13:54   #18
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
Подмигивание

Собственно вот ещё релиз для стейбл версии выпущеной от 9 марта.
Проверял на себе.

Буду премного бла если модераторы приаттачат это также в первый пост.


Последний раз редактировалось HOG; 15.03.2010 в 15:27. Причина: Приаттачили. Отсюда файл убит.
Ant вне форума   Ответить с цитированием Вверх
Старый 17.03.2010, 16:14   #19
Ant
Знатный писарь
 
Регистрация: 28.04.2006
Адрес: Russia
Сообщений: 316
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Так, дополню, после дня тестов, у меня на одной из машин где-то один раз из пяти упорно не приходит ип адрес. С чем связано я так и не уловил, причём сначала он проявляется, а затем просто пропадает с интерфейса. На другом тазу такого не происходило нинаодной версии.
Ant вне форума   Ответить с цитированием Вверх
Старый 23.11.2010, 20:30   #20
joys
 
Регистрация: 23.11.2010
Сообщений: 5
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Система Fedora 14.

Скачал архив kerio-kvc_6.7.1-6399-1_i386.deb
Раскидал все по нужным папкам.
по рекомендации уваж. Ant в /usr/sbin/kvpncsvc изменил gzopen64 на gzopen
отредактировал kerio-kvc.conf
Цитата /usr/sbin/kvpncsvc
Kerio VPN Client Service 6.7.1 build 6399 is running
./kerio-kvc restart
Restarting Kerio VPN client
Он же должен по логике там карту еще одну сетевую создать, маршруты разные?
ifconfig количество сетевух показывает прежнее (в смысле одну)

в логах пишет

Цитата Nov 23 20:10:32 localhost avahi-daemon[1171]: Withdrawing workstation service for kvnet.
Nov 23 20:10:32 localhost abrtd: Corrupted or bad crash /var/spool/abrt/ccpp-1290532231-14520 (res:4), deleting
Nov 23 20:10:32 localhost abrtd: Executable '/usr/sbin/kvpncsvc' doesn't belong to any package
Nov 23 20:10:32 localhost abrtd: Directory 'ccpp-1290532231-14520' creation detected
Nov 23 20:10:32 localhost abrt[14529]: saved core dump of pid 14520 (/usr/sbin/kvpncsvc) to /var/spool/abrt/ccpp-1290532231-14520.new/coredump (45256704 bytes)
Nov 23 20:10:31 localhost NetworkManager[1151]: <warn> /sys/devices/virtual/net/kvnet: couldn't determine device driver; ignoring...
Nov 23 20:10:31 localhost kernel: [344132.758759] kvpncsvc[14520]: segfault at 1c4f ip 00594754 sp bfcaa178 error 4 in libc-2.12.90.so[45d000+18d000]
Nov 23 20:08:53 localhost abrtd: Corrupted or bad crash /var/spool/abrt/ccpp-1290532132-14170 (res:4), deleting
Nov 23 20:08:53 localhost abrtd: Executable '/usr/sbin/kvpncsvc' doesn't belong to any package
Nov 23 20:08:53 localhost avahi-daemon[1171]: Withdrawing workstation service for kvnet.
Nov 23 20:08:52 localhost abrtd: Directory 'ccpp-1290532132-14170' creation detected
Nov 23 20:08:52 localhost abrt[14176]: saved core dump of pid 14170 (/usr/sbin/kvpncsvc) to /var/spool/abrt/ccpp-1290532132-14170.new/coredump (45400064 bytes)
Может есть какие идеи, мои похоже закончились
joys вне форума   Ответить с цитированием Вверх
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:36. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод: zCarot
© Kerio-rus.ru
Фонарёвка: всё о фонарях