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.720 ]
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
Como contribuir para projetos abertos no GitHub
Acessando computadores remotos protegidos por NAT ou firewall com túnel SSH reverso direcionado por DNS dinâmico
Servidor de monitoramento Nagios
Terceira experiência com o Basic Linux
Transmissão de áudio e vídeo via Multicast
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