nextman / vipnet.md
Выбор операционной системы обусловлен тем, что в нем подходящяя версия ядра (3.2), при этом все дыры в дистрибутиве оперативно закрываются, и можно обновляться, не боясь что-нибудь сломать. Предполагается, что устанавливать будем начиная с операционной системы.
Для начала, нам нужен сам 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) меняем
Собственно, все. Ну и для маньяков,
3.2 Установка с патчем ядра
Не зря же мы linux-source качали. После шага 2, распаковываем ядро.
cd /usr/src/ tar xvjf linux-source-3.2.tar.bz2 ln -s ./linux-source-3.2 ./linux
Конфигурируем ядро, воспользовавшись старым конфигом. При 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,
после чего устанавливаем координатор (см. пункт 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