VPN com Openswan e Iptables (fazendo NAT)
Nesse artigo irei explicar como instalar uma VPN com Openswan criando regras do IPTABLES, fazendo NAT.
[ Hits: 60.733 ]
Por: Luiz Felipe Resende Tavares em 14/05/2008
Criando as regras do iptables
#!/bin/bash
rede1=192.168.10.0/25 # é a subrede de uma das pontas da VPN
rede2=10.0.0.0/25 # subrede de outra ponta da vpn
modprobe ip_nat_ftp
modprobe iptable_nat
if [ "$#" = 0 ]
then
echo "Sintaxe: rc.nat start ou rc.nat stop"
exit 2
fi
if [ "$1" = start ]
then
# Fornece acesso a internet. Esse é o "X" da questão. Só vai mascarar o que não for para $rede1
iptables -t nat -A POSTROUTING -d ! $rede1 -o eth1 -j MASQUERADE
# Habilita as portas do IPSEC
iptables -A INPUT -p udp --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT
iptables -A INPUT -p 50 -j ACCEPT
iptables -A OUTPUT -p 50 -j ACCEPT
iptables -A INPUT -p 51 -j ACCEPT
iptables -A OUTPUT -p 51 -j ACCEPT
iptables -A INPUT -p tcp --sport 2020 --dport 2020 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 2020 --dport 2020 -j ACCEPT
exit 0
fi
if [ "$1" = stop ]
then
iptables -t nat -F
exit 0
fi
Editando o arquivo /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
...
net.ipv4.conf.default.rp_filter = 0
Deixar as outras linhas desse arquivo iguais, apenas alterar esses 2 valores. Deixar o resto como está.
Página anterior Próxima página
Páginas do artigo
1.
Instalação
2. Criando as regras do iptables
3.
Levantando e testando o serviço da VPN
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada
PLC no Linux alguém já pensou nisso?
GNU Emacs (Intro)
5 coisas que todo aluno de Sistemas de Informação deveria saber (e fazer)...
O que é Orientação a Objeto - Mais uma tentativa
Masterização de VCD's com menu interativo
Comentários
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?
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...
Mensagem
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...
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)
Mensagem
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)
você já iniciou o serviço? # /etc/init.d/ipsec start
Mensagem
você já iniciou o serviço? # /etc/init.d/ipsec start
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 :)
Mensagem
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 :)
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
Mensagem
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
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
Mensagem
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
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
Mensagem
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
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
Mensagem
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
boa tarde
como eu faço para criar apos subir a VPN uma interface virtual IPSEC0?
Mensagem
boa tarde
como eu faço para criar apos subir a VPN uma interface virtual IPSEC0?
Olá, saudações a todos.
Pessoal estou fazendo um lab em cima da plataforma CentOS.
já instalei todos os pacotes necessários para casa host do CentOS, mas parece que não tiver sucesso.
Segue a topologia que eu uso.Tenho um PFsense no meio dos dois hosts com a rede, ele também tem acesso a internet, então assim ele tem três interfaces de rede.
ele é como se fosse uma internet para os hosts, sei que já deu para entender. : ) Ele tem uma interface para a rede 10.10.10.0/24 e outra para a rede 10.30.30.0/24, cada Linux já está configurado o arquivo do /etc/ipsec.conf. Cada uma das Distros consegue pingar a outra, então está tudo ok, mas não sei o que está acontecendo. nunca usei o openswan antes.
segue o link que postei no fórum.
http://www.vivaolinux.com.br/topico/CentOSBR/Configuracao-do-Openswan-site-to-site/?pagina=1
Mensagem
Olá, saudações a todos.
Pessoal estou fazendo um lab em cima da plataforma CentOS.
já instalei todos os pacotes necessários para casa host do CentOS, mas parece que não tiver sucesso.
Segue a topologia que eu uso.Tenho um PFsense no meio dos dois hosts com a rede, ele também tem acesso a internet, então assim ele tem três interfaces de rede.
ele é como se fosse uma internet para os hosts, sei que já deu para entender. : ) Ele tem uma interface para a rede 10.10.10.0/24 e outra para a rede 10.30.30.0/24, cada Linux já está configurado o arquivo do /etc/ipsec.conf. Cada uma das Distros consegue pingar a outra, então está tudo ok, mas não sei o que está acontecendo. nunca usei o openswan antes.
segue o link que postei no fórum.
http://www.vivaolinux.com.br/topico/CentOSBR/Configuracao-do-Openswan-site-to-site/?pagina=1
Contribuir com comentário
Enviar