我很难找到关于如何设置 strongswan 或 openswan 以供 iphone 的 VPN 客户端使用的具体最新信息。我的服务器位于廉价的 linksys NAT 路由器后面。
我发现这,但它提到了一大堆 .pem 文件,但没有说明如何创建它们。不幸的是,这两个软件包的“精细”手册对新手来说相当晦涩难懂且不友好。我以前设置过 OpenVPN,并设法非常快速地获得了可用的结果,但在阅读了一天半的过时文档后,我几乎不知道从哪里开始。
任何帮助将不胜感激!
答案1
这有帮助吗?
问候,Willem M. Poort
StrongSwan mini 操作指南 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
通常,基于 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 上
- 导入 p12 格式的 iphone-client 证书
- 导入 pem 格式的 CA 证书
- 使用 iphone-client 证书配置 IPSEC-VPN,并使用 DNS 名称 (DynDNS-Name) 作为服务器。它必须与服务器证书中的相同
要将证书导入您的 iPhone,只需将其通过电子邮件发送给您自己!在 iPhone 上创建 ipsec vpn 时,您可以选择证书。
请注意,如果您想要 NAT,则需要设置 iptables。(查看 fwbuilder)