segunda-feira, 15 de março de 2010

OpenVPN em OpenSolaris

OpenVPN em OpenSolaris 2009.06

Mais uma vez escrevo um tutorial por não achar nada em pt_br para OpenSolaris.

Instalando pacotes necessários.
# pkg refresh --full
# pkg install SUNWgcc

Interface TUN/TAP
# mkdir -p /usr/local/src
# cd /usr/local/src
# wget http://www.whiteboard.ne.jp/~admin2/tuntap/source/tuntap/tuntap.tar.gz
# tar xvfz tuntap.tar.gz
# chown -R root:root tuntap
# cd tuntap
# ./configure
# make
# make install

Lib de Compressão LZO
# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
# gzcat lzo-2.03.tar.gz | tar xvf lzo-2.03.tar.gz
# gzcat lzo-2.03.tar.gz | tar xvf -
# cd lzo-2.03
# ./configure
# make
# make install

Instalação do OpenVPN
# cd /usr/local/src
# wget http://www.openvpn.net/release/openvpn-2.1_rc15.tar.gz
# tar xvfz openvpn-2.1_rc15.tar.gz
# chown -R root:root openvpn-2.1_rc15
# cd openvpn-2.1_rc15
# wget -O tun.c http://www.whiteboard.ne.jp/~admin2/tuntap/source/openvpn/2.1/tun.c

Configurando com LZO
# ./configure --with-lzo-lib=/usr/local/lib

Configurando sem LZO
# ./configure --disable-lzo

# make
# make install

Arquivo de Configuração:

###/etc/openvpn/openvpn.conf retirado do vivaolinux###
# Interface da VPN
dev tun
port 5000
proto udp
server 192.168.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/kenji.crt
key /etc/openvpn/easy-rsa/keys/kenji.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
push "route 192.168.0.0 255.255.0.0"
comp-lzo
ping-timer-rem
persist-tun
persist-key
group nobody
daemon
mute 20
####Fim####

Copie a pasta openvpn-2.1_rc15/easy-rsa/ para /etc/openvpn/

# cp -r /usr/local/src/openvpn-2.1_rc15/easy-rsa/ /etc/openvpn/

agora vamos gerar as chaves de criptografia usando sh "shell" NÃO BASH!!!

Configurações para Server
# sh
# ./vars
# ./clean-all
# ./build-ca
# ./build-key-server kenji

Configuração de Clientes
# ./build-key dr-gori
# ./build-key karas

Voltando a Conf do Server
# ./build-dh

# cp -r $KEYS /etc/openvpn/

OBS: KEYS são as suas chaves, não vai me digitar $KEYS

Copie as $KEYS correspondentes aos Clientes e coloque nas pastas específicas.


Inicializando o Serviço no OpenSolaris:

# /usr/local/sbin/openvpn --daemon --writepid /tmp/openvpn.pid.pid --cd /etc/openvpn/ --config /etc/openvpn/openvpn.conf

Para Matar o processo:

# kill 'cat /tmp/openvpn.pid'


Verificando a tun0:
# ifconfig tun0
tun0: flags=10010008d1 mtu 1500 index 3
inet 192.168.0.1 --> 192.168.0.2 netmask ffffffff
ether b8:be:60:db:0:0

Feito isso, é só configurar os Clientes.


um Abraço!

Configuração em Cliente Windows:
http://www.guiadohardware.net/tutoriais/openvpn/pagina7.html


OBS 1 : Fiz testes com Clientes: Windows , Linux e FreeBSD.

OBS 2 : O arquivo de Configuração pode ser de QUALQUER outro tutorial visto, com ou sem lzo.

OBS 3 : É importante haver os arquivos *.cert e *.key para funcionamento da VPN.

OBS 4 : Em ZONES ele não reconhece a REDE.

OBS 5 : Kenji, Karas e Dr-Gori, sim -- são do Spectreman.

Bibliografia
http://web.vathorstweb.nl/index.php?option=com_content&task=view&id=68&Itemid=48

Licença CC conforme site:
http://creativecommons.org/licenses/by-sa/2.5/br/