IPsec Xauth RSA - VPN Debian 7 e Android 4.4 (sempre ligada) e Mac OS X 10.9.2 VPN (sob demanda)

1

Instalei com êxito o IPSec Xauth RSA usando esta instrução:

Em resumo:

apt-get install ipsec-tools racoon
chmod 700 /etc/racoon/certs
cd /etc/racoon/certs
openssl req -new -x509 -extensions v3_ca -out myca.crt -keyout myca.key -days 3650
openssl req -new -keyout myserver.key -out myserver.csr -days 3650
openssl x509 -req -in myserver.csr -CA myca.crt -CAkey myca.key -CAcreateserial -out myserver.crt
chmod 600 myserver.key
openssl rsa -in myserver.key -out myserver.key
openssl req -new -keyout myphone.key -out myphone.csr -days 3650
openssl x509 -req -in myphone.csr -CA myca.crt -CAkey myca.key -CAcreateserial -out myphone.crt
openssl pkcs12 -export -in myphone.crt -inkey myphone.key -certfile myca.crt -name myphone -out myphone.p12

e depois no racoon.conf:

path certificate "/etc/racoon/certs";

timer {
    # NOTE: varies between carriers
    natt_keepalive 45 sec;
}

listen {
    isakmp 106.187.34.245[500];
    isakmp_natt 106.187.34.245[4500];
}

remote anonymous {
    exchange_mode aggressive,main;
    my_identifier asn1dn;

    certificate_type x509 "myserver.crt" "myserver.key";
    ca_type x509 "myca.crt";
    peers_certfile x509 "myphone.crt";

    passive on;
    proposal_check strict;
    generate_policy on;
    nat_traversal force;

    proposal {
        encryption_algorithm aes256;
        hash_algorithm sha1;
        authentication_method xauth_rsa_server;
        dh_group modp1024;
    }
}

sainfo anonymous {
    encryption_algorithm aes256;
    authentication_algorithm hmac_sha1;
    compression_algorithm deflate;
}

log info;

mode_cfg {
    auth_source system;
    conf_source local;
    accounting system;
    network4 10.44.0.0;
    netmask4 255.255.255.255;
}

O Android está conectado à VPN com as seguintes configurações:

Type: IPSec Xauth RSA
IPSec user certificate: myphone
IPSec CA certificate: myphone
IPSec server certificate: (received from server)

E ele se conecta com sucesso. Eu posso navegar sites (alguns deles não carrega e em alguns deles eu tenho atrasos, mas isso está ok por enquanto), use outros aplicativos que requer conexão para que ele funcione.

Infelizmente, não consigo descobrir como conectar meu macbook a essa VPN.

Eu importei certificados para o keychain do sistema, criei o Cisco IPSec VPN, selecionei o certificado myphone como o certificado da máquina, configurei o usuário / pwd. Depois de clicar em Conectar, exibe "Não foi possível validar o certificado do servidor".

No syslog no servidor:

Apr 19 19:12:50 playground racoon: INFO: Adding remote and local NAT-D payloads.
Apr 19 19:12:51 playground racoon: INFO: NAT-T: ports changed to: 2.30.143.181[4501]<->109.74.205.143[4500]
Apr 19 19:12:51 playground racoon: INFO: KA found: 109.74.205.143[4500]->2.30.143.181[4501] (in_use=7)
Apr 19 19:12:51 playground racoon: INFO: Sending Xauth request
Apr 19 19:12:51 playground racoon: [2.30.143.181] INFO: received INITIAL-CONTACT
Apr 19 19:12:51 playground racoon: INFO: ISAKMP-SA established 109.74.205.143[4500]-2.30.143.181[4501] spi:72cc05a48011e3e6:9b2eef1f1823779b
Apr 19 19:12:51 playground racoon: ERROR: ignore information because the message is too short - 76 byte(s).

Se eu alterar o certificado do servidor IPSec no dispositivo Android, ele exibirá a mensagem de erro semelhante (muito curta), então acho que preciso incluir o certificado do servidor nas configurações do Android ou definir opções semelhantes nas configurações de VPN do Mac OS (talvez em arquivos de configuração?).

Alternativamente, ficaremos felizes se você me informar sobre alguma solução de trabalho para configurar um servidor VPN Debian que suporte a conexão VPN Always-On do Android e a VPN On-demand do Mac OS X / iPhone.

    
por Alex Netkachov 20.04.2014 / 01:20

0 respostas