Jak skonfigurować strongswan lub openswan dla czystego IPSEC z klientem iPhone?

21

Mam problem ze znalezieniem konkretnych, aktualnych informacji o tym, jak skonfigurować strongswan lub openswan do użycia przez klienta VPN iPhone'a. Mój serwer stoi za budżetowym routerem NAT linksys.

Znalazłem to , ale wspomina o całej masie plików .pem bez odniesienia do tego, jak je utworzyć. Niestety „dobre” instrukcje dla obu pakietów były dość nieprzeniknione i nieprzyjazne nowicjuszowi. Skonfigurowałem już OpenVPN i bardzo szybko udało mi się uzyskać użyteczne wyniki, ale po półtora dnia czytania nieaktualnych dokumentów ledwo wiem, od czego zacząć.

Każda pomoc byłaby bardzo mile widziana!

Shabbyrobe
źródło

Odpowiedzi:

23

czy to pomaga?
Pozdrawiam, Willem M. Poort

StrongSwan mini Howto Debian 5

install strongswan + openssl
apt-get install strongswan openssl

Utwórz plik 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/

Jeśli wolisz, aby certyfikaty CA były w binarnym formacie DER, następująca komenda osiąga tę transformację:

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

Edytuj /etc/ssl/openssl.conf ( /usr/lib/ssl/openssl.cnfjest dowiązaniem symbolicznym):

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

Zmień parametry, aby pasowały do ​​środowiska strongswan.

[ 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 

Utwórz brakujący katalog i pliki:

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

Wygeneruj certyfikat użytkownika:

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

Podpisz to przez dwa lata:

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

Zwykle klient VPN oparty na systemie Windows potrzebuje klucza prywatnego, certyfikatu hosta lub użytkownika oraz certyfikatu CA. Najwygodniejszym sposobem na załadowanie tych informacji jest umieszczenie wszystkiego w pliku 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

Edytuj /etc/ipsec.secrets:

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

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

Na iPhonie

  1. Zaimportuj certyfikat klienta iPhone w formacie p12
  2. Zaimportuj certyfikat CA w formacie pem
  3. Skonfiguruj IPSEC-VPN z certyfikatem klienta iPhone i użyj jako serwera nazwy DNS (DynDNS-Name). Musi być taki sam jak ten w certyfikacie serwera

Aby zaimportować certyfikaty z iPhone'a, po prostu wyślij je e-mailem do siebie! Tworząc ipsec VPN na swoim iPhonie, możesz wybrać certyfikat.

Pamiętaj, że musisz skonfigurować iptables, jeśli chcesz NAT. (Zajrzyj do fwbuildera)

Willem M. Poort
źródło
1
+1 Genialny. Zajmę się tym, kiedy spędzę trochę czasu po wakacjach i wrócę do ciebie. Dziękuję bardzo za pomoc.
Shabbyrobe
Cześć, tnx Willem M. Poort, użyłem twojego mini-howto, aby spróbować połączyć mój iPhone i mój serwer VPN z Ubuntu 10.10, ale coś poszło nie tak ... czy masz bardziej szczegółowy przewodnik lub link do zasugerowania? jeszcze raz! Fabio