VPN com Openswan e Iptables (fazendo NAT)
Nesse artigo irei explicar como instalar uma VPN com Openswan criando regras do IPTABLES, fazendo NAT.
Instalação
Primeiro deveremos instalar o openswan. Ele pode ser baixado em:
Depois começa a configuração da VPN.
# 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:
OBS:
IMPORTANTE: Deve-se deixar um espaço (tab) no começo de todas as linhas abaixo de 'coon nomedasuavpn'.
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
# 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).
IMPORTANTE: Deve-se deixar um espaço (tab) no começo de todas as linhas abaixo de 'coon nomedasuavpn'.
# /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?