radacct:radius记账信息
radcheck:用户信息
radgroupcheck:
radgroupreply:对应的用户组响应信息
radreply:对应的用户响应信息
radusergroup:用户和用户组信息
radpostauth:
nas:VPN服务器验证列表
-------------------------------------------------------------
freeradius默认是不使用数据库的,为了使数据库可以使用,需要设置radiusd.conf的1633行,改为#files;1640行,改为sql。这样,
程序会从db中查找配置信息。
数据库的配置:
-------------------------------------------------------------
首先配置表nas,列信息为
id:不需要设置,系统自动添加,作为主键。
nasname:nas的IP地址。
shortname:nas的名字,随便设置就可以了。
type:nas的类型字符串,随便设置。
ports:对应端口,好像不影响连接。
secret:radius服务器与nas间的密钥,一定要设置一致,否则调试是就会报“共享密钥不一致”,radius会发出Access-Reject包。
community:这里随便设置吧,猜想是用于SNMP时的配置信息,我还没有用到。
description:nas的描述信息。
例子:insert into nas(nasname,shortname,type,ports,secret,community,description) values
('202.104.192.174','huaweiap','huawei','23','secret','public','RADIUS client');
如果信息正确,尽管其它表中还没有数据,freeradius仍然会响应Access-Request,发出Access-Challenge包,但在调试信息中会显示“
用户没有找到”。
-------------------------------------------------------------
接着配置表radcheck,列信息为
UserName: 要求验证的用户名。
Attribute: 要验证的属性。
op: 要验证的操作符。
Value: 属性的值。
如: insert into radcheck(username, attribute, op, value) vlaues('myuser','User-Password', '==', 'mypass');
如果配置无错误的话,验证就可以通过了。注意:attribute不要写错,否则会报“Unkown attribute”。关于属性的定义在本人的blog中
可以找到,也可以查看share/dictionary。
-------------------------------------------------------------
配置radreply表,列信息为
UserName: 响应对应的用户名。
Attribute: 要响应的属性。
op: 操作符号,默认为"="。
value: 响应属性对应值。
如: insert into radrepy(username,attribute,op,value) values('myuser','Reply-Message','=','Yes,Good!');
可以在用户验证后,在Access-Accept中加入响应信息。
阅读(5632) | 评论(0) | 转发(0) |