Chinaunix首页 | 论坛 | 博客
  • 博客访问: 626086
  • 博文数量: 85
  • 博客积分: 1797
  • 博客等级: 上尉
  • 技术积分: 1238
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-02 08:53
个人简介

职位:技术总监 1、精通c++(linux平台、vc++Mfc、qt)、java、php、unity3d,略懂python 2、用c++开发过嵌入式产品,用c++开发过大型银行运维产品 3、用java开发大型银行运维产品,学校教务系统 4、用php开发进销存系统(在销售中),用php开发淘宝小程序 5、用unity3d开发衣柜设计软件,在运营中

文章分类

全部博文(85)

分类: LINUX

2010-03-27 19:16:39

    最近在研究freeradius,先从配置文件开始。
 
1、client.conf
 
client 192.168.1.180 {                 #允许客户端ip(180)访问
    secret       = testing123          #密钥
    shortname    = private-network-1
}
2、radius.conf
      老版本的freeradius的认证在这个文件配置,如:
authorize {
     preprocess
#    auth_log
#    attr_filter
     chap
     mschap
#    digest
#    IPASS
     suffix
#    ntdomain
     eap
     files           #文件认证,从文件中(user文件)读认证信息
#    sql             #数据库认证
}

      新版本(如2.1.8)的authorize项在/etc/raddb/sites-enabled/default文件中
3、user文件
      此文件中设置用户名和密码
geng                                            #用户名
Auth-Type := Local, User-Password == "peng"     #密码
    Service-Type = Framed-User,
    Framed-Protocol = PPP,
    Framed-IP-Address = 172.16.3.33,
    Framed-IP-Netmask = 255.255.255.0,
    Framed-Routing = Broadcast-Listen,
    Framed-Filter-Id = "std.ppp",
    Framed-MTU = 1500,
    Framed-Compression = Van-Jacobsen-TCP-IP

4、sql.conf文件
    server=”localhost”
  login=”root”
  password=”mysql的root的密码”
  radius_db=”radius”

5、导入mysql数据库
      安装freeradius-mysql.i386,必须安装,否则radius服务启动不起来。
       5.1老版本freeradius

1)创建名为radius数据库
mysql –uroot –p密码 radius < db_mysql.sql
2)插入数据
insert into radgroupreply (groupname,attribute,op,value) values ('user', 'Auth-Type', ':= ', 'Local');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type', ':= ', 'Framed-User');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address', ':= ', '255.255.255.254');
&insert into radgroupreply (groupname,attribute,op,value) values ('user', 'Framed-IP-Netmask', ':= ', '255.255.255.0');
insert into radcheck (username,attribute,op,value) values ('geng','User-Password',':=','peng')
insert into usergroup (username,groupname) values ('test','user');

      5.2新版本2.1.8版

# mysqladmin -u root -p create radius
# mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql
# mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql
# mysql -u root -p radius < /etc/raddb/sql/mysql/ippool.sql
# mysql -u root -p radius < /etc/raddb/sql/mysql/wimax.sql
# mysql -u root -p
mysql> GRANT SELECT ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radpass';
mysql> GRANT ALL on radius.radacct TO 'radius'@'localhost';
mysql> GRANT ALL on radius.radpostauth TO 'radius'@'localhost';
先加入一些组信息:
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask','=','255.255.255.255');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
然后加入用户信息:
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('geng', 'Password', 'peng');
然后把用户加到组里:
mysql> insert into radusergroup(username,groupname) values('geng','user');
mysql> select * from radcheck where UserName='geng';

6、测试

   6.1 linux客户端

    radtest geng peng localhost 0 testing123
    用户名:geng
    密码:  peng
    Ip地址  localhost
    密钥    testing123

   6.2 windows客户端

 

      客户端名字:NTRadPing.exe

阅读(4982) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~