[server] iPhone 클라이언트로 순수 IPSEC를 위해 strongswan 또는 openswan을 설정하는 방법은 무엇입니까?

iphone의 VPN 클라이언트에서 사용할 수있는 strongswan 또는 openswan을 설정하는 방법에 대한 구체적이고 최신 정보를 찾는 데 문제가 있습니다. 내 서버는 예산 linksys NAT 라우터 뒤에 있습니다.

내가 발견 있지만, 그것들을 만드는 방법에 대해서는 설명하지 .PEM 파일의 전체 무리를 언급하고있다. 불행히도, 두 패키지 모두에 대한 “미세한”매뉴얼은 아주 까다 롭고 초보자에게는 비우호적이었습니다. 나는 전에 OpenVPN을 설정하고 서비스 가능한 결과를 매우 빨리 얻었지만, 하루 이상 반이 지난 문서를 읽은 후에는 시작해야 할 부분조차 거의 알지 못합니다.

어떤 도움이라도 대단히 감사하겠습니다!



답변

도움이 되나요?
감사합니다. Willem M. Poort

StrongSwan 미니 하우투 데비안 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

2 년 동안 서명하십시오.

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

일반적으로 Windows 기반 VPN 클라이언트에는 개인 키, 호스트 또는 사용자 인증서 및 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. p12 형식으로 iphone-client 인증서 가져 오기
  2. pem 형식으로 CA 인증서 가져 오기
  3. iphone-client 인증서를 사용하여 IPSEC-VPN을 구성하고 DNS 이름 (DynDNS-Name)을 서버로 사용하십시오. Server-Certificate와 동일해야합니다.

당신의 아이폰에 인증서를 가져 오려면 그냥 자신에게 이메일을 보내십시오! iPhone에서 ipsec vpn을 생성 할 때 인증서를 선택할 수 있습니다.

NAT를 원할 경우 iptables를 설정해야합니다. (fwbuilder를 살펴보십시오)


답변