Implementação de VPN com OpenVPN

As VPNs, ou Virtual Private Networks, são túneis virtuais que podem ser estabelecidos sob a internet, onde dois servidores são interligados de forma segura formando, dessa forma, uma rede única.

[ Hits: 48.837 ]

Por: Daniel Romero em 19/12/2006 | Blog: https://infoslack.com


Configuração



Inicialmente vamos criar um usuário e um grupo chamados openvpn:

# groupadd openvpn
# useradd -g openvpn -s /dev/null openvpn >/dev/null 2>&1
# passwd -l


Em seguida vamos criar o diretório onde iremos armazenar os arquivos de configuração da VPN na matriz:

# mkdir /etc/openvpn-matriz

O próximo passo é gerar a chave criptográfica estática:

# openvpn --genkey -secret /etc/openvpn-matriz/chave

Agora vamos criar o script matriz.conf com o seguinte conteúdo:

# vi /etc/openvpn/matriz.conf

# Usar como interface o driver TUN
dev tun

# 10.0.0.1 IP da matriz
# 10.0.0.2 IP remoto, da filial
ifconfig 10.0.0.1 10.0.0.2

# Entra no diretório onde se encontram
# os arquivos de configuração
cd /etc/openvpn-matriz

# Indica que esse túnel possui uma
# chave criptográfica
secret chave

# OpenVPN usa a porta 5000/UDP por
# padrão. Cada túnel do OpenVPN deve
# usar uma porta diferente.
port 5000

# Usuário e grupo que irão executar o
# daemon do OpenVPN
user openvpn
group openvpn

# Especifica uma MTU comum entre as
# partes - MATRIZ e FILIAL
tun-mtu 1500
tun-mtu-extra 32

# Usa a biblioteca lzo para
# compactação dos dados que irão
# trafegar no túnel
comp-lzo

# Envia um ping via UDP para a parte
# remota a cada 15 segundos para
# manter a conexão de pé em firewall
# statefull.
ping 15

# Nível de log
verb 3

Agora vamos iniciar a conexão no servidor da matriz executando o comando abaixo:

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

Para verificar se a interface tun0 foi inicializada com sucesso:

# ifconfig tun0

Para configurar o servidor da filial, repita o processo de download, instalação e configuração exatamente da mesma forma como foi feito na matriz. Em seguida copie a chave criptográfica da matriz para a filial com o seguinte comando:

# scp /etc/openvpn-matriz/chave ip_filial:/etc/openvpn-filial

Por fim, crie o script filial.conf com o conteúdo idêntico ao do arquivo matriz.conf, alterando somente as seguintes linhas:

ifconfig 10.0.0.2 10.0.0.1

# ESCOLHA UMA DAS POSSIBILIDADES ABAIXO NUNCA AS DUAS!!!!
remote 201.43.56.5 (se for IP fixo)
remote domain.com.br (IP dinâmico)

# Entra no diretório onde se encontram
# os arquivos de configuração
cd /etc/openvpn-filial

Iniciar a conexão no servidor da filial executando o comando abaixo:

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

Para verificar se a interface tun0 foi carregada com sucesso:

# ifconfig tun0

Na filial, faça o teste com um ping:

$ ping 10.0.0.1

Página anterior     Próxima página

Páginas do artigo
   1. Pacotes necessários e instalação
   2. Configuração
   3. Configurando o Samba e finalizando
Outros artigos deste autor

Instalando o Postfix no Slackware

Leitura recomendada

Conceitos de Acesso Remoto

Gravando conversas no Skype do Linux

Como verificar conexões abertas no Linux

Load Balancer com Failover, Perlbal e Heartbeat para servidores web

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

  
Comentários
[1] Comentário enviado por edisonsousa em 24/12/2006 - 18:54h

Legal o seu tutorial, já dá para ter uma boa noção, a partir de agora cada um por si.

[2] Comentário enviado por cleitão em 12/02/2007 - 16:19h

Boa tarde Caro amigo Jedi,

me explica uma coisa eu tenho que ter duas placas de rede em cada micro certo?? Uma vai ficar a eth0 e a outro eth1 e tun. Quais ips devo configurar em cada um...

Desde já agradeço a atenção...

[3] Comentário enviado por infoslack em 13/02/2007 - 14:36h

Bem amigo.. nos meus testes eu nao usei duas placas de rede, pois não foram necessárias. A interface tun0 é virtual não necessita de uma segunda placa de rede.

[4] Comentário enviado por slackware_linux em 31/05/2007 - 12:17h

Como faço pra gerar uma chave assimetrica no openvpn? Tem um jeito mais facil de gerar sem usar o easy-rsa?

Arnone

[5] Comentário enviado por slackware_linux em 31/05/2007 - 12:18h

Como faço pra gerar uma chave assimetrica no openvpn? Tem um jeito mais facil de gerar sem usar o easy-rsa?

Arnone

[6] Comentário enviado por infoslack em 31/05/2007 - 15:28h

Bom amigo, eu só conheço esse método que descrevi acima, boa pergunta a sua irei pesquisar a respeito.

[7] Comentário enviado por antonioleite em 26/08/2007 - 17:43h

Amigo ja procurei por diversos artigos e livros e nada é o seguinte: Quando eu executo o ifconfig tun0 da o seguinte erro: TUN0: ERRO obtendo informações da interface: %s dispositivo não encontrado.
Só que eu ja reinstalei o Debian umas 1000 vezes e carrego o TUN "modprobe tun" o mesmo esta presente quando dou lsmod e sempre paro ai. Pergunto o que estou fazendo de errado se segui todos os passos acima, eu preciso estar com o outro computador conectado na filial para o TUN subir? Uma ajudinha por favor... Obrigado

[8] Comentário enviado por btavares em 30/08/2007 - 15:09h

Com seu turorial consigo fazer uma VPN entre matriz e filial, onde as duas tem velox, são em cidades diferentes, é possível fazer isso com seu tutorial?

[9] Comentário enviado por edivaldocaj em 14/12/2007 - 16:58h

muito bom artigo...parabens

[10] Comentário enviado por edipo.magrelo em 31/01/2008 - 17:15h

muito bom artigo..faltou alguns hifens ai em duas linhas..mais ta tudo certinho...artigo bom e funcional

[11] Comentário enviado por removido em 18/05/2009 - 08:59h

Olá amigo eu instalei do jeito que ta no artigo, mas ta dando esse erro ao gerar a chave:

Unrecognized option or missing parameter(s) in [CMD-LINE]:1: genkey-secret (2.0.9)
Use --help for more information.


Você pode me dizer como resolver?

Alexandre


[12] Comentário enviado por NUNESND em 25/06/2009 - 00:00h

Grande infoslack

seguinte, estou com o mesmo problema de dispositivo virtual tun que o amigo antonioleite está,

você teria como dar algum parâmetro a ser seguido?

grato


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts