Як налаштувати strongswan або openswan для чистого IPSEC з клієнтом iPhone?


21

У мене виникають проблеми з пошуку конкретної, актуальної інформації про те, як налаштувати strongswan або openswan для використання VPN-клієнтом iphone. Мій сервер стоїть за бюджетним Linksys NAT-роутером.

Я знайшов це , але в ньому згадується ціла купа файлів .pem без посилання на те, як їх створити. На жаль, «чудові» посібники для обох пакунків були досить непривітними та недоброзичливими для початківців. Я раніше налаштовував OpenVPN і мені дуже швидко вдалося отримати корисні результати, але після півтора дня читання застарілих документів я ледве навіть знаю, з чого почати.

Будь-яка допомога буде дуже вдячна!

Відповіді:


23

Чи допомагає це?
З повагою, Віллем М. Пуорт

StrongSwan mini Howto Debian 5

install strongswan + openssl
apt-get install strongswan openssl

Створіть свій файл 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/

Якщо ви хочете, щоб сертифікати CA були у двійковому форматі DER, це перетворення здійснює наступна команда:

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

Редагувати /etc/ssl/openssl.conf ( /usr/lib/ssl/openssl.cnfє символьним посиланням):

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

Змініть параметри, щоб відповідати вашому середовищу 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 

Створіть відсутні файли DIR та файли:

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

Створіть сертифікат користувача:

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

Підпишіться на два роки:

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

Зазвичай клієнту VPN на базі Windows потрібен приватний ключ, його хост або сертифікат користувача та сертифікат CA. Найзручніший спосіб завантаження цієї інформації - це вмістити все у файл 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

Редагувати /etc/ipsec.secrets:

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

Редагувати /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

На iPhone

  1. Імпортуйте сертифікат iphone-client у форматі p12
  2. Імпортуйте сертифікат CA у форматі pem
  3. Налаштуйте IPSEC-VPN з сертифікатом iphone-client та використовуйте як сервер ім'я DNS (ім'я DynDNS). Він повинен бути таким же, як у Сертифікаті сервера

Щоб імпортувати сертифікати на ваш iphone, просто надішліть їх електронною поштою! Під час створення ipsec vpn на iphone ви можете вибрати сертифікат.

Зауважте, що вам потрібно налаштувати iptables, якщо ви хочете NAT. (Загляньте до fwbuilder)


1
+1 Блискуче. Я розберуся в цьому, коли я пройду якийсь час відпустки і повернусь до вас. Дякую за допомогу.
Шабіроб

Привіт, tnx Віллем М. Поорт, я використав ваш міні-хаут, щоб спробувати підключити свій iphone та мій сервер vpn з ubuntu 10.10, але щось пішло не так ... чи є у вас більш конкретний посібник чи посилання, щоб запропонувати? tnx знову! Fabio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.