Pular para o conteúdo

VPN básica site-to-site com IPsec

Dica publicada em Linux / Introdução
Rodrigo Garcia r.garcia
Hits: 44.684 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

VPN básica site-to-site com IPsec

Olá a todos!

Este case surgiu de uma necessidade de ligar uma unidade distante com a nossa sede, sem precisar gastar muito, pois no lugar existem apenas dois funcionários.

Meu último desafio (nem foi tão grande assim) foi conectar uma unidade do litoral à nossa sede. Os usuários conectavam-se via PPTP, mas não estava muito legal dessa forma. A solução encontrada: criar um túnel site-to-site através de IPsec.

Para a unidade foi utilizado um roteador Cisco RV042 pelo fato de ser uma unidade bem pequena, não tendo muito espaço para comportar equipamentos maiores (como é de minha preferência). Na sede, utilizei uma máquina com Ubuntu Server.

Na ponta da sede, o que fiz foi instalar o pacote OpenSwan:

# apt-get install openswan

E editar os seguintes arquivos: /etc/ipsec.conf

config setup
     plutodebug=all
     #nat_traversal=on #Caso a máquina que conectará esteja atrás de um firewall
     oe=off
     protostack=netkey
     interfaces=%none

conn Unidade  #Trocar o nome "Unidade" para qualquer outro que desejar
     left=0.0.0.0  #IP público local
     leftsourceip=1.1.1.1  #IP da máquina que fará a conexão
     leftsubnet=1.1.1.0/24  #IP da rede que a outra ponta deverá enxergar
     leftnexthop=0.0.0.1  #Gateway do IP público local
     right=2.2.2.2  #IP público da unidade
     rightsourceip=3.3.3.3  #IP da máquina da unidade que fará a conexão
     rightsubnet=3.3.3.0/24  #IP da rede da unidade
     rightnexthop=2.2.2.1  #Gateway do IP público da unidade
     authby=secret
     auto=start
     auth=esp
     rekey=yes
     keyingtries=0
     keyexchange=ike
     ike=3des-md5;modp1024
     ikelifetime=3600s
     esp=3des-md5;modp1024
     keylife=28800s
     pfs=no
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Em seguida, devemos configurar o arquivo /etc/ipsec.secrets (no Ubuntu, o arquivo é: /var/lib/openswan/ipsec.secrets.inc):

0.0.0.0 %any : PSK "chavequevocequiser"

A configuração acima permite que qualquer máquina que tenha as configurações adequadas e a mesma chave configurada acima, conecte-se ao túnel. Caso não queira essa configuração, basta alterar "%any" para o IP público da outra ponta.

Caso o túnel esteja configurado no firewall, é necessário adicionar a seguinte regra:

iptables -A INPUT -p udp --dport 500 -j accept

Caso esteja em uma máquina atrás do firewall, a regra muda para:

iptables -t nat -A PREROUTING -p udp -d ip_publico --dport 500 -j DNAT --to ip_da_máquina

E também essa:

iptables -t nat -A PREROUTING -p udp -d ip_publico --dport 4500 -j DNAT --to ip_da_máquina

Agora é só configurar a outra ponta, que pode ser outra máquina GNU/Linux ou um equipamento, como o Cisco RV042, utilizando as mesmas configurações, porém não esquecendo de fazer as devidas alterações de IPs.

* Lembrando: Essa é uma VPN básica. Existem muito mais recursos de segurança a serem explorados, e cabe a cada um decidir o que é necessário para cada caso.

Esta dica também foi publicada em: ::Unix for Life::: IPSec

Espero que tenha sido útil.
Até a próxima!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Mudando tipo de autenticação do Squid para algumas máquinas

Utilizando delay_class 4 do Squid 3 Integrado ao AD

Discos de storage em Red Hat EL5

Autenticação do Squid no Winbind 2.4 (Debian 8)

Comandos úteis do HP-UX para administradores GNU/Linux

Instalando placa wireless Realtek chipset RTL8185 Slackware 11

Instalando e configurando streaming de arquivo MP4 no FFmpeg - Ubuntu Server

Configurando a página inicial dos browsers por script

Configurando o ADSL no Debian GNU/Linux

Terminator - O multi-terminal do Linux

#1 Comentário enviado por yorkb4l4 em 08/06/2013 - 23:23h
rodrigo achei seu artigo muito interessante e estarei enfrentando um problema similar daqui a alguns dias, criarei uma vpn no centos(simples-procurando bom tutorial) para uma matriz onde terei 5 notebooks usando windows e gostaria de me conectar atraves de meu portatil na mesma rede teria como me dar uma luz?

obrigado antecipadamente, raphael
#2 Comentário enviado por jptudobem em 24/09/2013 - 23:26h
O parametro left onde eu configuro o IP público, eu tenho que necessariamente configurar um endereço IP ou posso configurar com um hostname?

Contribuir com comentário

Entre na sua conta para comentar.