再不写这个 part 2,搞不好就胎死腹中了。好嘛,书接上回,这次我们在 part 1 的基础上搭建一个 iOS 可以用的 ipsec VPN。
iOS 其实还可以用 L2TP VPN,这里且不谈我对 L2TP over ipsec 的无尽bs,如果要支持手上众多设备,还是采用纯 ipsec 的解决方案比较好。顺便吐个槽,窃以为支不支持以 Cisco 为代表的众多商用 VPN 服务器是一个移动设备是否成熟到胜任商业应用的标准,对,说的就是你,Android 。人家 iOS 和塞班都支持,你都出道几年了?看不到怨声载道吗?
正文
- 服务器
首先在 part 1 的基础上,修改三个配置文件就 OK 了:
ipsec.conf:
在配置文件把 setup 一节开头添加两行:
1 2 3 4 5 6 7 |
|
然后在末尾添加:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
注意到 authby=xauthrsasig
这一行,因为 iOS 设备采用 rsa + xauth 的混合认证,需要同时配置证书和密码认证。服务器端证书 strongswan.crt 的颁发和配置参考 part 1 的说明。同样的,ip 地址段按自己喜好随意,因为 part 1 已经配置了一个 ip 段,这里就复用一下,防火墙的配置也可以省省了。
ipsec.secret:
同上,在末尾添加:
1
|
|
用户名和密码自己随意,其他保持不变
strongswan.conf:
修改 pluto
一项为:
1 2 3 4 |
|
这里一样加上 google 的 dns 以防万一客户端没有被推送到默认的 dns
- 客户端
首先按照 part 1 证书一节所述,给你的 iOS 设备颁发证书,假设得到的是 iOS.p12,然后把该文件和 ca.crt (iOS 对证书格式要求不高,不一定要是 der) 一起传到设备上。我习惯通过 email,然后在 safari 里面点击附件就可以安装了。
最后的最后,还是截个图了事,一图胜千言啊:
设置的时候选择你刚刚安装的证书就行了。
update 2011/5/21: 这里有一份官方 wiki 专门讲 iOS 配置,一并参考: http://wiki.strongswan.org/projects/strongswan/wiki/IOS_(Apple))
如果你觉得这篇文章有用,可以考虑给我点 Bitcoin 小费: 14kB4s43d1CNy4VipGfpfennivJAgHkEnK
Posted via UltraBlog.vim.