วิธีตั้งค่า strongswan หรือ openswan สำหรับ IPSec บริสุทธิ์ด้วยไคลเอนต์ iPhone


21

ฉันมีปัญหาในการค้นหาข้อมูลที่เป็นรูปธรรมทันสมัยสำหรับวิธีการตั้งค่า strongswan หรือ openswan เพื่อใช้งานโดยไคลเอนต์ VPN ของ iphone เซิร์ฟเวอร์ของฉันอยู่หลังงบประมาณเราเตอร์ NAT

ฉันพบสิ่งนี้แต่มันกล่าวถึงไฟล์. pem ทั้งหมดโดยไม่มีการอ้างอิงสำหรับวิธีสร้าง น่าเสียดายที่คู่มือ "ดี" สำหรับแพ็คเกจทั้งสองค่อนข้างไม่น่าเชื่อถือและไม่เป็นมิตรกับมือใหม่ ฉันได้ตั้งค่า OpenVPN มาก่อนและจัดการเพื่อให้ได้ผลลัพธ์ที่สามารถให้บริการได้อย่างรวดเร็ว แต่หลังจากอ่านเอกสารล้าสมัยไปครึ่งวันแล้วฉันแทบไม่รู้เลยว่าจะเริ่มต้นที่ไหน

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก!

คำตอบ:


23

สิ่งนี้ช่วยได้ไหม?
ขอแสดงความนับถือ Willem M. Poort

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เป็น symlink):

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

บนไอโฟน

  1. อิมพอร์ตใบรับรอง iphone-client ในรูปแบบ p12
  2. นำเข้าใบรับรอง CA ในรูปแบบ pem
  3. กำหนดค่า IPSEC-VPN ด้วยใบรับรองของไคลเอ็นต์ iphone และใช้เป็นเซิร์ฟเวอร์ชื่อ DNS (DynDNS-Name) มันจะต้องเหมือนกันใน Server-Certificate

ในการนำเข้าใบรับรองบน ​​iphone ของคุณเพียงแค่ส่งอีเมลให้พวกเขาด้วยตัวคุณเอง! เมื่อสร้าง ipsec VPN บน iPhone ของคุณคุณสามารถเลือกใบรับรอง

โปรดทราบว่าคุณต้องตั้งค่า iptables หากคุณต้องการ NAT (มองหา fwbuilder)


1
+1 ยอดเยี่ยม ฉันจะตรวจสอบเรื่องนี้เมื่อฉันได้มีเวลาในช่วงวันหยุดและกลับไปหาคุณ ขอบคุณมากสำหรับความช่วยเหลือ
Shabbyrobe

สวัสดี tnx Willem M. Poort ฉันใช้ mini-howto เพื่อเชื่อมต่อ iphone และ vpn ของฉันกับ Ubuntu 10.10 แต่มีบางอย่างผิดปกติ ... คุณมีคำแนะนำหรือลิงก์ที่เฉพาะเจาะจงมากกว่านี้ไหม? ขอบคุณอีกครั้ง! Fabio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.