Você está na página 1de 4

Servidor OpenVPN Instalar e Configurar

BY
ADMIN
POSTED ON 21 DE NOVEMBRO DE 2013POSTED IN: LINUX, OPENSOURCE, SERVER LINUX

Segundo o Wikipdia: O OpenVPN um software livre e open-source para criar redes privadas virtuais do
tipo ponto-a-ponto ou server-to-multiclient atravs de tneis criptografados entre computadores. Ele
capaz de estabelecer conexes diretas entre computadores mesmo que estes estejam atrs de Nat
Firewalls sem necessidade de reconfigurao da sua rede. Ele foi escrito por James Yonan e publicado
sob licena GNU General Pulic Licence (GPL).
Colocarei um tutorial de como instalar e configurar um servidor OpenVPN no Ubuntu,
usando Infraestrutura de Chave Pblica com uma interface de Ethernet em ponte.
O que necessrio:
O primeiro passo (fora de ter o sistema operacional instalado) instalar os pacotes necessrios.Uma vez
que estou utilizando o Ubuntu, a instalao bem simples.

1.

Abra uma janela do terminal.

2.

Executar sudo apt-get install openvpn para instalar o pacote OpenVPN.

3.

Digite a senha sudo e pressione Enter.

4.

Aceite qualquer dependncias.

Somente um pacote foi deixado de ser instalado o pacote que permite a habilitao de redes em ponte.
Configurar rede em ponte simples, uma vez que voc saiba fazer. Mas antes que a interface possa ser
configurado para lidar com redes em ponte, temos que instalar o pacote. Faa o seguinte:

1.

Instale o pacote necessrio com o comando sudo apt-get install bridge-utils .

2.

Editar o arquivo /etc/network/interfaces para refletir as modificaes necessrias (veja abaixo).

3.

Reinicie a rede com o comando sudo /etc/init.d/networking restart .

Abra o arquivo /etc/network/interfaces e faa as modificaes necessrias nas informaes que se refere
a sua interface de rede com base no exemplo abaixo:
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.100.10
network 192.168.100.0
netmask 255.255.255.0
broadcast 192.168.100.255
gateway 192.168.100.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

Tenha certeza de configurar a seo da ponte (mostrado acima) para coincidir comas
informaes corretas da sua rede. Salve o arquivo e reinicie o networking. Agora hora
de comear a configurar o servidor VPN.

Criando os Certificados
O servidor OpenVPN depender da autoridade da certificao para a segurana. Os certificados
devem primeiro ser criado e depois colocados nos diretrios apropriados. Para fazer isso, siga estes
passos:

1.

Crie um novo diretrio com o comando sudo mkdir /etc/openvpn/easy-rsa/.

2.

Copiar os arquivos necessrios com o comando sudo cp -r


/usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/.

3.

Alterar a propriedade do diretrio recm-copiado com o comando sudo chown -R $USER


/etc/openvpn/easy-rsa/.

4.

Edite o arquivo /etc/openvpn/easy-rsa/vars e altere as seguintes variveis.

As variveis para editar so:


export KEY_COUNTRY="BR"
export KEY_PROVINCE="MG"
export KEY_CITY="Belo Horizonte"
export KEY_ORG="jostdayan"
export KEY_EMAIL="email@email.com.br"
Depois que o arquivo foi editado e salvo, iremos executar diversos comandos que deve ser
inserido de forma a criar os certificados:

cd /etc/openvpn/easy-rsa/

source vars

./clean-all

./build-dh

./pkitool --initca

./pkitool --server server

cd keys

sudo openvpn --genkey --secret ta.key

sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/

Os Certificados do Cliente.

Os clientes precisam ter certificados para a autenticao no servidor. Para criar esses certificados, faa o
seguinte:

1.

cd /etc/openvpn/easy-rsa/

2.

source vars

3.

./pkitool hostname

Aqui o nome do host o nome do computador que ir se conectar VPN.


Agora, os certificados tero que ser criados para cada host que precisar conexo com aVPN. Uma vez
que os certificados foram criados, eles precisaro ser copiado para os respectivos clientes. Os arquivos
que devem ser copiados so:

/etc/openvpn/ca.crt

/etc/openvpn/ta.key

/etc/openvpn/easy-rsa/keys/hostname.crt (Onde hostname o nome da mquina do cliente).

/etc/openvpn/easy-rsa/keys/hostname.key (Onde hostname o nome da mquina do cliente).

Copie os arquivos acima usando um mtodo seguro, certificando-se que eles sero copiados para
o diretrio /etc/openvpn.
Configurando Servidor VPN
hora de configurar o servidor de VPNl. O primeiro passo copiar um arquivo de configurao de
exemplo para trabalhar. Isto feito com o comando sudo cp
/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
/etc/openvpn/. Agora descompacte o arquivo server.conf.gz com o comando sudo gzip -d
/etc/openvpn/server.conf.gz. Abra server.conf em um editor de texto (com privilgios administrativos) e

edite as seguintes opes:

local 192.168.100.10
dev tap0
up "/etc/openvpn/up.sh br0"
down "/etc/openvpn/down.sh br0"
server-bridge 192.168.100.101 255.255.255.0 192.168.100.105 192.168.100.200
push "route 192.168.100.1 255.255.255.0"
push "dhcp-option DNS 192.168.100.201"
push "dhcp-option DOMAIN example.com"
tls-auth ta.key 0 # This file is secret
user nobody
group nogroup
Se no tiver certeza do que significa as opes, segue aqui:

local = o endereo IP da interface de ponte.


server-bridge = necessria no caso de uma interface de ponte.
O servidor vai empurrar para os clientes a faixa de endereos IP de 192.168.100.105-200.
As diretrizes push so opes enviadas aos clientes.
Subindo a VPN (script Up e Down)
Antes da VPN ser iniciada (ou reiniciada) temos que criar um par de scripts que so necessrios para
adicionar uma interface TAP para as pontes (Se no estiver usando rede em ponte, esses scripts no so
necessrias.) Estes scripts sero ento utilizados pelo executvel do OpenVPN.
Os scripts so /etc/openvpn/up.sh e /etc/openvpn/down.sh.
up.sh
#!/bin/sh
#This is /etc/openvpn/up.sh
BR=$1

DEV=$2
MTU=$3
/sbin/ifconfig $DEV mtu $MTU promisc up
/usr/sbin/brctl addif $BR $DEV

down.sh
#!/bin/sh
#This is/etc/openvpn/down.sh
BR=$1
DEV=$2
/usr/sbin/brctl delif $BR $DEV
/sbin/ifconfig $DEV down

Ambos os scripts precisam ter permisso para execuo, basta usar o comando:

sudo chmod 755 /etc/openvpn/down.sh

sudo chmod 755 /etc/openvpn/up.sh

Finalmente, reinicie o OpenVPN com o comando sudo /etc/init.d/openvpn restart. O servidor VPN est
agora pronto para aceitar conexes de clientes (o tema do prximo post.)
Detalhes

Uma coisa que uma obrigao para uma VPN que a mquina que hospeda a VPN precisa
ser acessvel para o mundo exterior - supondo que os utilizadores esto vindo do mundo exterior. Isto
pode ser feito por qualquer apenas passando o endereo IP externo ou por encaminhamento de trfego
usando regras de NAT (que pode ser feita de vrias maneiras). Tambm fundamental empregar um
firewall para as melhores prticas de segurana (especialmente se o servidor tem um endereo IP externo
fixo) para evitar qualquer trfego indesejado ou usurios no cadastrados de entrar no servidor.
At a prxima
- See more at: http://www.jostdayan.com.br/2013/11/servidor-openvpn-instalar-econfigurar/#sthash.BQF2e5rl.dpuf