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:
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:
Tags networking vpn iptables ipsec dd-wrt