Come configurare strongswan o openswan per IPSEC puro con client iPhone?


21

Ho problemi a trovare informazioni concrete e aggiornate su come configurare strongswan o openswan per essere utilizzato dal client VPN dell'iPhone. Il mio server è dietro un router NAT linksys budget.

Ho trovato questo , ma menziona un sacco di file .pem senza riferimenti su come crearli. Sfortunatamente, i manuali "eccellenti" per entrambi i pacchetti erano abbastanza imperscrutabili e ostili per un principiante. Ho già installato OpenVPN e sono riuscito a ottenere risultati utili molto rapidamente, ma dopo un giorno e mezzo di lettura di documenti obsoleti, non so nemmeno da dove cominciare.

Qualsiasi aiuto sarebbe molto apprezzato!

Risposte:


23

questo aiuta?
Saluti, Willem M. Poort

StrongSwan mini Howto Debian 5

install strongswan + openssl
apt-get install strongswan openssl

Crea il tuo file CA:

cd /etc/ipsec.d
openssl req -x509 -days 3650 -newkey rsa:2048 -keyout \
private/strongswanKey.pem -out cacerts/strongswanCert.pem
cp cacerts/strongswanCert.pem certs/

Se si preferisce che i certificati CA siano in formato DER binario, il seguente comando ottiene questa trasformazione:

openssl x509 -in cacerts/strongswanCert.pem -outform DER -out \ 
cacerts/strongswanCert.der

Modifica /etc/ssl/openssl.conf ( /usr/lib/ssl/openssl.cnfè un collegamento simbolico):

nano -w /usr/lib/ssl/openssl.cnf

Modifica i parametri per adattarli al tuo ambiente forte.

[ CA_default ] 

dir     = /etc/ipsec.d              # Where everything is kept 
certificate = $dir/cacerts/strongswanCert.pem       # The CA certificate 

private_key = $dir/private/strongswanKey.pem        # The private key 

Crea DIR e file mancanti:

mkdir newcerts
touch index.txt
echo “00” > serial

Genera un certificato utente:

openssl req -newkey rsa:1024 -keyout private/hostKey.pem \
    -out reqs/hostReq.pem

Firmalo per due anni:

openssl ca -in reqs/hostReq.pem -days 730 -out \
    certs/hostCert.pem -notext

Di solito un client VPN basato su Windows richiede la sua chiave privata, il suo certificato host o utente e il certificato CA. Il modo più conveniente per caricare queste informazioni è mettere tutto in un file PKCS # 12:

openssl pkcs12 -export -inkey private/hostKey.pem \
    -in certs/hostCert.pem  \
    -name "host" \ 
    -certfile cacerts/strongswanCert.pem \
    -caname "strongSwan Root CA" \
    -out host.p12

Modifica /etc/ipsec.secrets:

:RSA strongswanKey.pem “pempassword”
:XAUTH user "secret"

Modifica /etc/ipsec.conf:

config setup
    plutodebug=none
    uniqueids=yes
    nat_traversal=yes
    interfaces="%defaultroute"

conn %default
    authby=rsasig
    leftrsasigkey=%cert
    rightrsasigkey=%cert
    keyingtries=1
    keylife=20m
    ikelifetime=240m

conn iphone
    auto=add
    dpdaction=clear
    authby=xauthrsasig
    xauth=server
    pfs=no
    leftcert=strongswanCert.pem
    left=<serverip>
    leftsubnet=0.0.0.0/0
    right=%any
    rightsourceip=<virtual client ip>   #local VPN virtual subnet
    rightcert=hostCert.pem

Sull'iPhone

  1. Importa il Certificato iPhone client in formato p12
  2. Importare il certificato CA in formato pem
  3. Configurare una VPN IPSEC con il certificato iphone-client e utilizzare come server il nome DNS (nome DynDNS). Deve essere uguale a quello nel certificato del server

Per importare i certificati sul tuo iPhone basta inviarli via email a te stesso! Quando crei ipsec vpn sul tuo iPhone puoi selezionare il certificato.

Ricordati che devi configurare iptables se vuoi NAT. (Cerca in fwbuilder)


1
+1 brillante. Lo esaminerò quando avrò un po 'di tempo durante le vacanze e tornerò da te. Grazie mille per l'aiuto.
Shabbyrobe,

Ciao, grazie Willem M. Poort, ho usato il tuo mini-howto per provare a connettere il mio iPhone e il mio server VPN con Ubuntu 10.10 ma qualcosa è andato storto ... hai una guida o un link più specifico da suggerire? grazie ancora! Fabio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.