Skip to content

Instantly share code, notes, and snippets.

@nextman
Last active July 4, 2018 07:11
Show Gist options
  • Save nextman/b5d2beb94f4f0c3f8900 to your computer and use it in GitHub Desktop.
Save nextman/b5d2beb94f4f0c3f8900 to your computer and use it in GitHub Desktop.
Установка VipNet coordinator 3.7 на Debian 7.0

Выбор операционной системы обусловлен тем, что в нем подходящяя версия ядра (3.2), при этом все дыры в дистрибутиве оперативно закрываются, и можно обновляться, не боясь что-нибудь сломать. Предполагается, что устанавливать будем начиная с операционной системы.

1. Установка ОС

Для начала, нам нужен сам debian - забираем здесь. Нас интересует архитектура i386, достаточно скачать netinst образ. На момент написания статьи это debian-7.7.0-i386-netinst.iso.

Устанавливаем, при выборе пакетов указываем только ssh. Перезагружаемся, убеждаемся, что сервер видит интернет.

Заходим на машину по ssh. Убеждаемся, что все обновлено, устанавливаем всякое нужное для координатора (mc не нужно, но пусть будет)

apt-get update && apt-get upgrade
apt-get install build-essential kernel-package linux-source-3.2 fakeroot zlib1g-dev ethtool psmisc mc unzip linux-headers-3.2

2. Подготовка дистрибутива координатора

Берем дистрибутив координатора (или качаем, на странице загрузки вводим валидный e-mail, на него придет письмо с ссылкой для скачивания), закидываем на машину с дебианом по scp. Если нет ключей, там же скачиваем демо-комплект.

Итак, нас есть дистрибутив координатора и dst-файл (я буду использовать демо-комплект)

root@coordinator:/home/dz# ls -1
distribute-i386-linux2.x-3.7.4-4464.tar.gz
vipnet_demokeys.zip

Распаковываем дистрибутив.

tar xvzf distribute-i386-linux2.x-3.7.4-4464.tar.gz

Если используем демо-ключи, достаем нужный нам и кладем в ./distribute, лишние удаляем.

unzip vipnet_demokeys.zip
cp Coordinator\ 1/Coordinator\ 1/* ./distribute
rm -rf Client* Coordinator*

Теперь у нас есть каталог distribute, в нем заготовлен dst-файл.

root@coordinator:/home/dz# ls -1 ./distribute
abn_0001.dst
distribute.tar.gz
doc
install.cf
install.sh
license.txt
noanswer
patch
user_info.txt
version
warning.txt

3.1 Установка без патча ядра (NETFILTER)

Собственно, устанавливаем, пароль для демо-ключей - восемь едениц. Если работаем по ssh, на вопрос "Do you want to startup ViPNet services automatically now?" отвечаем отрицательно, т.к. по умолчанию координатор стартует во 2 режиме, и разорвет вашу ssh сессию.

root@coordinator:/home/dz/distribute# ./install.sh
STEP 1: Select ViPNet install distribution
Searching in '/home/dz/distribute'...
[ 1 ] distribute.tar.gz
[ 2 ] Change directory
Choice:1
Press ENTER to read warning message

Welcome to the ViPNet Linux Coordinator Setup Wizard.
...

Do you want to continue installation? (y/n)y

STEP 2: Unpack ViPNet distribution archive
Unpack '/home/dz/distribute/distribute.tar.gz' successfull
Press ENTER to read License Agreement

ATTENTION: THIS PRODUCT IS PROVIDED ...
...

Do you agree to this License (y/n)y
STEP 3: Find current ViPNet configuration
No current ViPNet configuration found

STEP 4: Prepare for installation
This script will install
ViPNet Virtual Private Network i386/Linux Product version: 3.7.4 build 4464
Do you want to continue installation? (y/n)y
Check GCC version...
Found GCC 4.7

STEP 5: Install drivers
Install drviplir.ko
Install itcswd.ko
Install itcscrpt.ko
Install itcskrniface.ko

STEP 6: Install applications
Installing man pages

STEP 7: Save startup configuration
Set VDSO in enable compat VDSO mode
vm.vdso_enabled = 2

STEP 8: Select ViPNet configuration file (*.DST)
Searching in '/home/dz/distribute'...
[ 1 ] abn_0001.dst
[ 2 ] Change directory
[ 3 ] Skip selection
Choice:1

STEP 9: Select directory to install ViPNet configuration
Enter directory path to install selected ViPNet configuration (default '/etc/vipnet'):

STEP 10: Abonent authentication
Enter ViPNet password:
Station name: Coordinator 1
User login: 10E90001
User password successfully checked

Do you want to startup ViPNet services automatically now? (y/n)n
Installation completed.

Можно перевести координатор в режим 4 для первоначальной настройки и стартануть. В файле /etc/vipnet/user/iplir.conf-eth0 (если у вас основоной интерфейс eth0) меняем

mode= 2

на

mode= 4

, и стартуем

iplir start

Собственно, все. Ну и для маньяков,

3.2 Установка с патчем ядра

Не зря же мы linux-source качали. После шага 2, распаковываем ядро.

cd /usr/src/
tar xvjf linux-source-3.2.tar.bz2
ln -s ./linux-source-3.2 ./linux

Накладываем патч

patch -p0 < /home/dz/distribute/patch/iplir.patch.2.6.39+
patching file linux/include/linux/netdevice.h
Hunk #1 succeeded at 1758 (offset 39 lines).
patching file linux/net/core/dev.c
Hunk #1 succeeded at 146 (offset 4 lines).
Hunk #2 succeeded at 2508 (offset 82 lines).
Hunk #3 succeeded at 3283 with fuzz 1 (offset 129 lines).
Hunk #4 succeeded at 6718 (offset 207 lines).
patching file linux/net/Kconfig

Конфигурируем ядро, воспользовавшись старым конфигом. При make oldconfig на все вопросы отвечаем y, кроме блокировки всех пакетов по умолчанию.

cd /usr/src/linux
cp /boot/config-3.2.0-4-486 .config
make oldconfig
...
ViPNet low-level packet filter infrastructure (IPLIR) [N/y/?] (NEW) y
    Block all packets when ViPNet drivers are not loaded (IPLIR_BLOCK_BY_DEFAULT) [N/y/?] (NEW) n
...

Собираем (займет некоторое время ;) и устанавливаем, перезагружаемся в новое ядро

fakeroot make-kpkg --initrd --revision=01 --append-to-version=.vipnet kernel-image
fakeroot make-kpkg --initrd --revision=01 --append-to-version=.vipnet kernel-headers
dpkg -i ../linux-image-3.2.63.vipnet_01_i386.deb
dpkg -i ../linux-headers-3.2.63.vipnet_01_i386.deb
reboot

Убеждаемся, что ядро у нас теперь версии vipnet,

uname -r
3.2.63.vipnet

после чего устанавливаем координатор (см. пункт 3.1)

4. Замораживаем текущее ядро

Блокируем обновление ядра (по желанию), дабы спокойно обновлять всю остальную систему. Иначе после обновления ядра надо будет переустанавливать координатор, а в случае установки патчем eще и пересобирать ядро.

echo linux-image-3.2.63.vipnet hold | dpkg --set-selections
echo linux-headers-3.2.63.vipnet hold | dpkg --set-selections

Вот теперь все.

@foi
Copy link

foi commented Jul 20, 2017

Привет! Спасибо за описание. Есть проблема, после установки випнета локальная сеть отваливается (но интернет есть, а шлюз не пингуется 0_о) и больше не появляется даже несмотря на mode= 4 на всех интерфейсах, modprobe -r drviplir и сеть сразу же начинает работать. Не могу понять в чем проблема.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment