一、安装openssl

二、安装mysql

直接用命令#yun groupinstall "MySQL

Database"安装MySQL数据库。

安装好后,#service mysqld start 启动数据库。

使用#netstat

-nax查看3306端口是否在使用,从而确定安装是否成功。

#mysqladmin -u root password 'password'

修改root的密码

#mysql -u root -p

Enter password:

进入mysql,查看数据库是正常使用。正常使用则退出。

三,安装freeradius

最新的freeradius的版本是2.1.3。

下载后解压缩,进入解压缩后的目录:

#./config

#make

#make install

安装完后,可以使用命令#radiusd -x

进入radiusd服务器的调试模式,如果能进入则安装成功。

安装成功后freeradius的配置文件的路径是:usr/local/etc/raddb/

日志文件的路径是:usr/local/var/log

一般以上过程不会出问题,主要的问题在于配置。

四、配置过程

登陆mysql:

#mysql -u root -p

Enter password:

创建数据库:creat database radius;

exit退出数据库。

进入usr/local/etc/raddb/sql/mysql下

#mysql -u root -p radius

(注意,2.1.1版本的数据库文件是scheme.sql

,这跟其他版本不同,1.1.7版本之前的数据库文件是mysql.sql ,或者rlm_mysql.sql,而且存放路径不同)

导入后,可以在用命令

#use radius

#show tabels;看到以下数据库表:

+------------------+

| Tables_in_radius |

+------------------+

| radacct |

| radcheck |

| radgroupcheck |

| radgroupreply |

| radpostauth |

| radreply |

| radusergroup |

+------------------+

修改usr/local/etc/raddb/site_enabled下的defoult文件(2.1.1与1.1.7不同,radius.conf被分成了几个部分,authorize

被放在了defoult文件下,请注意),把authorize{} 、accounting

{}中的sql前面的#去掉,并把authorize{} 中的files前加#;如下示:

authorize {

chap

mschap

suffix

eap

#files

sql

pap

}

accounting {

detail

unix

radutmp

sql

}

修改与mysql数据库连接的配置文件/usr/local/etc/raddb/sql.conf,

server = "localhost"

login = "root"

password = "数据库root的登陆密码"

radius_db = "radius" //radius为数据库名

修改客户端信息配置文件:/usr/local/etc/raddb/clients.conf

client 127.0.0.1 {

secret = testing123

shortname = localhost

nastype = other

}

在数据库中加入测试帐号

#mysql -u root -p

Enter password:

mysql> use radius;

建立组信息:

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Auth-Type',':=','Local');

Query OK, 1 row affected (0.01 sec)

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Service-Type',':=','Framed-User');

Query OK, 1 row affected (0.00 sec)

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Framed-IP-Address',':=','255.255.255.255');

Query OK, 1 row affected (0.00 sec)

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Framed-IP-Netmask',':=','255.255.255.0');

Query OK, 1 row affected (0.01 sec)

建立用户信息:

mysql> insert into radcheck

(username,attribute,op,value) values

('test','User-Password',':=','test');

Query OK, 1 row affected (0.00 sec)

将用户加入组中:

mysql> insert into usergroup

(username,groupname) values ('test','user');

Query OK, 1 row affected (0.01 sec)

mysql>exit;退出数据库

测试radius

#radiusd -X

#radtest test test localhost 0

testing123

Sending Access-Request of id 222 to

127.0.0.1 port 1812

User-Name = "test"

User-Password = "test"

NAS-IP-Address = 127.0.0.1

NAS-Port = 0

rad_recv: Access-Accept packet from

host 127.0.0.1 port 1812, id=222, length=38

Service-Type = Framed-User

Framed-IP-Address = 255.255.255.255

Framed-IP-Netmask = 255.255.255.0

如果显示如上信息,则恭喜,freeradius安装配置成功。

一、安装openssl

二、安装mysql

直接用命令#yun groupinstall "MySQL

Database"安装MySQL数据库。

安装好后,#service mysqld start 启动数据库。

使用#netstat

-nax查看3306端口是否在使用,从而确定安装是否成功。

#mysqladmin -u root password 'password'

修改root的密码

#mysql -u root -p

Enter password:

进入mysql,查看数据库是正常使用。正常使用则退出。

三,安装freeradius

最新的freeradius的版本是2.1.3。

下载后解压缩,进入解压缩后的目录:

#./config

#make

#make install

安装完后,可以使用命令#radiusd -x

进入radiusd服务器的调试模式,如果能进入则安装成功。

安装成功后freeradius的配置文件的路径是:usr/local/etc/raddb/

日志文件的路径是:usr/local/var/log

一般以上过程不会出问题,主要的问题在于配置。

四、配置过程

登陆mysql:

#mysql -u root -p

Enter password:

创建数据库:creat database radius;

exit退出数据库。

进入usr/local/etc/raddb/sql/mysql下

#mysql -u root -p radius

(注意,2.1.1版本的数据库文件是scheme.sql

,这跟其他版本不同,1.1.7版本之前的数据库文件是mysql.sql ,或者rlm_mysql.sql,而且存放路径不同)

导入后,可以在用命令

#use radius

#show tabels;看到以下数据库表:

+------------------+

| Tables_in_radius |

+------------------+

| radacct |

| radcheck |

| radgroupcheck |

| radgroupreply |

| radpostauth |

| radreply |

| radusergroup |

+------------------+

修改usr/local/etc/raddb/site_enabled下的defoult文件(2.1.1与1.1.7不同,radius.conf被分成了几个部分,authorize

被放在了defoult文件下,请注意),把authorize{} 、accounting

{}中的sql前面的#去掉,并把authorize{} 中的files前加#;如下示:

authorize {

chap

mschap

suffix

eap

#files

sql

pap

}

accounting {

detail

unix

radutmp

sql

}

修改与mysql数据库连接的配置文件/usr/local/etc/raddb/sql.conf,

server = "localhost"

login = "root"

password = "数据库root的登陆密码"

radius_db = "radius" //radius为数据库名

修改客户端信息配置文件:/usr/local/etc/raddb/clients.conf

client 127.0.0.1 {

secret = testing123

shortname = localhost

nastype = other

}

在数据库中加入测试帐号

#mysql -u root -p

Enter password:

mysql> use radius;

建立组信息:

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Auth-Type',':=','Local');

Query OK, 1 row affected (0.01 sec)

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Service-Type',':=','Framed-User');

Query OK, 1 row affected (0.00 sec)

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Framed-IP-Address',':=','255.255.255.255');

Query OK, 1 row affected (0.00 sec)

mysql> insert into radgroupreply

(groupname,attribute,op,value) values

('user','Framed-IP-Netmask',':=','255.255.255.0');

Query OK, 1 row affected (0.01 sec)

建立用户信息:

mysql> insert into radcheck

(username,attribute,op,value) values

('test','User-Password',':=','test');

Query OK, 1 row affected (0.00 sec)

将用户加入组中:

mysql> insert into usergroup

(username,groupname) values ('test','user');

Query OK, 1 row affected (0.01 sec)

mysql>exit;退出数据库

测试radius

#radiusd -X

#radtest test test localhost 0

testing123

Sending Access-Request of id 222 to

127.0.0.1 port 1812

User-Name = "test"

User-Password = "test"

NAS-IP-Address = 127.0.0.1

NAS-Port = 0

rad_recv: Access-Accept packet from

host 127.0.0.1 port 1812, id=222, length=38

Service-Type = Framed-User

Framed-IP-Address = 255.255.255.255

Framed-IP-Netmask = 255.255.255.0

如果显示如上信息,则恭喜,freeradius安装配置成功。

心得:

如果接收到类似于这样的信息:rad_recv: Access-Reject

packet from host 127.0.0.1 port 1812, id=222, length=38。

可以到usr/local/var/log去查看freeradius的日志。在安装过程我就接收到这样的信息,百思不得其解,以为是安装出了问题,后来是查看日志,发现如下信息:

141 WARNING: Found User-Password ==

"...".

142 WARNING: Are you sure you don't

mean Cleartext-Password?

143 WARNING: See "man rlm_pap" for more

information.

144 rlm_sql: Failed to create the pair:

Invalid octet string "Yes,Good!" for attribute name

"Repley-Message"

145 rlm_sql (sql): Error getting data

from database

146 [sql] SQL query error; rejecting

user

147 rlm_sql (sql): Released sql socket

id: 1

从而发现我在表radrepley中的数据记录内容是错误的,删除这条记录后,问题得到解决

出错

1、如果出现“rlm_sql (sql): Could not link

driver rlm_sql_mysql: rlm_sql_mysql.so: cannot open shared object

file: No such file or directory

”找不到驱动包的错误,就要

a:先安装mysql-devel

b:然后进入到freeradius的安装文件目录下的src/modules/rlm_sql/drivers/rlm_sql_mysql

运行命令:./configure --with-mysql-dir=/usr/share/mysql/

--with-mysql-lib-dir=/usr/lib/mysql/

c:make;make

intall  这时候会把rlm_sql_mysql的驱动安装到/usr/local/lib目录下,但是必须把这些驱动copy到/usr/lib目录下才能正常运行:#cp

-a /usr/local/lib/rlm_sql_mysql* /usr/lib

还有可能出现关于eap的错误,说什么server.pem证书读取失败,实际上server.pem证书根本没有.进到/usr/local/etc/raddb/certs/目录下.运行里面的bootstrap文件#./bootstrap

会自动创建证书.实在不明白,里面还有个README文件可做参考.

五、WEB管理的安装与配置

服务器搭建成功后如果需要web管理,freeradius自带了一个web管理程序dialup_admin。

首先测试Apache与PHP安装的正确性。Apache的WEB目录在

/var/www/html 下首先测试Apache,在浏览器输入 Http://127.0.0.1 下看到Apache界面表示正常。

编辑一个PHP测试文件,内容为 < phpinfo >,保存为

phpinfo.php。在浏览器输入Http://127.0.0.1/phpinfo.php

看到php相关信息页面,表示php运作正常。

直接将/usr/local/src/freeradius-1.1.0/dialup_admin/文件夹全部拷贝到Apache网页目录下/var/www/html下。

修改dialup_admin/conf/下的admin.conf文件中的如下参数:

sql_type:mysql

sql_server:localhost //sql地址

sql_port:3306 //默认端口

sql_username:root

sql_password:123456 //密码

sql_database:radius //数据库名

general_charset: UTF-8 //避免浏览器乱码

general_base_dir:

/var/www/html/dialup_admin //dialup_admin主目录

general_domain: company.com

//这个可改也可不改,没什么影响,改了还看点而已

general_radius_server_auth_proto: chap

//将pap改成chap

general_encryption_method: clear

//将crypt改成clear

说明一下,general_encryption_method:

clear是必须得改的,否则用web管理界面添加用户后会出现密码被加密后无法识别导致认证失败,clear方式是以明文存储密码,freeradius默认是用明文存储密码,两者要对应,所以这里要用clear方式。

修改dialup_admin/conf/下的naslist.conf文件如下

nas1_name: nas1.%{general_domain}

nas1_model: Computer //NAS服务器的类型

nas1_ip: 192.168.1.1 //NAS服务器的IP地址

nas1_port_num: 15

nas1_community: public

其他的通通删掉或用#号注释掉,这样修改的目的是方便在web管理界面中直观的看到每个NAS服务器连接用户的情况。

导入相关数据库表

cd /var/www/html/dialup_admin/sql

mysql -uroot –p123456 radius <

userinfo.sql

mysql -uroot –p123456 radius <

totacct.sql

mysql -uroot –p123456 radius <

mtotacct.sql

mysql -uroot –p123456 radius <

badusers.sql

dialup_admin用的是php3格式的文件,需要web服务器支持这种格式,

修改/etc/httpd/conf/httpd.conf文件,在此文件最后添加

AddType application/x-httpd-php .php

.html .htm .php3

保存后重启httpd服务

service httpd restart

能正常打开各页面就ok了。默认是打开的sql调试模式。可以在admin.conf中找到sql_debug.把true改为false即可关闭。

至此,整个Radius服务器搭建完成。

如果要对其他NAS服务器提供验证服务,只需修改/usr/local/etc/raddb下的clients.conf文件,在后面加上

client 192.168.1.1 {

//IP地址修改为NAS服务器的地址

secret = testing123

//NAS服务器与Radius服务器通信的密码

shortname = NAS //这个无所谓,随便填

nastype = other

}

心得:

如果接收到类似于这样的信息:rad_recv: Access-Reject

packet from host 127.0.0.1 port 1812, id=222, length=38。

可以到usr/local/var/log去查看freeradius的日志。在安装过程我就接收到这样的信息,百思不得其解,以为是安装出了问题,后来是查看日志,发现如下信息:

141 WARNING: Found User-Password ==

"...".

142 WARNING: Are you sure you don't

mean Cleartext-Password?

143 WARNING: See "man rlm_pap" for more

information.

144 rlm_sql: Failed to create the pair:

Invalid octet string "Yes,Good!" for attribute name

"Repley-Message"

145 rlm_sql (sql): Error getting data

from database

146 [sql] SQL query error; rejecting

user

147 rlm_sql (sql): Released sql socket

id: 1

从而发现我在表radrepley中的数据记录内容是错误的,删除这条记录后,问题得到解决

出错

1、如果出现“rlm_sql (sql): Could not link driver rlm_sql_mysql:

rlm_sql_mysql.so: cannot open shared object file: No such file or

directory

”找不到驱动包的错误,就要

a:先安装mysql-devel

b:然后进入到freeradius的安装文件目录下的src/modules/rlm_sql/drivers/rlm_sql_mysql

运行命令:./configure --with-mysql-dir=/usr/share/mysql/

--with-mysql-lib-dir=/usr/lib/mysql/

c:make;make

intall  这时候会把rlm_sql_mysql的驱动安装到/usr/local/lib目录下,但是必须把这些驱动copy到/usr/lib目录下才能正常运行:#cp

-a /usr/local/lib/rlm_sql_mysql* /usr/lib

还有可能出现关于eap的错误,说什么server.pem证书读取失败,实际上server.pem证书根本没有.进到/usr/local/etc/raddb/certs/目录下.运行里面的bootstrap文件#./bootstrap

会自动创建证书.实在不明白,里面还有个README文件可做参考.

rlm sql mysql.so_找了好久,终于找到一篇关于FREERADIUS新版的安装说明。和以前的1.X.X还是有很大不同的。...相关推荐

  1. rlm sql mysql.so_冰天雪地跪求高手解决--Could not link driver rlm_sql_mysql: file not found

    我在freenas这个上面安装了mysql+freeradius mysql是在用户上面自带命令 pkg_add -r mysql51-server 启动出错 [root@localhost ~]ra ...

  2. Javascript:郁闷了好久终于找到原因了,原理还不明白

    <a href='javascript:Test()'>ttttt</a>与<input type="button" value="tttt ...

  3. 参考文献怎么找?3分钟找到1000篇论文参考文献!

    AI帮你查找参考文献,3分钟快速找到领域里的1000篇参考文献,这个网站也太顶了吧! 参考文献怎么找? 打开网站,输入你感兴趣领域的文献标题或者关键词,网站就会基于这篇文献自动检索全网数据库,筛选出与 ...

  4. rlm sql mysql.so_UBUUTU7.10上安装配置freeradius+mysql+rp-pppoe手记

    5.安装freeradius1.1.2 将源码包解压缩: # tar –zxvf freeradius_version 进入生成的目录中进行编译安装: 编译之前,先处理一下MySQL的库,freera ...

  5. mysql代码不熟_mysql存储过程的错误,语法不熟,找了好久没找到错误。。。

    CREATEPROCEDUREupdate_pointer()begin/*done为1执行异常,停止执行*/DECLAREDoneINTDEFAULT0;DECLAREnowtimeINT;DECL ...

  6. 找了许久,终于找到一篇关于GStreamer架构的说的比较详细和底层的文章

    https://blog.csdn.net/shallon_luo/article/details/5393788

  7. S5pv210 android 的 一些时钟设置太蛋疼了,找了好久才找到,要改一个频率牵扯太多,远不如wince方便

    作者:gooogleman@foxmail.com        // 以后有时间再整理成一份好的技术文档,现在自己先预留着先. { .clk = { .name = "sclk_fimd& ...

  8. photoshop 软件下载地址,找了好久才找到的

    photoshop2020中文破解版百度网盘下载 https://pan.baidu.com/s/1Z1WNU0PvbgLAlUl6UXDj6Q 软件安装和操作技巧说明 http://www.ddoo ...

  9. android 3个控件平分,Android 布局平分间距。想了好久终于找到了投机取巧的办法...

    只知道边距和控件大小,这4个文字中间的间距是等比的我们不知道具体尺寸.关心到屏幕适配.第一次想到的就是在代码中动态的去控制. 获取屏幕的跨度,然后减去最两边的距离是30dp,再减去每个text的宽度5 ...

最新文章

  1. python数组每个元素加1_python-根据键转换numpy数组中的每个元素
  2. JSR303(Bean Validation 1.0)
  3. 小工匠聊架构- 提升性能的大杀器之缓存技术
  4. 基于Anaconda安装GPU版PyTorch深度学习开发环境
  5. 数独游戏技巧从入门到精通_如何引导孩子入门九宫格数独?掌握4个技巧口诀,孩子思维提升快...
  6. 数据结构-在O(1)时间删除链表节点
  7. python中一切都是对象_python中一切皆对象
  8. 【零基础学Java】—Java运行机制(三)
  9. Louvain、Lpa、Infomap算法
  10. 软件工程和项目管理的区别
  11. MySQL for Excel的安装教程
  12. python自动生成字幕_语音自动转文字和自动生成字幕
  13. 计算机视觉--图像导数-图像梯度向量
  14. 会议日程安排问题python
  15. 技术领导者空降后,如何管理全新的团队
  16. kubernetes的DevOps业务(一):Jenkins,GitLab,Harbor,Tekton,GitOps
  17. 为什么不要使用 select * from xxx (oracle 亲测)
  18. 支持51CTO,支持博客大赛
  19. 多阶段动态扰动和动态惯性权重的布谷鸟算法
  20. 百度宣布首例"人工智能"寻找走失儿童完成

热门文章

  1. JS数组深拷贝、对象深拷贝
  2. C盘扩容——根除系统盘空间不足问题
  3. 雄兔脚扑朔,雌兔眼迷离;双兔傍地走,安能辨我是雄雌?——golang接口的概念
  4. html网易云客堂,网易云课堂.html · Rakshasa/APP-design-week2 - Gitee.com
  5. js修改style.display 属性
  6. Android的识花软件推荐,识花App有哪些 形色app好不好用【详解】
  7. 进程,系统性能和计划任务的命令保姆级教学
  8. 后台(35)——MyBatis入门示例
  9. 存档在 ‘工具开发’ 分类
  10. grep用法大全 grep常用用法总结