Wie richte ich strongswan oder openswan für reines IPSEC mit dem iPhone-Client ein?

21

Ich habe Probleme, konkrete, aktuelle Informationen zum Einrichten von strongswan oder openswan für den VPN-Client des iPhones zu finden. Mein Server steht hinter einem Budget Linksys NAT Router.

Ich fand diese , aber es erwähnt eine ganze Reihe von .pem - Dateien ohne Referenz für sie zu schaffen. Leider waren die "feinen" Handbücher für beide Pakete für einen Anfänger unergründlich und unfreundlich. Ich habe OpenVPN schon einmal eingerichtet und konnte sehr schnell brauchbare Ergebnisse erzielen, aber nach eineinhalb Tagen Lesen veralteter Dokumente weiß ich kaum, wo ich anfangen soll.

Jede Hilfe wäre sehr dankbar!

Schabbyrobe
quelle

Antworten:

23

Hilft das?
Viele Grüße, Willem M. Poort

StrongSwan mini Howto Debian 5

install strongswan + openssl
apt-get install strongswan openssl

Erstellen Sie Ihre CA-Datei:

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/

Wenn Sie die CA-Zertifikate im binären DER-Format bevorzugen, führt der folgende Befehl diese Umwandlung durch:

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

Bearbeiten /etc/ssl/openssl.conf ( /usr/lib/ssl/openssl.cnfist ein Symlink):

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

Ändern Sie die Parameter, um sie an Ihre Umgebung anzupassen.

[ 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 

Erstellen Sie fehlende DIR und Dateien:

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

Erstellen Sie ein Benutzerzertifikat:

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

Unterschreibe es für zwei Jahre:

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

Normalerweise benötigt ein Windows-basierter VPN-Client seinen privaten Schlüssel, sein Host- oder Benutzerzertifikat und das CA-Zertifikat. Der bequemste Weg, diese Informationen zu laden, besteht darin, alles in eine PKCS # 12-Datei zu schreiben:

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

Bearbeiten /etc/ipsec.secrets:

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

Bearbeiten /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

Auf dem iPhone

  1. Importieren Sie das iphone-client Zertifikat im p12-Format
  2. Importieren Sie das CA-Zertifikat im pem-Format
  3. Konfigurieren Sie ein IPSEC-VPN mit dem iphone-client Zertifikat und verwenden Sie als Server den DNS-Namen (DynDNS-Name). Sie muss mit der im Server-Zertifikat übereinstimmen

Um die Zertifikate auf Ihr iPhone zu importieren, senden Sie sie einfach per E-Mail an sich selbst! Beim Erstellen des IPSec-VPN auf Ihrem iPhone können Sie das Zertifikat auswählen.

Beachten Sie, dass Sie iptables einrichten müssen, wenn Sie NAT verwenden möchten. (Schauen Sie in fwbuilder)

Willem M. Poort
quelle
1
+1 Genial. Ich werde das untersuchen, wenn ich etwas Zeit über den Urlaub habe und mich bei Ihnen melden. Vielen Dank für die Hilfe.
Shabbyrobe
Hallo, tnx Willem M. Poort, ich habe mit deinem Mini-Howto versucht, mein iPhone und meinen VPN-Server mit Ubuntu 10.10 zu verbinden, aber etwas ist schief gelaufen. tnx schon wieder! Fabio