четверг, 20 августа 2009 г.

OpenVPN на Solaris 10



OpenVPN на Solaris 10

Столкнулся на днях с необходимостью поднять на Solaris VPN-сервер. После мучительных поисков пришлось ставить OpenVPN. Есть пакет на blastwave, но лучше всегда собирать самому. Прежде необходимо установить драйвер "tun". Если у вас 64-x разрядная система, то в пакете с sourceforge в файле "solaris/Makefile" надо прописать CFLAGS:


CFLAGS = -m64 -mcmodel=kernel -mno-red-zone -ffreestanding $(DEFS) -O2 -Wall -D_KERNEL -I.



Затем - "make & make install". Драйвер кладется не туда, куда надо, поэтому ручками переместите:


# mv /usr/kernel/drv/tun /kernel/drv/sparcv9


Затем:


# devfsadm -i tun


Выругался? Тогда скачайте драйвер отсюда - этот должен поставиться без проблем ("'./configure', 'make', 'make install').
Если собираете сами, надо еще сначала поставить 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, то просто устанавливаете openvpn.
Приведу примеры конфигурационных файлов для проверки работоспособности. Свои сертификаты создадите сами, для проверки соединения можно использовать тестовые файлы из архива OpenVPN. Итак, сервер (Solaris):


port 1194
proto tcp-server
dev tun
tls-server
ca /etc/openvpn/tmp-ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 192.168.77.0 255.255.255.0
route 192.168.1.0 255.255.255.0
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 4
mute 20
writepid /var/run/openvpn.pid


Запуск на сервере (пакет с blastwave идет с rc-скриптом, для теста из консоли можно просто дать команду "openvpn --config /etc/openvpn/openvpn.conf").
Теперь клиент:


dev tun
client
remote 82.*.. 1194 # real IP of Solaris
tls-client
ca /etc/openvpn/tmp-ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
proto tcp-client
comp-lzo


В качестве клиента использовался Debian, где openvpn ставится с помощью "apt-get". Запуск клиента тот же:


# openvpn --config /etc/openvpn/openvpn.conf


Соединение установилось без проблем, чего нельзя сказать о Windows Vista - запущенный на ней OpenVPN GUI-клиент ругался на маску сети, и, провозившись безрезультатно около получаса, я сдался - возможно это причуды Vista и на XP проблем не будет - пробуйте, кому надо.





Мой конфиг сервера:

port 1194
proto tcp-server
dev tun
tls-server
ca /etc/openvpn/tmp-ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.10.0.0 255.255.255.0
route 172.26.17.0 255.255.255.0 10.10.0.1
route 10.10.0.0 255.255.255.0 10.10.0.1
push "redirect-gateway"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 4
mute 20
writepid /var/run/openvpn.pid

Комментариев нет:

Отправить комментарий