|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
架设freeradius服务器[原创]
作者:永恒之星
1.安装好linux red hat9,安装时,把apache和所有相关组件安装好如php模块,
什么gcc编译器之类的全都安装好,等下用得着。mysql服务器不要安装。等下再
装。
2安装Mysql
Linux Redhat 9.0自带的安装包:
mysql-3.23.54a-11.i386.rpm
mysql-server-3.23.54a-11.i386.rpm
mysql-devel-3.23.54a-11.i386.rpm
外加一个:mysqlclient9-3.23.22-6.i386.rpm
rpm ?ivh mysql*
启动:
[root@localhost local]# /etc/init.d/mysqld start
Starting MySQL: [ OK ]
或者是:
[root@localhost RPMS]# service mysqld start
Starting MySQL: [ OK ]
pstree命令后就可以看见它的进程
。
|-rpc.statd
|-safe_mysqld---mysqld #节选
。
进入mysql:#能进入才算启动成功,若失败看下面的错误提示。
[root@localhost local]# mysql -uroot ?p #也可以直接输入密码,但是
可见。
Enter password: #密码不可见,本机登陆密码。我试过mysql,密码空。但权限
不大。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.23.54
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
错误提示:
ERROR 1045: Access denied for user: 'root@localhost' (Using password:
YES)
这是输入用户名和密码是格式的问题,注意就是,不行的话试试空密码。
还有就是这个郁闷了我一天的错误:
Can't connect to local MySQL server through socket
'/var/lib/mysql/mysql.sock' (2)
以为是东西没有装上,结果是服务启动的问题,记住一定要确定pstree底下有了
safe_mysqld---mysqld的进程(注意是mysqld),可以试着service mysqld
restart一次。
其他的错误基本上都是启动的顺序问题。其实那个mysql.sock会自己生成。
(建议学习基本的sql语句)
http://www.linuxforum.net/books/mysqlmanual/manual_toc.html(mysql中文
手册)
#创建radius数据库
mysql> create database radius;
mysql> use mysql;
mysql> update user set password=password(‘你的密码’) where user=’
root’;
#更改密码
#允许远程机器连接 ,本机可不做该语句,因为很有可能让自己也不能访问。
update user set host=’%’ where user=’root’;
3、安装openSSL
也是用的光盘上的RPM包 :#免得麻烦全部装上
openssl096-0.9.6-15.i386.rpm openssl-devel-0.9.7a-2.i386.rpm
openssl096b-0.9.6b-3.i386.rpm openssl-perl-0.9.7a-2.i386.rpm
4、安装freeradius
从www.freeradius.org上下载freeraidus,本文版本是1.1.0
编译和安装,采用默认路径,以防出错。时间较长差不多二小时左右吧。
tar xvfz freeradius.tar.gz
cd xvfz freeradius-1.1.0
./configure
make
make install
建立mysql的数据库raius的表
cd src/modules/rlm_sql/drivers/rlm_sql_mysql
//这个路径直接输,就是在解压的目录里面的一个sql文件。
mysql ?uroot ?p密码 radius < db_mysql.sql
//将db_mysql.sql文件导入到radius数据库中。
更改freeradius的设置
cd /usr/local/etc/raddb
更改radiusd.conf,让其支持sql (如下面所说)
authorize {
preprocess
chap
mschap
suffix
sql #只需要加填这一项,其它的都有
}
accouting {
….
sql #同上
…
}
更改sql.conf
server=”localhost”
login=”root”
password=”mysql的root的密码” #在应用时不能更改这个密码,不然mysql都进
不去
radius_db=”radius”
更改 client.conf支持所用的NAS具体可以看该文档,要注意的是secret是NAS和
radius服务器的共享密码
5.数据库加入测试账号
加入组
mysql ?uroot ?p密码 radius
insertintoradgroupreply(GroupName,Attribute,op,Value) values(‘user’,
‘Auth-Type’,’:=’,’Local’);
#注意第一个括号里面的是表中的内容,要对应才可以。可以在mysql下使用以下
命令查看
mysql> use radius;#使用radius数据库;
mysql> show tables;#查看radius数据库的表格;
mysql> describe radgroupreply;#查看该表格选项,即是与括号里对应的东西,
一定要相同
mysql> select * from radgroupreply;#查看该表格内容;
下面一样的操作:
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’);
//这里大家复制粘贴就行,这是radius数据库的数据表结构就是这样。
加入测试账号
insert into radcheck (UserName,Attribute,op,Value) values (‘test’,’
User-Password’,’:=’,’test’) ;
测试账号加入组
insert into usergroup (UserName,Groupname) values (‘test’,’user’);
//大家也可以用mysql_front数据库管理软件直接把这些数据输入上去,更加直观
,方便,效果是一样的。
四、启动radius服务、测试账号
启动到debug模式
radiusd ?X
调试一定要注意能不能连接上数据库,看到ok表示成功。
有时候会报找不到文件rlm_sql_mysql这个时候只要把库文件加入系统搜索的目录
里
比如:
方法1 cp /usr/local/lib/* /usr/lib
方法2 echo /usr/local/freeradius/lib >> /etc/ld.so.conf
//将freeradius/lib库放到/etc/ld.so.conf文件中
方法3 直接修改/etc/ld.so.conf
/usr/kerberos/lib
/usr/X11R6/lib
/usr/lib/qt-3.1/lib
/usr/lib/sane
/usr/lib
/usr/local/lib
/usr/local/mysql/lib
debug -x有时会报找不到/tmp/mysql.sock
解决办法:重新启动mysql。
测试账号
radtest test test localhost 0 testing123
看到 Access-Accept 之类的字样就表示OK了。 这时可以正式启动radiusd
这时可以用vpn pppoe测试用户名:test 密码:test 会发现是可以成功的
6.配置diaup_admin
shell> tar xfvz dialup_admin-X.XX.tar.gz
shell> mv dialup_admin /usr/local
shell> ln -s /usr/local/dialup_admin/htdocs /var/www/dialup
配置 httpd.conf文件,使他支持php
LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
配置dialup_admin/conf/admin.conf
sql_server: localhost
sql_port: 3306
sql_username: radius
sql_password: XXXXX
7.启动www服务器。
然后,输入网址http://127.0.0.1/dialup打开管理页面.
好了,现在基本上差不多了.界面是英文的.
更多的资料大家可以参考http://www.freeradius.org/
谢谢大家的支持. |
|