Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Seti @ Home
Por percival
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

VPN com Openswan e Iptables (fazendo NAT)
Linux user
luizfelipert
14/05/2008
Nesse artigo irei explicar como instalar uma VPN com Openswan criando regras do IPTABLES, fazendo NAT.
Por: Luiz Felipe Resende Tavares
[ Hits: 25798 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Instalação

Primeiro deveremos instalar o openswan. Ele pode ser baixado em:
Depois começa a configuração da VPN.

Criando do arquivo ipsec.secrets

Devemos gerar uma chave para cada máquina. Para isso deveremos executar o comando, nas duas máquinas:

# ipsec newhostkey --output /etc/ipsec.secrets --bits 2048 --hostname nomedamáquina.domínio

Caso haja alguma dúvida quanto ao nome da máquina, basta digitar 'hostname' no terminal.

OBS:
  • --output significa onde será criado o arquivo com a chave;
  • --bits significa com quantos bits será gerada a chave (o mínimo é 512);
  • --hostname é o nome da máquina como já havia comentado.

Editando o arquivo ipsec.conf

config setup
   # Debug-logging controls:  "none" for (almost) none, "all" for lots.
   klipsdebug=none
   plutodebug=none
   nat_traversal=yes
   uniqueids=yes
   interfaces="ipsec0=eth1"  # eth1 é a interface de saída das máquinas

include /etc/ipsec.d/*.conf

conn nomedasuavpn
   type=tunnel
   left=ip_de_saida_da_maquina1
   leftsubnet=subrede_maquina1
   leftrsasigkey=0sAQPbbUaC/......    # é a linha "pubkey" que foi gerada em /etc/ipsec.secrets da máquina 1
   leftnexthop=gateway_da_máquina1
   leftsourceip=ip_interno_da_máquina1
   rightnexthop=gateway_da_máquina2
   right=ip_saída_da_máquina2
   rightsubnet=subrede_da_máquina2
   rightsourceip=ip_interno_da_máquina2
   rightrsasigkey=0sAQOOV.......   # é a linha "pubkey" que foi gerada em /etc/ipsec.secrets da máquina 2"    
   authby=rsasig
   auto=add

OBS:
  • authby=rsasig (significa que vamos usar chave "do tipo" rsa para fazer a comunicação entre as 2 pontas do túnel);
  • auto=add (significa que a máquina irá "receber a conexão" vpn).

Esse arquivo deve ser idêntico nas 2 máquinas do túnel.

IMPORTANTE: Deve-se deixar um espaço (tab) no começo de todas as linhas abaixo de 'coon nomedasuavpn'.

Próxima página >>




Páginas do artigo

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

Comentários
[1] Comentário enviado por irado em 22/10/2008 - 09:40h:

algo não funcionou, creio eu que faltou no artigo:

# /usr/sbin/ipsec auto --up VPN-01
whack: Pluto is not running (no "/var/run/pluto/pluto.ctl")

uso slackware 12.1 e toda a instalação seguiu o recomendado na documentação do OpenSWAN e neste artigo.

alguma sugestão?

[2] Comentário enviado por luizfelipert em 22/10/2008 - 09:47h:

bom dia IRADO... você poderia dar uma olhada na parte do arquivo /etc/ipsec.conf e dar uma conferida no leftnexthop e rightnexthop.... você deve colocar os ips dos gateways...

[3] Comentário enviado por irado em 22/10/2008 - 10:29h:

foi (tri)conferido; nada falta. O que falta mesmo é o tal de pluto, que não faço a minima idéia do que seja (e no artigo não é mencionado)


[4] Comentário enviado por luizfelipert em 22/10/2008 - 10:43h:

você já iniciou o serviço? # /etc/init.d/ipsec start

[5] Comentário enviado por irado em 22/10/2008 - 14:22h:

oi, luiz.

revisei os problemas, googlei pra kct e conclui pelo seguinte:

a) embora mencionados até mesmo nos man/docs do OpenSWAN, NÃO se deve
usar as expressões
klipsdebug=none
plutodebug=none

eu as removi e a coisa começou a andar; depois

b) usei a expressão %defaultroute, ao invés de
interfaces="ipsec0=eth1"
ficando:
interfaces=%defaultroute

também é mencionado no ipsec.conf default, mas enfim.. não funciona, dá
pau e o ipsec não sobe sem essas alterações.

depois disso o treco vai direitinho :)


[6] Comentário enviado por segalla em 02/11/2008 - 06:49h:

o X da questão resolveu meu problema após 20 horas, sem essa po**a minhas lans só se pingavam mas nao acessava nada.

pena que não vi isso antes.

valeu

segalla

[7] Comentário enviado por flph2 em 27/11/2008 - 10:40h:

Isso ocorreu devido o Openswan isntalado estar utilizando a Stack nativa do kernel.. netkey (aka26), os parametros para debug adicionados são utilizados somente para o Klips que no Openswan só pode ser utilizado nas versões 2.4.X através de patch e nas versões superiores deve ser adicionado um parâmetro em tempo de compilação, por isso o debug nao funcionou.... (nao tem klips, vai debugar o que?)

att..
Felipe Santos - Rasputin
Comunidade Openswan-BR
www.br.openswan.br

[8] Comentário enviado por diter em 09/04/2009 - 11:20h:

Oi Felipe, muito obrigado por suas dicas, mas infelizmente não consigo pingar as estações, quando uso o comando:
tail /etc/log/auth.log | grep -i pluto
Apresenta varias msg e uma delas me chama a atenção:
I did not send a certificate because I do not have one.

Abes o que poderia ser?

Obrigado


[9] Comentário enviado por luizfelipert em 13/04/2009 - 13:48h:

Boa tarde Diter, você criou os certificados usando o seguinte comando?

ipsec newhostkey --output /etc/ipsec.secrets --bits 2048 --hostname nomedamáquina.domínio


abraços


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.