我无法找到有关如何设置strongswan 或openswan 以供iphone 的VPN 客户端使用的具体、最新信息。我的服务器在一个廉价的 linksys NAT 路由器后面。
我找到了这个,但它提到了一大堆 .pem 文件,但没有关于如何创建它们的参考。不幸的是,这两个软件包的“精美”手册对新手来说非常难懂且不友好。我之前设置过 OpenVPN 并设法很快获得了可用的结果,但是在阅读了一天半的过时文档后,我几乎不知道从哪里开始。
任何帮助将不胜感激!
小智 23
这有帮助吗?
问候,威廉·M·普尔特
install strongswan + openssl
apt-get install strongswan openssl
Run Code Online (Sandbox Code Playgroud)
创建您的 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/
Run Code Online (Sandbox Code Playgroud)
如果您希望 CA 证书采用二进制 DER 格式,则以下命令可实现此转换:
openssl x509 -in cacerts/strongswanCert.pem -outform DER -out \
cacerts/strongswanCert.der
Run Code Online (Sandbox Code Playgroud)
编辑/etc/ssl/openssl.conf
(/usr/lib/ssl/openssl.cnf
是一个符号链接):
nano -w /usr/lib/ssl/openssl.cnf
Run Code Online (Sandbox Code Playgroud)
更改参数以适合您的 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
Run Code Online (Sandbox Code Playgroud)
创建丢失的 DIR 和文件:
mkdir newcerts
touch index.txt
echo “00” > serial
Run Code Online (Sandbox Code Playgroud)
生成用户证书:
openssl req -newkey rsa:1024 -keyout private/hostKey.pem \
-out reqs/hostReq.pem
Run Code Online (Sandbox Code Playgroud)
签两年:
openssl ca -in reqs/hostReq.pem -days 730 -out \
certs/hostCert.pem -notext
Run Code Online (Sandbox Code Playgroud)
通常,基于 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
Run Code Online (Sandbox Code Playgroud)
编辑/etc/ipsec.secrets
:
:RSA strongswanKey.pem “pempassword”
:XAUTH user "secret"
Run Code Online (Sandbox Code Playgroud)
编辑/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
Run Code Online (Sandbox Code Playgroud)
要在您的 iphone 上导入证书,只需将它们通过电子邮件发送给您自己!在您的 iphone 上创建 ipsec vpn 时,您可以选择证书。
请注意,如果要进行 NAT,则需要设置 iptables。(查看 fwbuilder)
归档时间: |
|
查看次数: |
45328 次 |
最近记录: |