VPN ponto a ponto com chaves estáticas

Publicado por janael pinheiro em 28/06/2013

[ Hits: 11.084 ]

 


VPN ponto a ponto com chaves estáticas



Introdução

Configuração de uma Virtual Private Network (VPN) simples, usando criptografia com chaves estáticas.
"Rede Privada Virtual é 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."
Fonte: Virtual Private Network – Wikipédia, a enciclopédia livre

Configuração do servidor

No servidor:

Instale o OpenVPN com o comando (se for uma distribuição baseada no Debian):

# apt-get install openvpn

Gerar a chave criptográfica:

# openvpn --genkey --secret /etc/openvpn/key

"Key" é o nome da chave, e pode receber outro nome.

Com seu editor de textos, crie um arquivo de configuração do servidor, o nome é de sua preferência, é obrigatório colocar a extensão ".conf", o OpenVPN irá ler os arquivos ".conf" dentro da pasta "/etc/openvpn":

# vim /etc/openvpn/servidor.conf

No arquivo, coloque:

dev tun
ifconfig 10.0.0.1 10.0.0.2
secret /etc/openvpn/key
port 5000
comp-lzo
verb 4
keepalive 10 120
persist-key
persist-tun
float


Salve e feche o arquivo.

Explicação:
  • dev tun :: habilita o suporte ao driver TUN/TAP.
  • ifconfig :: configura o IP do servidor (10.0.0.1) e o IP do cliente (10.0.0.2).
  • secret :: chama a chave criptografada passando a local dela.
  • verb :: nível para depuração de erros.
  • keepalive :: envia um ping a cada 10 segundos sem atividade na VPN, e reinicia a VPN depois de 120 segundo sem resposta.
  • persist-key :: mantém as chaves carregadas, quando a VPN é reestabelecida depois de uma desconexão.
  • persist-tun :: mantém a interface TUN aberta, quando a VPN é restabelecida depois de uma desconexão.
  • float :: permite que o túnel continue aberto mesmo que o IP da outra máquina mude.

Inicie o OpenVPN:

# /etc/init.d/openvpn start

Verifique se foi criada uma nova interface de rede.

Ex.: tun0

# ifconfig

Configuração do cliente

Primeiro, é preciso copiar para o cliente a chave criptográfica criada no servidor, para isso, existem diversas formas.

Vou utilizar o comando scp que permite copiar arquivos de uma máquina remota. Para utilizar o scp, a máquina que possui o arquivo que será copiado precisa ter o servidor SSH instalado e funcionando.

Comando:

# scp root@IP_do_servidor:/etc/openvpn/chave /etc/openvpn/chave

Explicando o comando:
  • scp :: programa que faz a cópia do arquivo.
  • root :: usuário do servidor.
  • : :: usado para separar o IP do caminho do arquivo.
  • /etc/open/chave :: caminho completo do arquivo a ser copiado.
  • /etc/openvpn/chave :: arquivo local que receberá o conteúdo do arquivo copiado.

Crie um arquivo para o cliente em "/etc/openvpn/". Exemplo:

# vim /etc/openvpn/cliente.conf

Coloque no arquivo:

dev tun
remote "IP_do_servidor_vpn_sem_aspas"
ifconfig 10.0.0.2 10.0.0.1
secret /etc/openvpn/key
port 5000
comp-lzo
verb 4
keepalive 10 120
persist-key
persist-tun
float


Salve e feche o arquivo.

Inicie o OpenVPN:

# /etc/init.d/openvpn start

Verifique se foi criada uma nova interface de rede.

Ex.: tun0

# ifconfig

Teste a conectividade

No cliente, ping o servidor:

# ping 10.0.0.1

No servidor, ping o cliente:

# ping 10.0.0.2

Com essa configuração, quando as máquinas servidor e cliente reiniciarem, a VPN será criada automaticamente.

* Lembre-se de mudar o IP na opção "remote" no cliente se o IP do servidor mudar.

Pronto.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Tecla Super (tecla Windows) para todos os logins no modo gráfico

Compartilhar impressora multifuncional HP PSC1315 no Samba

Usando repositório Yum para o Webmin e uso seguro desta ferramenta de gerência

Instalando extensões no MediaWiki usando o Git

Como atribuir um rótulo a um pendrive no Linux (ou outro dispositivo USB)

  

Comentários
[1] Comentário enviado por ronaldsantos em 09/07/2013 - 22:51h

Boa noite meu amigo
otimo post
mais me diga uma coisa tem como o cliente ser windows se tiver como me de um exemplo de ele deve ser configurado

[2] Comentário enviado por adrianoti10 em 19/11/2015 - 14:42h


se tiver varios clientes posso criar outras chaves com nome de cada um deles certo ? client1.key cliente2.key e assim por diante, respeitando os ranges de ip ???



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts