radius服务器与SQL连接配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Steel-Belted Radius 是一款多功能的Radius服务器,可以实现认证、计费等功能;它也可以和多种数据库相连接,实现其功能。我们就来看一下Steel-Belted Radius 和SQL Server连接的配置:
说明:本文采用的Steel-Belted Radius版本为5.02.1335,SQL Server版本为SQL Server 2000 简体中文版。
一、建立系统DSN;
使用ODBC 数据源管理器建立连接SQL Server 的系统DSN,命名为LocalServer;
按以下八步建立一个系统DSN:
(1) 打开“控制面板”中的“管理工具”,在数据源(ODBC)项目上双击。
(2) 系统弹出“ODBC数据源管理器”对话框,单击“系统DSN”标签打开“系统DSN”选项卡。
(3) 单击“添加”按钮,系统弹出“创建新数据源”对话框,选择“SQL Server”选项,然后单击“完成”按钮。
(4) 系统弹出“创建到SQL Server的新数据源”对话框,输入系统DSN的名称并指定SQL Server所在的服务器,然后单击“下一步”按钮。
(5) 系统进入数据库的安全设置步骤。在这里可选择SQL Server验证登录ID的方式。选中“使用用户输入登录ID和密码的SQL Server验证”单选按钮,然后选中“连接SQL Server以获得其它配置选项的默认设置”复选框,再在“登录ID”和“密码”文本框中输入对在上一操作步骤中指定数据库有存取权限的SQL Server帐号sa和密码sa,单击“下一步”按钮。
(6) 系统进入选择要连接的数据库步骤。选中“更改默认的数据库为”复选框,然后从下面的下拉列表中选择要连接数据库名称。
(7) 单击“下一步”按钮进入下一步骤,一般来说,不用更改其中的信息。然后单击“完成”按钮。系统将弹出“ODBC Microsoft SQL Server安装”对话框。
(8) 单击“测试数据源”按钮,如果系统提示测试成功,则表示DSN设置正确。单击“确定”按钮,可完成系统DSN的建立。
二、配置Sqlauth.aut 实现认证功能
Steel-Belted Radius 默认并不支持SQL Server 连接,需要我们进行相应的设置,大部分都是在Sqlauth.aut中完成。以下是一个已完成的Sqlauth.aut
[Bootstrap]
LibraryName=sqlauth.dll
Enable=1
InitializationString=SQL Server
[Settings]
Connect=DSN=LocalServer;UID=sa;PWD=123456
SQL=SELECT Password,Profile FROM userlist WHERE UserName = %name and Enable = 1 ParameterMarker=?
MaxConcurrent=30
ConcurrentTimeout=30
ConnectTimeout=25
QueryTimeout=25
WaitReconnect=2
MaxWaitReconnect=360
PasswordFormat = 0
DefaultResults = 0
[FailedSuccessResultAttributes]
at Reply-Message ='Please re-enter your password dot '
at Filter-Id ='3'
[Server]
;s1=2
;s2=2
;[Server/s1]
;Connect=DSN=
;[Server/s2]
;Connect=DSN=
[Results]
Password=1
Profile=2
;UserName=3/40s
;Alias=2/48
[Failure]
Accept=1
Profile=xyz
FullName=Remote User
各字段含义如下:
Enable :是否启用SQL Server ;1为是0为否;
InitializationString:SQL Server 连接的名称,值随意;
Connect:数据库连接设置DSN为我们为我们第一步建立的系统DSN名称;UID和PWD 为数据库连接的用户名和密码;
SQL:数据库查询语句,我们的用户认证就靠它了,其中%name为用户输入的用户名(用户输入的密码为%Password)。如果这条查询语句有值返回,则用户验证成功,否则验证失败,所以我们就可以构建查询语句来实现用户验证,例如我就增加了一个Enable字段来控制用户验证。
PasswordFormat:密码类型0为自适应;
配置好Sqlauth dot.aut,然后重启Steel-Belted Radius;启动好后,用admin 连接到服务器,如果你在server的status中看到SQL connection established ,恭喜你,你的Steel-Belted Radius 已经和SQL Server 连接成功了,如果有问题的话,可以在Steel-Belted Radius安装目录的Service文件夹中查看日志文件,其中记录了连接失败的原因,日志文件是以年月日命名的。
三、配置Sqlacct.acc 实现用户记帐
[Bootstrap]
LibraryName=sqlacct.dll
Enable=1
InitializationString=SQLAcc
[Settings]
Connect=DSN=LocalServer;UID=sa;PWD=123456
ParameterMarker=?
MaxConcurrent=20
ConcurrentTimeout=30
ConnectTimeout=25
QueryTimeout=25
WaitReconnect=2
MaxWaitReconnect=360
;LogLevel=2
;[Server]
;s1=2
;s2=2
;This achieves 50/50 duty
;[Server/s1]
;Connect=DSN=
;[Server/s2]
;Connect=DSN=
[Type]
1=User
2=User
3=User
;Packets of type 1,2, and 3 will be accounted as below
[Type/User]
SQL=INSERT INTO accounting (TransTime, FullName, Authenticator, NASName, NASAddress, Type, PacketsIn, PacketsOut) \
V ALUES