Solaris Linux Openvpn

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

OpenVPN между Linux Solaris

Задача: Есть сервер,на который по техническим причинам нельзя выдать "белый" ip адрес. ОС сервера - Solaris 10. Требуется обеспечить защищенное соединение с сервером и возможность доступа к нему из дома.
Наиболее простое, хорошо документированное и проверенное решение - OpenVPN. К тому же в отличии от pptp не требователен к NAT.

Серверная часть

В качестве сервера выступает PC с Gentoo Linux

noname ~ # uname -a Linux noname 2.6.19-rc6-mm2-sirmax3 #1 SMP Sun Dec 24 14:26:51 EET 2006 i686 Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz GenuineIntel GNU/Linux

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

Установка и настройка

Устанавливаю openvpn

emerge net-misc/openvpn

Новые старотовые скрипты для OpenVPN позволяют запускать несколько экземпляров сервера.
Создаю экземпляр с именем solaris:

noname ~ # ln -s /etc/init.d/openvpn /etc/init.d/openvpn.solaris

Далее редактирую файл конфигурации сервера: /etc/openvpn/solaris.conf

local 95.69.ХХ.ХХ
client-config-dir /etc/openvpn/ccd
mode server
tls-server
dev tap
client-config-dir /etc/openvpn
ca /usr/share/openvpn/easy-rsa/keys/ca.crt
cert /usr/share/openvpn/easy-rsa/keys/server.crt
key /usr/share/openvpn/easy-rsa/keys/server.key
dh /usr/share/openvpn/easy-rsa/keys/dh1024.pem
verb 5
persist-key
log-append /var/log/openvpn.log
comp-lzo

Генерация ключей

cd /usr/share/openvpn/easy-rsa/

(вписать свои значения)

source ./vars
./clean-all

Корневой сертефикат:

./build-ca
./build-key-server server

Кдиентские сертефикаты: (client1,client2 - просто имена, могут быть любыми)

./build-key client1
./build-key client2
./build-dh

Клиентская часть (solaris)

Установка драйвера TUN/TAP

("'./configure', 'make', 'make install').

OpenVPN - Заметки по ручной сборке

Если собираете сами, надо еще сначала поставить LZO

INSTALL=/usr/ucb/install ./configure
make
make install

потом уже собственно OpenVPN

./configure \ --with-lzo-headers=/usr/local/include \ --with-lzo-lib=/usr/local/lib
make
make install

Но лучше установить с blastwave:

pkgutil -i openvpn

Возникшие проблемы

Mon Jun 28 18:03:34 2010 us=721065 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

Судя по всему, новые версии OpenVPN рассчитаны на новые ядра. Решил проблему

noname ~ # ln -s /dev/tun /dev/net/tun