linux radius mysql_采用Linux系统的Freeradius+MySQL实现RADIUS认证服务器

linux radius mysql_采用Linux系统的Freeradius+MySQL实现RADIUS认证服务器不需要使用昂贵的专业系统 采用 PC 服务器和 Linux 系统的 Freeradius MySQL 就能可靠地实现 RADIUS 认证服务器 RADIUS 认证服务器 RemoteAuthen 远程用户拨号认证系统 是目前应用最广泛的 AAA 协议 AAA authenticati Authorizatio Accounting 即认证 授权 计费

不需要使用昂贵的专业系统,采用PC服务器和Linux系统的Freeradius+MySQL就能可靠地实现RADIUS认证服务器。

RADIUS认证服务器(Remote Authentication Dial In User Service,远程用户拨号认证系统)是目前应用最广泛的AAA协议(AAA=authentication、Authorization、Accounting,即认证、授权、计费)。随着网络安全需求提高,中小企业的局域网集中用户认证,特别是使用VPDN专网的也逐渐需要建立自己的认证服务器以管理拨号用户。但这些用户不需要使用昂贵的专业系统,采用PC服务器和Linux系统的Freeradius+MySQL就能可靠地实现。

● 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的设置

用户数量较少的情况下可使用Freeradius缺省的users文件配置用户,根据文件制定的规则工作。安装完毕后启动Radius服务: /usr/local/sbin/radiusd-X。本机运行radtest test test localhost 0 testing123发认证请求,得到回应表示Radius服务器工作正常。

Radius服务器缺省使用/usr/local/etc/raddb/users文件认证,简单易行。但如果管理几十个或更多用户,则应使用数据库,对于用户数少于一万的情况而言,MySQL是合适的选择。

● MySQL认证的设置

在配置文件radiusd.conf中,在authorize{}和accountingt{}设置中去掉sql前注释符。在sql.conf中设置MySQL的连接信息、用户/密码和地址、本机用localhost即可。还需要在users中对DEFAULT用户做如下设置: Auth-Type = Local,Fall-Through = 1。这样,才可正确使用MySQL进行认证。

在MySQL中设置用户的规则与users文件用户设置有对应关系。Radius认证是以Attribute = Value的形式提供认证和应答消息。在users文件中,与用户名位于同一行,以“,”分隔的各个属性是认证请求必须提供而且需要验证的属性。

实际使用时,往往使用username@domain形式用户进行认证。用文件方式时,可以通过设置剥离域名,只建立username认证即可。需要在radiusd.conf中加入一项realm domain { format=suffix… }域说明,并在proxy.conf中realm DEFAULT使用LOCAL认证。用MySQL认证时,缺省的sql.conf中使用带域名的全名进行认证。0b1331709591d260c1c78e86d0c51c18.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206995.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:41
下一篇 2026年3月19日 下午2:42


相关推荐

  • js的6种数据类型_主要的数据类型

    js的6种数据类型_主要的数据类型JS常用的六种数据类型在JS中一共有九种数据类型,有六种基本数据类型,分别是:String(字符串)、Number(数值)、Boolean(布尔值)、Null(空值)、Undefined(未定义)、Object(对象)String字符串在JS中字符串需要使用引号引起来使用双引号或单引号都行,但是不要混着用引号不能嵌套,双引号不能放双引号,单引号不能放单引号在字符串中我们可以使用\作为转义字符,当表示一些特殊符号是可以使用\进行转义\“表示”、\‘表示’、\n表示换行、\t制表符

    2025年9月20日
    9
  • 页面的高度设置_word页面高度在哪设置

    页面的高度设置_word页面高度在哪设置问题1:页面加上doctype后height=100%不好使解决:增加css设置:html{height:100%}body{height:100%};另外,其他的容器也需要设置height

    2022年8月1日
    15
  • python自动化看什么书_python自动化测试书籍

    python自动化看什么书_python自动化测试书籍求推荐下 python 进行软件自动化测试的书籍虽然说 python 里有 testsuite 之类的包 不过自动化测试其实与编程无关 主要是选择合适的测试用例和测试方法 与业务有关 自动化测试框架也容易搭建 用 python 两个星期可以做一套 学习这个意义不大 另外国内自动化测试的人比较少 而同时会 python 的人更少 曾经我尝试培训几个这方面的人 感觉挺难 掌握好一门语言不容易 掌握好了通常都不会去

    2026年3月16日
    2
  • 数据库开发016ExecuteReader方法「建议收藏」

    数据库开发016ExecuteReader方法「建议收藏」SqlCommand类https://docs.microsoft.com/zh-cn/dotnet/api/system.data.sqlclient.sqlcommand?view=dotnet-plat-ext-3.1构造函数 SqlCommand() 初始化SqlCommand类的新实例。 SqlCommand(String) …

    2022年6月20日
    23
  • python读取图片文件名_python 获取图片并自动命名保存

    python读取图片文件名_python 获取图片并自动命名保存#-*-coding:UTF-8-*-#导入第三方库importurllibfrombs4importBeautifulSoupimportrequestsimportosimporttimeimportrandom#获取文件夹,如果文件夹不存在则创建新文件夹ifos.path.isdir(‘E://biaoqing//’):passelse:os.mkdir(‘E…

    2025年9月5日
    20
  • Java开发手册之单元测试

    Java开发手册之单元测试Java开发手册之单元测试

    2022年4月22日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号