VPN ponto a ponto com chaves estáticas

Publicado por janael pinheiro em 28/06/2013

[ Hits: 11.067 ]

 


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

Solucionando problema de pppoeconf no Ubuntu

Dual boot: Ubuntu 14.04 + Windows 8 UEFI (completo)

FlareGet, acelerador de downloads no Ubuntu

Criando um Squid totalmente empresarial

Java no Ubuntu 7.10 (via Apt)

  

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