Como configuro o DD-WRT para encaminhar o tráfego IPSec para um servidor interno para suportar uma configuração de road warrior?

5

Eu uso dd-wrt como minha configuração de roteador doméstico e está funcionando bem. Agora eu queria descobrir uma maneira de usar meu iPad para configurar um túnel IPSec para minha rede doméstica enquanto estou na estrada.

O PPTP é praticamente inseguro neste momento, portanto, quero usar algo com base no IPSec. Com base no que posso encontrar, o dd-wrt não suporta IPSec. Então eu pensei que poderia ser possível configurar uma caixa linux com o racoon na minha rede doméstica como o terminador de VPN.

Então, em forma gráfica,

iPad (na estrada) ------- [Internet] ------ [dd-wrt @ home] ---- [linuxbox @ home]

No dd-wrt, configurei o seguinte:

  • Encaminhe a porta 500 e 4500 para a caixa linux (udp / tcp)
  • O firewall SPI está ativado
  • IPSec e amp; O repasse de L2TP está ativado

Na caixa linux, o encaminhamento IPv4 está ativado

Aqui está a configuração do racoon

log debug;
#log notify;
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

listen {
        adminsock disabled ;
}

mode_cfg {
        network4 192.168.1.210 ;
        pool_size 10 ;
        netmask4 255.255.255.0 ;
        dns4 192.168.1.1 ;
        wins4 192.168.1.11 ;
}

remote anonymous {
        exchange_mode aggressive ;
        #my_identifier fqdn "vpn.foo.org" ;
        peers_identifier fqdn "vpn.foo.org" ;
        lifetime time 24 hour ;
        proposal_check claim ;
        generate_policy on ;
        nat_traversal on ;
        dpd_delay 20 ;
        proposal {
                encryption_algorithm aes ;
                hash_algorithm sha1 ;
                authentication_method xauth_psk_server ;
                dh_group 2 ;
        }
}

sainfo anonymous {
        pfs_group 2;
        lifetime time 24 hour ;
        encryption_algorithm aes ;
        authentication_algorithm hmac_sha1 ;
        compression_algorithm deflate ;
}

Então, uma bonita configuração de baunilha, eu vou usar o certs mais tarde.

Neste momento, olhando para os logs, racoon é iniciado na caixa do linux, mas por alguma razão, não é vista nenhuma tentativa de negociar tráfego com o iPad, então devo estar perdendo alguma coisa aqui.

O que eu gostaria de saber é descobrir o que está faltando. Eu suspeito que precisa haver alguma configuração feita na caixa dd-wrt para enviar a ID do protocolo IP 50 & 51 tráfego dele para a caixa linux.

Não consigo descobrir as regras do iptables necessárias para encaminhar o IPSec para a VM.

Eu tenho o seguinte, mas suspeito que preciso de alguns pré-ajustes e possivelmente algumas regras pós-venda.

iptables -I FORWARD 23 -p 50 -d 192.168.1.10 -j ACCEPT
iptables -I FORWARD 23 -p 51 -d 192.168.1.10 -j ACCEPT

O seguinte não parece funcionar como esperado.

iptables -t nat -I PREROUTING 2 -p 50 -d $(nvram get wan_ipaddr) -j DNAT --to 192.168.1.10
iptables -t nat -I PREROUTING 2 -p 51 -d $(nvram get wan_ipaddr) -j DNAT --to 192.168.1.10

Notas de investigação:

  • Começou por não conseguir se conectar. Eu suspeitava que precisava modificar o iptables, mas isso não é necessário. A porta de encaminhamento 500 e 4500 para o terminal é suficiente.
  • Parece que o primeiro pacote agora chega ao racoon.
  • saída tcpdump "17: 45: 50.652827 IP wan.isakmp > 192.168.1.10.isakmp: isakmp: fase 1 ident"
  • parece que a negociação começa, MAS pára quando tentamos negociar o tipo de criptografia. pastebin fora do syslog para o racoon: link
  • Agora, passou da parte de negociação e o túnel foi estabelecido depois de solicitar a autenticação. Mas o tráfego não está fluindo.
  • Depois de mais algumas leituras, eu configurei a sub-rede em mode_cfg para uma sub-rede diferente da padrão no endpoint. Eu suspeito que preciso definir uma rota se quiser que as máquinas locais possam conversar com ela.
  • Neste momento, meu problema é que parece que o NAT-T não está funcionando, pois não consigo obter tráfego na Internet.
por jnman 17.02.2013 / 02:19

0 respostas