Radiusplugin (CVS)插件能使OpenVPN支持radius的用户认证和计费 除了支持最基本的
framed ip address framed routes acct interim interval
三大属性外,还能通过外部脚本实现用户自己定义的属性。
整个OpenVPN的部署过程和这篇文章讲的类似,主要是有如下不同(这些不同在Radiusplugin的README/CNF配置文件文件里面都有)
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radius.cnf
username-as-common-name
client-cert-not-required
以及是否有status文件 文件版本是不是1,有没有client-config-dir等等等
客户端方面,注释掉或者删除掉cert和key选项,加上
auth-user-pass
如果工作在UDP模式下面。记得加上explicit-exit-notify 2 见
下面的工作就是编译Radiusplugin
[bash]wget 'http://web.cvs.savannah.gnu.org/viewvc/*checkout*/radiusplugin/radiusplugin_v2.1.tar.gz?root=radiusplugin'
#安装依赖
apt-get install libgcrypt11-dev
make
[/bash]
拷贝得到的radiusplugin.so和radiusplugin.cnf到OpenVPN的配置文件目录按照我上面的要求进行配置
同时编辑插件的配置文件 填写radiusserver server的配置信息。
默认插件的CNF配置文件里面有多个server节 删除掉一个就可以了。我们只需要一个
然后启动OpenVPN连接下 看看能不能成功。不能成功的话 多分析下日志,很快就能排查出原因。
扩展阅读: http://ihipop.info/tag/openvpn