Openswan - Configurando uma conexão VPN Site-to-Site e simulando com GNS3

O Openswan é uma ferramenta indispensável para conectar dois sites de forma segura através da internet. Nesse artigo além de mostrar a instalação e configuração do Openswan no Debian Jessie, será simulado todo o ambiente utilizando o GNS3.

[ Hits: 15.003 ]

Por: Sergei Martao em 23/11/2015


Instalação e configuração do Openswan



Quando comecei a montar o ambiente tive uma surpresa ao descobrir que o Openswan não está disponível no repositório oficial do Debian 8 Jessie, para instalar precisei usar o sources.list do Debian 7 Wheezy.

Caso utilize Openswan no Debian 8 deixe nos comentários como está o funcionamento do serviço, pois não testei a fundo se existia alguma incompatibilidade ou instabilidade.

Instalando o Openswan, executar nos servidores D8-FW01 e D8-FW02:

# apt-get update
# apt-get install openswan

Configurando o Openswan, editar arquivo ipsec.conf, deixar a mesma configuração em ambos os servidores.

# vim /etc/ipsec.conf

Esse é o principal arquivo de configuração do IPsec, poderíamos configurar todos os túneis aqui, porém acho pouco prático, por isso sempre adiciono a linha include "/etc/ipsec.d/ipsec.*",com isso qualquer arquivo salvo no diretório /etc/ipsec.d/ e que comece com ipsec é lido e pode se tornar uma conexão VPN, bem interessante para quando temos muitos túneis VPN com empresas e escritórios diferentes. Deixe o arquivo com o seguinte conteúdo:

# /etc/ipsec.conf - Openswan IPsec configuration file
# This file:  /usr/share/doc/openswan/ipsec.conf-sample
#
# Manual:     ipsec.conf.5
version 2.0
# basic configuration
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
nhelpers=0
protostack=netkey
plutodebug=none
klipsdebug=none
# Add connections here
include /etc/ipsec.d/ipsec.*

Devemos criar o arquivo de conexão VPN IPsec, a única regra nesse caso é que o nome do arquivo deve começar com ipsec. É interessante colocar um nome para identificar a conexão de formar fácil, gosto de usar a seguinte nomenclatura:

ipsec.empresa.destino

Sendo assim o nome do arquivo ficará:
  • Site-A: ipsec.xpto.site-b
  • Site-B: ipsec.xpto.site-a

Criar o arquivo de conexão do IPsec com o Site-B, para o servidor D8-FW02:

# vim /etc/ipsec.d/ipsec.xpto.site-b

Deixar com o seguinte conteúdo:

conn xpto-site-b1
   type=tunnel
   left=201.27.8.2
   leftsubnets={172.16.0.0/24172.16.10.0/24}
   leftnexthop=201.27.8.1
   right=187.8.230.2
   rightsubnet=192.168.0.0/24
   authby=secret
   auth=esp
   keylife=24h
   keyexchange=ike
   ike=3des-md5-modp1024
   esp=3des-md5-96
   rekey=no
   rekeymargin=8h
   rekeyfuzz=25%
   pfs=no
   auto=start

Criar o arquivo de conexão do IPsec com o Site-A, para o servidor D8-FW01:

# vim /etc/ipsec.d/ipsec.xpto.site-a

Deixar com o seguinte conteúdo:

conn xpto-site-a
    type=tunnel
    left=187.8.230.2
    leftsubnets=192.168.0.0/24
    leftnexthop=187.8.230.1
    right=201.27.8.2
    rightsubnets={172.16.10.0/24,172.16.0.0/24}
    authby=secret
    auth=esp
    keylife=24h
    keyexchange=ike
    ike=3des-md5-modp1024
    esp=3des-md5-96
    rekey=no
    rekeymargin=8h
    rekeyfuzz=25%
    pfs=no
    auto=start

Os únicos itens que precisam ser alterados são:
  • conn - Nome do túnel VPN, muito utilizada para troubleshooting, uso o mesmo conceito do nome do arquivo, empresa-destino. Todavia pode-se deixar igual o nome em ambos os sites que não causa problema, é mais questão de identificação.
  • left - É o IP válido do site em que se está (Peer).
  • leftsubnets - Redes que o site possui e entraram no túnel, caso seja mais de uma deve se utilizar chaves e vírgula para separar as redes.
  • leftnexthop - IP do gateway do IP válido.
  • right - IP válido do site remoto que fará a conexão (Peer).
  • rightsubnet - Redes que o site remoto possui ao entrar no túnel, caso seja mais de uma deve se utilizar chaves e vírgula para separar as redes.

Precisamos ainda configurar o arquivo ipsec.secrets, responsável pela senha usado entre os Peers.

Editar o arquivo ipsec.secrets em ambos os hosts:

# vim /etc/ipsec.secrets

A configuração é simples:

left right: PSK "senha"

No D8-FW02 deixar com o seguinte conteúdo:

201.27.8.2 187.8.230.2: PSK "123456"

No D8-FW01 deixar com o seguinte conteúdo:

187.8.230.2 201.27.8.2: PSK "123456"

Basta habilitar e iniciar o serviço IPsec em ambos os servidores

# systemctl enable ipsec
# systemctl start ipsec

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando VMs e host hospedeiro
   3. Instalação e configuração do Openswan
   4. Validar funcionamento da VPN IPsec
Outros artigos deste autor

Utilizando o script vpnautomatica

Configurando o segundo default gateway para um link de entrada específico

Simulando redes com o GNS

Planejando e migrando softwares do Windows para o Linux

Criando um template customizado para o CACTI

Leitura recomendada

Openconnect - Conexão de VPN Paloalto no Debian

Testando velocidade entre equipamentos Ubiquiti

FreeRadius 3 + iODBC + Base de Dados em MS SQL Server 2008 no Ubuntu Server - Guia definitivo

Asterisk - Configuração de Ramais SIP

Docker - Containers em Linux (parte 2)

  
Comentários
[1] Comentário enviado por weidsom em 05/12/2015 - 19:44h


Valeu fera belo artigo!

[2] Comentário enviado por sergeimartao em 07/12/2015 - 23:14h

Fico feliz que tenha gostado, vlw!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts