Arquivos históricos do BR-Linux.org apresenta:

Freeswan com IP Dinâmico (DHCP)

O Luiz Ignatti (lcijunior@uol.com.br) mandou um tutorial bastante completo sobre a instalação de VPNs baseadas no Freeswan quando o endereço IP de uma das pontas da conexão é dinâmico. Confira abaixo o texto dele:

Freeswan com IP Dinâmico (DHCP)

Luiz Ignatti - lcijunior@uol.com.br

Neste documento venho explicar uma situação que me apareceu aqui na empresa e para a qual não achei nenhum tipo de material em Português, o que em situãções de emergência pode ajudar e muito, e o outro problema que enfrentei foi com relação ao exemplo desse tipo de configuração que existe no site do próprio freeswan que vamos por assim dizer, não funcionou.... Talvez porque o objetivo desse documento seja um pouco diferente, mas nada que algumas adaptações não resolvam...

O cenário que eu tinha era de uma VPN Net-to-Net interligando uma matriz com uma filial da empresa, porém o ADSL dessa filial tem IP dinâmico.

Para trabalhar com o freeswan com IP dinâmico a própria documentação do site explica que devemos utilizar a configuração chamada de Road Warrior.

Procedimento

Agora vamos ao que interessa:

Para montar esse ambiente, de um lado tenho uma máquina com RedHat 8.0 e do outro um Debian 3.0.

Para instalar o freeswan no Red Hat é bem simples, basta ir ao próprio site do projeto e baixar os RPMs próprios para seu Kernel (no meu caso baixei a versão 1.99 do freeswan). Feitos os downloads basta instalar os RPMs fazer as configurações que mostrarei abaixo e pronto, não precisa compilar Kernel, passar patch nem nada disso... :-)

Já no Debian tive um pouquinho mais de trabalho, pois apesar de existir o pacote .deb do freeswan (versão 1.96) nessa distro precisamos instalar o patch que também está em formato .deb (apt-get install kernel-patch-freeswan) e compilar o Kernel com suporte ao IPSec. No meu caso fiz a instalação do Debian com Kernel 2.2 e depois fiz o update para o Kernel 2.4.21. O procedimento para passar o patch e recompilar o kernel está disponével em vários sites, por isso não entrarei nessa questão. Depois de compilar o kernel, apt-get install freeswan.

Feitas as instalações vamos a configuração das máquinas:

Para trabalhar dentro do /etc/ipsec.conf nessa situação, vamos ter em mente um conceito passado pelo próprio exemplo do site do freeswan que é "Left is Local, Right is Remote".


- Na máquina que será nosso "Servidor" (Matriz) e que tem o IP fixo o arquivo deve ficar da seguinte forma:


# basic configuration
config setup
# THIS SETTING MUST BE CORRECT or almost nothing will work;
# %defaultroute is okay for most simple cases.
interfaces=%defaultroute
# Debug-logging controls: "none" for (almost) none, "all" for lots.
klipsdebug=none
plutodebug=none
# Use auto= parameters in conn descriptions to control startup actions.
plutoload=%search
plutostart=%search
# Close down old connection when new one using same ID shows up.
uniqueids=yes

# defaults for subsequent connection descriptions
# (mostly to fix internal defaults which, in retrospect, were badly chosen)
conn %default
keyingtries=0
disablearrivalcheck=no
authby=rsasig

conn Matriz-Filial

left=200.xxx.xxx.xxx # IP válido do "Servidor"
leftnexthop=200.xxx.xxx.1 # Gateway do "Servidor"
leftid=@host.dominio.com.br # Identificação do "Servidor"
leftsubnet=192.168.1.0/xx # Rede interna Matriz
leftrsasigkey=0eAO... # Chave de encriptação "Servidor"
rightnexthop=%defaultroute # Roteador para o "Cliente" (Rota padrão do micro)
right=%any # Como o IP válido remoto é dinâmico... ("Cliente")
rightid=@host2.dominio.com.br # Identificação do "Cliente"
rightsubnet=192.168.2.0/24 # Rede interna Filial
rightrsasigkey=0eAW... # Chave de encriptação "Cliente"
auto=add # A conexão ira iniciar "manualmente" nesse caso, quando o "Cliente" estabelecer a conexão.

- Na máquina que será nosso "Cliente" (Filial) e que tem o IP dinâmico o arquivo deve ficar da seguinte forma:


# basic configuration
config setup
# THIS SETTING MUST BE CORRECT or almost nothing will work;
# %defaultroute is okay for most simple cases.
interfaces=%defaultroute
# Debug-logging controls: "none" for (almost) none, "all" for lots.
klipsdebug=none
plutodebug=none
# Use auto= parameters in conn descriptions to control startup actions.
plutoload=%search
plutostart=%search
# Close down old connection when new one using same ID shows up.
uniqueids=yes

conn %default
keyingtries=0
disablearrivalcheck=no
authby=rsasig

conn Matriz-Filial

left=%defaultroute # Roteador Interner do "Cliente"
leftsubnet=192.168.2.0/24 # Rede interna Filial
#leftnexthop=200.190.100.97 # Aqui está o erro do tutorial do site do freeswan ***
leftid=@host2.dominio.com.br # Identificação do "Cliente"
leftrsasigkey=0eAW... # Chave de encriptação do "Cliente"
right=200.xxx.xxx.xxx # IP válido da máquina remota ("Servidor")
rightnexthop=200.xxx.xxx.1 # Gateway do "Servidor"
rightsubnet=192.168.1.0/24 # Rede interna Matriz
rightid=@host.dominio.com.br # Identificação do "Servidor"
rightrsasigkey=0eAO... # Chave de encriptação do "Servidor"
auto=start # A conexão ira iniciar quando o ipsec for "startado"

*** Se colocarmos a configuração do leftnexthop o freeswan não sobe pois essa é uma
configuração inválida para conexão RoadWarrior.

Feitas as configurações é só "startar" o ipsec (freeswan) nas duas máquinas e verificar se a conexão foi estabelecida. Uma boa forma para se fazer isso é usar o comando:

#ipsec look - Se ele retornar umas linhas com uma espécie de layout da conexão, indicando os IPS, MacAddress e no final indicar uma tabela de roteamento para a VPN é sinal que funcionou...

Uma outra ferramenta que pode ser usada é o "tcpdump -i interface" e ver se há algum tráfego nessa interface, mas o melhor teste de todos é mesmo o bom e velho ping, vá em uma estação de um lado da VPN e tente pingar uma estação do outro lado da VPN. *Obs: A partir de um dos gateways você não conseguirá pingar uma máquina da rede do outro lado.

Requisitos

Agora um pequeno checklist que pode parecer bobo mas é para termos certeza que está tudo OK:

- O roteamento do Linux deve estar habilitado. Para isso verifique o arquivo /proc/sys/net/ipv4/ip_forward que deve estar com status 1.

- Caso você use firewall na sua rede, não se esqueça de abrir a comunicação para os seguintes
protolocos/portas:
- Protocolo 50 (ESP)
- Protocolo 51 (AH)
- Porta 500 UDP (ISAKMP)

- Se você utiliza NAT, tome o cuidado de não mascarar nada que tenha como origem uma das redes e como destino a outra rede.

Outra dica importante é que caso algo não esteja funcionando, recorra aos logs do freeswan em /var/log/messages pois eles indicam a origem de muitos problemas.

Que eu me lembre é isso... Espero ter colaborado um pouco para diminuir uma eventual dor de cabeça para alguém.


Referências

Documentação do próprio site do freeswan

São google

Autor: Luiz Ignatti - lcijunior@uol.com.br

Postado por brain em agosto 23, 2003 10:08 PM

Comentários para "Freeswan com IP Dinâmico (DHCP)"

» Postado por: Paulo Sergio em setembro 11, 2003 09:18 PM, 200.140.68.:

 

» Postado por: Paulo Sergio em setembro 11, 2003 09:32 PM, 200.140.68.:

 

» Postado por: cleber em outubro 8, 2003 02:31 PM, 200.158.130:

 

» Postado por: kleber Sousa em outubro 16, 2003 01:18 AM, 200.227.60.:

 

» Postado por: Diego em outubro 16, 2003 12:41 PM, 200.96.96.1:

 

» Postado por: cidartha em outubro 30, 2003 12:04 PM, 143.107.255:

 

» Postado por: lpereira em novembro 27, 2003 07:20 PM, 200.149.174:

 

» Postado por: klifton em dezembro 6, 2003 02:08 PM, 200.181.199:

 

» Postado por: leandro.teixeira@ig.com.br em dezembro 14, 2003 05:59 PM, 200.234.86.:

 

» Postado por: David em janeiro 8, 2004 11:09 AM, 200.222.65.:

 

» Postado por: airton moraes em janeiro 13, 2004 10:27 PM, 200.153.222:

 

» Postado por: Paulo Augusto em fevereiro 2, 2004 10:02 AM, 200.162.150:

 

» Postado por: Leonardo Pinto em maio 28, 2004 03:10 PM, 200.164.31.:

 

» Postado por: Joao Vieira em junho 25, 2004 10:02 AM, 201.1.152.1:

 

» Postado por: blackjack em agosto 16, 2004 07:09 PM, 213.201.177:

 

» Postado por: free credit reports em agosto 31, 2004 05:16 PM, 210.15.223.:

 

» Postado por: texas holdem em setembro 3, 2004 12:43 AM, 62.121.83.1:

 

» Postado por: online texas hold em em setembro 3, 2004 11:50 AM, 66.232.12.1:

 

» Postado por: high risk merchant account em setembro 3, 2004 11:58 AM, 63.70.62.16:

 

» Postado por: credit card processing em setembro 4, 2004 08:39 AM, 211.185.38.:

 

» Postado por: inkjet cartridges em setembro 6, 2004 01:29 AM, 80.227.109.:

 

» Postado por: slots em setembro 7, 2004 04:22 PM, 62.60.131.1:

 

» Postado por: merchant accounts em setembro 8, 2004 11:12 AM, 24.199.170.:

 

» Postado por: internet merchant account em setembro 9, 2004 04:40 AM, 202.155.18.:

 

» Postado por: Briana Banks em setembro 9, 2004 05:43 PM, 211.185.38.:

 

» Postado por: Roulette em setembro 19, 2004 11:43 PM, 81.196.182.:

 

» Postado por: Mulling Spice em setembro 26, 2004 03:53 PM, 213.4.105.2:

 

» Postado por: web cams em setembro 26, 2004 09:02 PM, 63.245.15.2:

 

» Postado por: Mexico em setembro 26, 2004 11:01 PM, 80.53.47.14:

 

» Postado por: Pins & Buttons em setembro 27, 2004 12:13 AM, 217.219.57.:

 

» Postado por: Electric Blues Guitar em setembro 27, 2004 07:09 AM, 217.56.229.:

 

» Postado por: Gran Canaria em setembro 28, 2004 06:28 AM, 213.112.195:

 

» Postado por: Black em outubro 1, 2004 10:28 AM, 213.112.195:

 

» Postado por: SEX CAMS em outubro 3, 2004 10:26 PM, 217.144.0.1:

 

» Postado por: SEX CAMS em outubro 6, 2004 05:28 PM, 202.83.174.:

 

Antes de comentar...

- Preserve a qualidade desta discussão
- Leia os Termos de Uso.
- Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum.
- Mantenha o foco nos argumentos e no assunto
- Não faça ataques pessoais.
- Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro
- Não seja um e-mala ;-)


O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.