Bagaimana cara mengatur strongswan atau openswan untuk IPSEC murni dengan klien iPhone?

21

Saya mengalami kesulitan menemukan informasi konkret, terkini untuk cara mengatur strongswan atau openswan untuk digunakan oleh klien VPN iphone. Server saya berada di belakang router NAT linksys anggaran.

Saya menemukan ini , tetapi ia menyebutkan sejumlah file .pem tanpa referensi cara membuatnya. Sayangnya, manual "bagus" untuk kedua paket itu cukup sulit dipahami dan tidak ramah bagi seorang pemula. Saya telah menyiapkan OpenVPN sebelumnya dan berhasil mendapatkan hasil yang dapat diservis dengan sangat cepat, tetapi setelah satu setengah hari membaca dokumen yang sudah ketinggalan zaman, saya bahkan tidak tahu harus mulai dari mana.

Bantuan apa pun akan sangat dihargai!

Pakaian Shabby
sumber

Jawaban:

23

Apakah ini membantu?
Salam, Willem M. Poort

StrongSwan mini Howto Debian 5

install strongswan + openssl
apt-get install strongswan openssl

Buat file CA Anda:

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/

Jika Anda lebih suka sertifikat CA berada dalam format DER biner maka perintah berikut ini mencapai transformasi ini:

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

Edit /etc/ssl/openssl.conf ( /usr/lib/ssl/openssl.cnfadalah symlink):

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

Ubah parameter agar sesuai dengan lingkungan strongswan Anda.

[ 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 

Buat DIR dan file yang hilang:

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

Buat sertifikat pengguna:

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

Tanda tangani selama dua tahun:

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

Biasanya klien VPN berbasis Windows memerlukan kunci privat, host atau sertifikat pengguna dan sertifikat CA. Cara paling mudah untuk memuat informasi ini adalah dengan memasukkan semuanya ke 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

Edit /etc/ipsec.secrets:

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

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

Di iPhone

  1. Impor sertifikat iphone-client dalam p12-Format
  2. Impor Sertifikat CA dalam Format-pem
  3. Konfigurasikan IPSEC-VPN dengan sertifikat iphone-client dan gunakan sebagai Server Nama DNS (DynDNS-Name). Itu harus sama dengan yang ada di Server-Certificate

Untuk mengimpor sertifikat di iphone Anda, cukup kirim email ke diri Anda sendiri! Saat membuat ipsec vpn di iphone Anda, Anda dapat memilih sertifikat.

Perlu diketahui bahwa Anda perlu mengatur iptables jika Anda ingin NAT. (Lihat ke fwbuilder)

Willem M. Poort
sumber
1
+1 Cemerlang. Saya akan melihat ini ketika saya mendapatkan waktu selama liburan dan kembali kepada Anda. Terima kasih banyak atas bantuannya.
Shabbyrobe
Hai, tnx Willem M. Poort, saya menggunakan mini-howto Anda untuk mencoba menghubungkan iphone dan server vpn saya dengan ubuntu 10.10 tetapi ada yang salah ... apakah Anda memiliki panduan atau tautan yang lebih spesifik untuk disarankan? tnx lagi! Fabio