苹果iOS具有“VPN On Demand”function。 有了这个function,只要设备试图连接到某些域或互联网,就会进行VPN连接。 iOS只支持基于authentication的authentication的“VPN On Demand”。
要为我的办公室VPN服务器的iOS用户提供“VPN On Demand”,我们正在使用下一个IPSec解决scheme:
这个解决scheme对我们来说工作正常。 但是我们得到了新的要求 – 用一个用户数据库build立几个VPN服务器并loggingVPN使用情况。
这是使用RADIUS的这个任务的一个惯例,并且strongSwan有它的插件。 但是,使用IKEv1 / Xauth的strongSwan使用用户名/密码来validation后端RADIUS服务器上的用户。 用户名/密码没有在我的解决scheme中使用。
我的问题:
PS大多数我的iOS客户端使用支持IKEv2的iOS 8。 IKEv2中有EAP-TLS。 我可以使用EAP-TLS将RSA身份validation检查委托给RADIUS服务器吗? 或者我正在用EAP-TLS挖错方向?
PSPS我的第二件事是关于strongSwan的VICI接口。 我应该得到关于每个新的IPSec连接的通知,但看起来像VICI工作方式不同。
eap-radius插件中的RADIUS记帐不需要XAuthauthentication。 实际上,只要客户端请求一个虚拟IP地址(对于IKEv2,即使这个要求可以被禁用),也可以通过RADIUS进行任何forms的authentication。 有些IKEv1客户端在重新authentication的时候会遇到一些问题(参见问题937和相关的问题)。
EAP-TLS可以将IKEv2客户端的证书authentication委派给AAA服务器,但这与RADIUS记帐无关。
感谢ecdsa,我发现了我的问题的几个解决scheme。
如果使用选项accounting = yes启用了eap-radius插件,则即使在ipsec.conf文件中未使用eap-radius,strongSwan也会发送RADIUS消息以启动记帐。 在我的情况下,这个RADIUS消息看起来像这样:
Acct-Status-Type = Start Acct-Session-Id = 1434531934-1 NAS-Port-Type = Virtual Service-Type = Framed-User NAS-Port = 1 NAS-Port-Id = ios-ikev1-fakexauth NAS-IP-Address = <nas_ip> Called-Station-Id = <nas_ip>[4500] Calling-Station-Id = <client_ip>[4500] User-Name = "C=CH, O=strongSwan, [email protected]" Framed-IP-Address = 172.20.1.1 NAS-Identifier = strongSwan
我可以从消息中获得证书CN,并且对我进行适当的会计是绰绰有余的。 如果我想拒绝一些CN的访问,我只能拒绝来自stronSwan的RADIUS消息,并且ipsec连接将被中断。
另外我想使用strongSwan curl插件来访问证书撤销列表。 但是我发现缺less关于这个插件的文档。 我错过了什么吗?