我正在尝试提供一种通过Radius对用户进行身份验证的OpenVPN服务。 Radius服务器是我自己制作的,因此我可以玩这些代码并更好地了解其内部。
成功登录后,我从OpenVPN服务器接收记帐数据。通过保存这些会话,我可以计算出每个用户拥有的打开会话的数量,因为我想拒绝他们多次登录的机会。我可以将其强加于OpenVPN服务器配置中,但将来可能会添加其他一些服务器,如果可能的话,我想从Radius方面进行操作。
我的问题出在半径方面,一旦我检测到多个登录名,该怎么办?
我可以尝试通过我的半径代码访问OpenVPN的管理控制台,但是...有一种更好的方法。
我还尝试将Session-Timeout
回复消息中的Access-Accept
发送给较低的地址,以迫使他们更频繁地进行身份验证并在那里进行检查,但是该设置似乎对radius插件没有影响由OpenVPN使用:
NAS-Identifier=openvpn_udp
Service-Type=5
Framed-Protocol=1
NAS-Port-Type=5
NAS-IP-Address=10.50.0.14
OpenVPNConfig=/etc/openvpn/server.conf
overwriteccfiles=true
nonfatalaccounting=false
server
{
acctport=1813
authport=1812
name=10.50.0.13
retry=1
wait=1
sharedsecret=testing123
}
关于如何更好地做到这一点的任何想法?