Configurando o OpenVPN no OpenBSD

1. Configurando o OpenVPN no OpenBSD

Clemilton
clemylton

(usa Slackware)

Enviado em 08/10/2008 - 18:53h

Turorial de configuracao da OpenVPN no OpenBSD retirado do OpenBSD-BR
____________________________________________
http://www.openbsd-br.org/?q=node/51
____________________________________________
____________________________________________

Introdução
Uma Rede Privada Virtual (Virtual Private Network - VPN) é uma rede de comunicações privada normalmente utilizada por uma empresa ou um conjunto de empresas e/ou instituições, construída em cima de uma rede de comunicações pública (como por exemplo, a Internet). O tráfego de dados é levado pela rede pública utilizando protocolos padrão, não necessariamente seguros.

VPNs seguras usam protocolos de criptografia por tunelamento que fornecem a confidencialidade, autenticação e integridade necessárias para garantir a privacidade das comunicações requeridas. Quando adequadamente implementados, estes protocolos podem assegurar comunicações seguras através de redes inseguras. Neste artigo será apresentado a facilidade com que podemos criar essas VPN. utilizando OpenBSD e OpenVPN em vários sistemas Operacionais distintos. O OpenVPN se destaca pelo seu suporte a conexões atrás de NAT ou Firewall entre outros.

Instalando
Bom no OpenVPN vamos partir do principio que o seu OpenBSD esteja instalado e devidamente atualizado:

cd /usr/ports/net/openvpn

make install clean

Configurando
Primeiro vamos criar uma pasta chamada OPENVPN em /usr/local/etc
mkdir -p /usr/local/etc/openvpn

Depois vamos copiar pasta easy-rsa que fica localizada em /usr/local/share/examples/openvpn/easy-rsa/ para /usr/loca/etc/openvpn

cp /usr/local/share/examples/openvpn/easy-rsa/ /usr/loca/etc/openvpn

ls /usr/local/etc/openvpn/
easy-rsa

Com a copia feita agora é hora de criar o arquivo openvpn.conf do servidor que tambem ficara em /usr/local/etc/openvpn:

touch openvpn.conf

vi openvpn.conf


# Interface da VPN
dev tun0

# Ouvir em que endereço (se estiver comentado ouvira em todos )
local 200.xx.xx.xx

# Ouvir em que porta
port 1194

# Protocolo TCP ou UDP
proto udp

# Rede e Classe de Rede entre Clientes e Servidor
server 10.10.10.0 255.255.255.0

# Arquivo aonde fica armazenado os ips dos clientes
ifconfig-pool-persist ipp.txt

# Certificados para a autenticação da VPN
ca /usr/local/etc/openvpn/easy-rsa/keys/ca.crt
cert /usr/local/etc/openvpn/easy-rsa/keys/srv-openvpn-ticobsd.crt
key /usr/local/etc/openvpn/easy-rsa/keys/srv-openvpn-ticobsd.key
dh /usr/local/etc/openvpn/easy-rsa/keys/dh1024.pem

# As rotas que o cliente deve pegar
push "route 10.10.10.0 255.255.255.0" # Rede do Tunnel
push "route 172.16.4.0 255.255.255.0" # Rede interna que o Cliente pode ver.

# Usar compressão na VPN
comp-lzo

# Reestabelece a conexão se por ventura a mesma falhar
ping-timer-rem
persist-tun
persist-key

# Rodar o OpenVPN como Daemon mas com privilégios de usuario nobody
group nobody
daemon

# não repetir muitas vezes o mesmo erro
mute 20

#Log e etc....
status /var/log/openvpn.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 6

# Powere by Flavio Marcelo De Souza TiCoBsD http://www.ticobsd.com.br

Configurando server (Gerando Chaves Matriz -> Filial )
Bom, para quem não usa o shell SH, vai ter que usar pelo menos nesta parte para usar os scripts, pois os mesmos foram feitos para o SH e necessitam da shell ativa, para criar variáveis e coisas afins.

sh

Vamos editar algumas variáveis contidos no arquivo vars.

vi vars

As variáveis que nos interessa estão no final do arquivo e são as seguintes:

export KEY_COUNTRY=BR -> Pais;
export KEY_PROVINCE=PR -> Estado;
export KEY_CITY=Cianorte -> Cidade;
export KEY_ORG="Team TicoBSD" -> Organização, empresa;
export KEY_EMAIL="flavio@ticobsd.com.br"

Com o Procedimento acima evitamos ficar fazendo o mesmo procedimento varias veses.
caregando as variaveis:

. ./vars

./clean-all

Criando a CA, nesta parte será feita perguntas referentes as variáveis que editamos anteriormente e outras como “Organizational Unit Name” = comentário referente a empresa
“Common Name” = FQDN da maquina ex: filial-01.ticobsd.com.br:

./build-ca

Criar chaves do Servidor, nesta parte será feito as mesmas perguntas do comando anterior mas adicionando mais 2 variáveis as mesmas não precisam necessariamente de informação:

./build-key-server srv-vpn-ticobsd

Criando as chaves do(s) cliente(s), neste caso criamos apenas 1, mas nada impede depois de você crie outras chaves, apenas deve diferenciar a variável “Common Name” de cada chave, para evitar problemas.

“filial-01” é o nome que sera dado para a chave criada, altere conforme o seu ambiente.

./build-key filial-01

Gerando parâmetros Diffie Hellman para o OpenVPN:

./build-dh

Feito todo este procedimento, podemos voltar ao nosso shell de preferência:

return

Configurando Cliente
No cliente tbm temos que ter praticamente a mesma situação porém um pouco direfente.

Criando em /usr/local/etc o diretório openvpn

mkdir -p /usr/local/etc/openvpn

no cliente iremos somente criar um arquivo chamado openvpn.conf e colocar as chaves dentro do mesmo.

touch openvpn.conf

vi openvpn.conf

# Modo
client

# Ip dos Servidores
remote xx.xx.xx.xx 1194

# Interface , Protocolo
dev tun
proto udp
comp-lzo

# Chaves
ca chaves/ca.crt
cert chaves/filial-01.crt
key chaves/filial-01.key
group nobody
daemon
verb 3
mute-replay-warnings
mute 20

# Log
status /var/log/openvpn.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log

# Powere by Flavio Marcelo De Souza TiCo - http://www.ticobsd.com.br

Configurando cliente Windows
Se temos do outro lado uma maquina com Windows, precisaremos baixar o OpenVPN"para windows no seguinte endereço:

http://openvpn.net/download.html

Feita a instalação, vamos ao Windows Explorer (ctrl+e), e navegamos até a pasta C:\Arquivos de programas\OpenVPN\config. Lá iremos criar um arquivo chamado openvpn.ovpn e preencheremos ele com o seguinte conteúdo:
client
remote ipdoservidorvpn 1194
dev tun
comp-lzo
ca ca.crt
cert filial-01.crt
key filial-01.key
group nobody
verb 3
mute-replay-warnings
mute 20

Criando arquivos de log
mkdir -p /var/log/openvpn

touch /var/log/openvpn/openvpn.log

vi /etc/syslog.conf e adicionar as linhas abaixo:

!openvpn
*.* /var/log/openvpn.log

Criando interface
echo "up" > /etc/hostname.tun0

sh /etc/netstart

Levantando OpenVPN:

/usr/local/sbin/openvpn --cd /usr/local/etc/openvpn/ --daemon --config openvpn.conf

Pronto ! OpenVPN Iniciado

Conferindo:

netstat -an | grep 1194
root openvpn 739 5 udp4 200.xx.xx.xx:1194 *:*

ow ainda com:

tail -f /var/log/openvpn.log

Thu Jun 28 15:38:02 2007 /sbin/ifconfig tun0 create
Thu Jun 28 15:38:02 2007 NOTE: Tried to delete pre-existing tun/tap instance -- No Problem if failure
Thu Jun 28 15:38:02 2007 /sbin/ifconfig tun0 10.10.10.1 10.10.10.2 mtu 1500 netmask 255.255.255.255 up
Thu Jun 28 15:38:02 2007 TUN/TAP device /dev/tun0 opened
add net 172.16.3.0: gateway 10.10.10.2
Thu Jun 28 15:38:03 2007 GID set to nobody
Thu Jun 28 15:38:03 2007 UDPv4 link local (bound): ipdoserver:1194
Thu Jun 28 15:38:03 2007 UDPv4 link remote: [undef]
Thu Jun 28 15:38:03 2007 Initialization Sequence Completed
tail: /var/log/openvpn.log has been truncated, resetting.
OpenVPN CLIENT LIST
Updated,Thu Jun 28 15:38:13 2007
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
GLOBAL STATS
Max bcast/mcast queue length,0
END

Conferindo com ifconfig
ifconfig tun0

tun0: flags=8051 mtu 1500
inet 11.11.11.1 --> 11.11.11.2 netmask 0xffffffff
Opened by PID 730

Flávio Marcelo de Souza



  


2. Re: Configurando o OpenVPN no OpenBSD

Marco Carvalho de Oliveira
demoncyber

(usa FreeBSD)

Enviado em 19/02/2009 - 11:08h

O que acharias de publicar isto como um artigo, pedindo a permissão dos autores para coloca partes dos textos deles e referencia-los?

Att. Marco






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts