Solaris Linux Openvpn: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(Новая: OpenVPN между Linux Solaris)
 
 
(не показано 20 промежуточных версий этого же участника)
Строка 1: Строка 1:
  +
[[Категория:Linux]]
OpenVPN между Linux Solaris
 
  +
[[Категория:Solaris]]
  +
[[Категория:VPN]]
 
=OpenVPN между Linux Solaris=
  +
  +
Задача: Есть сервер,на который по техническим причинам нельзя выдать "белый" ip адрес. ОС сервера - Solaris 10. Требуется обеспечить защищенное соединение с сервером и возможность доступа к нему из дома.
  +
<BR>
  +
Наиболее простое, хорошо документированное и проверенное решение - OpenVPN. К тому же в отличии от pptp не требователен к NAT.
  +
  +
==Серверная часть==
  +
В качестве сервера выступает PC с Gentoo Linux
  +
{{Root|<nowiki>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</nowiki>}}
  +
Обратить внимание - ядро достаточно старое. Причина - сервер достаточно критичен, перезагрузка нежелательна.<BR>
  +
===Установка и настройка===
  +
Устанавливаю openvpn
  +
{{Root|<nowiki>emerge net-misc/openvpn</nowiki>}}
  +
  +
Новые старотовые скрипты для OpenVPN позволяют запускать несколько экземпляров сервера. <BR>
  +
Создаю экземпляр с именем solaris:
  +
{{Root|<nowiki>noname ~ # ln -s /etc/init.d/openvpn /etc/init.d/openvpn.solaris</nowiki>}}
  +
Далее редактирую файл конфигурации сервера:
  +
/etc/openvpn/solaris.conf
  +
<PRE>
  +
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
  +
</PRE>
  +
===Генерация ключей===
  +
{{Command|cd /usr/share/openvpn/easy-rsa/}}
  +
(вписать свои значения)
  +
{{Command|source ./vars}}
  +
{{Command|./clean-all}}
  +
Корневой сертефикат:
  +
{{Command|./build-ca}}
  +
{{Command|./build-key-server server}}
  +
Кдиентские сертефикаты: (client1,client2 - просто имена, могут быть любыми)
  +
{{Command|./build-key client1}}
  +
{{Command|./build-key client2}}
  +
{{Command|./build-dh}}
  +
  +
==Клиентская часть (solaris)==
  +
===Установка драйвера TUN/TAP===
  +
("'./configure', 'make', 'make install').
  +
  +
===OpenVPN - Заметки по ручной сборке===
  +
Если собираете сами, надо еще сначала поставить [http://www.oberhumer.com/opensource/lzo/#download LZO]
  +
{{Command|<nowiki>
  +
INSTALL=/usr/ucb/install ./configure</nowiki>}}
  +
{{Command|<nowiki>make</nowiki>}}
  +
{{Root|<nowiki>make install</nowiki>}}
  +
  +
потом уже собственно OpenVPN
  +
  +
{{Command|<nowiki>./configure \
  +
--with-lzo-headers=/usr/local/include \
  +
--with-lzo-lib=/usr/local/lib</nowiki>}}
  +
  +
{{Command|<nowiki>make</nowiki>}}
  +
{{Root|<nowiki>make install</nowiki>}}
  +
  +
Но лучше установить с <B>blastwave</B>:
  +
{{Root|<nowiki>pkgutil -i openvpn</nowiki>}}
  +
  +
==Возникшие проблемы==
  +
<PRE>
  +
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)
  +
</PRE>
  +
Судя по всему, новые версии OpenVPN рассчитаны на новые ядра. Решил проблему
  +
{{Root|<nowiki>noname ~ # ln -s /dev/tun /dev/net/tun</nowiki>}}

Текущая версия на 23:03, 29 марта 2011

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