Как настроить strongswan или openswan для чистого IPSEC с клиентом iPhone?

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

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

Любая помощь будет принята с благодарностью!

21 голос | спросил Shabbyrobe 14 TueEurope/Moscow2010-12-14T14:37:45+03:00Europe/Moscow12bEurope/MoscowTue, 14 Dec 2010 14:37:45 +0300 2010, 14:37:45

1 ответ


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

Измените параметры в соответствии со своей сильной средой.

[ 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-Format
  2. Импортировать сертификат CA в формате pem
  3. Настройте IPSEC-VPN с помощью сертификата iphone-client и используйте в качестве сервера имя DNS (имя DynDNS). Он должен быть таким же, как в сертификате Server

Чтобы импортировать сертификаты на свой iphone, просто отправьте их по электронной почте! При создании ipsec vpn на вашем iphone вы можете выбрать сертификат.

Имейте в виду, что вам нужно настроить iptables, если вы хотите использовать NAT. (Посмотрите на fwbuilder)

ответил Willem M. Poort 22 WedEurope/Moscow2010-12-22T15:25:44+03:00Europe/Moscow12bEurope/MoscowWed, 22 Dec 2010 15:25:44 +0300 2010, 15:25:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132