RADIUS认证服务器(Remote Authentication Dial In User Service,远程用户拨号认证系统)是目前应用最广泛的AAA协议(AAA=authentication、Authorization、Accounting,即认证、授权、计费)。AAA协议的典型操作是验证用户名和密码是否合法(认证),分配IP地址(授权),登记上线/下线时间(计费),电信业窄带/宽带拨号都使用大型RADIUS认证服务器。而随着网络安全需求提高,中小企业的局域网集中用户认证,特别是使用VPDN专网的也逐渐需要建立自己的认证服务器以管理拨号用户。这些用户不需要使用昂贵的专业系统,采用PC服务器和Linux系统的Freeradius+MySQL可靠地实现。本文着重介绍RADIUS系统在VPDN拨号二次认证中的应用。
Freeradius的安装
笔者采用FC4 for x86_64系统上的freeradius-1.1.2,在中档PC服务器上运行,系统运行稳定可靠。Linux FC4自带Freeradius和MySQL,不过实测不理想。FC4 MySQL对中文支持不好,而freeradius则仅支持其自带MySQL。所以,在编译MySQL时要加入选项“--with-charset=gb2312”以支持中文字符编码。编译Freeradius时可使用缺省选项。在64位Linux系统上编译前配置时需要加入选项“—with-snmp=no”,因为与库文件snmp相关的库对64位支持有问题,最新的FC7也许没有这些问题。Freeradius提供了MySQL建库脚本——db-MySQL.sql,不过建nas库有1个语法错误,将“id int(10) DEFAULT ‘0’;”中的“DEFAULT ‘0’”去掉即可正常建立Radius库。
Freeradius的设置
简单少数用