admin 管理员组

文章数量: 887021


2024年3月7日发(作者:transfer of)

FreeRADIUS 服务端安装

1.1、下载、编译、安装

wget -c ftp:///pub/freeradius/

# tar zxf

# cd freeradius-server-2.1.11

# ./configure

# make && make install

1.2、基本文件的测试

测试是否安装成功,如果不需要与mysql集成,那么就已安装完成。

# vim /usr/local/etc/raddb/users

查找 steve Cleartext-Password := "testing", 取消该段内容的注释。# 大写X,意思是以debug模式运行。

/usr/local/sbin/radiusd -X

#新开一个窗口执行,看到 "Access-Accept packet" 表示成功了,"Access-Reject" 表示失败了。

/usr/local/bin/radtest steve testing localhost 0 testing123

Define a User and Password

Edit /etc/raddb/users and create an example user account as the first entry. i.e. at the top of the file,

such as:

testing Cleartext-Password := "password"

二.配置模块支持

2.1、启用MySQL模块支持

# 查找"”(683行),去掉#号

vim /usr/local/etc/raddb/

Oracle支持

回到之前解压的freeradius-server-2.1.12目录里

# cd ~/freeradius-server-2.1.12/src/modules/rlm_sql/drivers/rlm_sql_oracle

# ./configure --with-oracle-include-dir=${ORACLE_HOME}/rdbms/public

--with-oracle-lib-dir=${ORACLE_HOME}/lib

2.2、创建 radius 数据库及表

# 123456是你mysql的root密码

mysqladmin -uroot -p123456 create radius;

#修改radius帐号的密码

cd /usr/local/etc/raddb/sql/mysql

sed -i 's/radpass/123456/g'

sed -i 's/radpass/123456/g' /usr/local/etc/raddb/

mysql -uroot -p123456 <

mysql -uroot -p123456 radius <

mysql -uroot -p123456 radius <

mysql -uroot -p123456 radius <

mysql -uroot -p123456 radius <

mysql -uroot -p123456 radius <

插入一些测试数据:

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';

1.编辑/etc/raddb/

mysql用户名,密码根据自己的情况填写

第88行取消readclients = yes 前的注释

2.编辑/etc/raddb/sites-enabled/default

第145 行files前加注释

第152 行取消sql前的注释

第342 行取消sql前的注释

3.编辑/etc/raddb/sites-enabled/inner-tunnel

第111 行files前加注释

第118行取消sql前的注释

4.编辑/etc/raddb/

第30行default_eap_type = md5改为default_eap_type = peap

5.编辑/etc/raddb/,加入

de>client 192.168.4.3 {

secret = tp-link

shortname = test

}de>

注意:

如果出现以下报错

Mon Mar 17 11:09:08 2014 : Error: /usr/local/freeradius/etc/raddb/[22]: Instantiation failed

for module "sql"

Mon Mar 17 11:09:08 2014 : Error: /usr/local/freeradius/etc/raddb/sites-enabled/default[177]: Failed

to find "sql" in the "modules" section.

Mon Mar 17 11:09:08 2014 : Error: /usr/local/freeradius/etc/raddb/sites-enabled/default[69]: Errors

parsing authorize section.

Mon Mar 17 11:09:08 2014 : Error: Failed to load virtual server

修改vi /etc/加入mysql的lib路径 /usr/local/mysql/lib 。然后执行:

[root@centos6 mysql]# ldconfig

2.3、打开从数据库查询nas支持

默认从 "/usr/local/etc/raddb/" 文件读取,开启后可从数据库nas表读取。

sed -i 's/#readclients/readclients/g' /usr/local/etc/raddb/

2.4、打开在线人数查询支持

# 查找simul_count_query将279-282行注释去掉

vim /usr/local/etc/raddb/sql/mysql/

2.5、 Oracle数据库支持

配置oracle数据

#su - oracle

-- 创建用户

create user radius identified by radpass;

GRANT CONNECT,RESOURCE,DBA to radius;

--创建表

#mkdir /home/oracle/sqls

将 /usr/local/etc/raddb/sql/oracle/ 拷贝到 /home/oracle/sql

--修改权限

#chown oracle:oinstall /home/oracle/sqls/

#chmod 744 /home/oracle/sqls/

切换到oracle

#su - oracle

$sqlplus radius/radpass@

SQL>start /home/oracle/sqls/

SQL>alter table radacct modify groupname null; --非必须,如果报错,不用理会

SQL>CREATE TABLE nas (

id INT PRIMARY KEY,

nasname VARCHAR(128),

shortname VARCHAR(32),

type VARCHAR(30),

ports INT,

secret VARCHAR(60),

server VARCHAR(64),

community VARCHAR(50),

description VARCHAR(200)

);

SQL>CREATE SEQUENCE nas_seq START WITH 1 INCREMENT BY 1;

SQL>INSERT INTO radgroupreply VALUES (radgroupreply_l,

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

SQL>INSERT INTO radgroupcheck VALUES (radgroupcheck_l, 'user','Auth-Type','=','Local');

SQL>INSERT INTO radcheck VALUES (radcheck_l, 'ora_usr','User-Password','==','ora_pwd');

SQL>INSERT INTO radusergroup VALUES (radusergroup_l, 'ora_usr','user');

SQL>commit;

SQL>exit;

接下来对freeradius进行配置

编辑/usr/local/freeradius/etc/raddb/

# vim /usr/local/freeradius/etc/raddb/

修改配置文件中mysql的帐号及密码

#database = "mysql"

database = "oracle"

# Connection info:

server = “localhost”

port = 1521

login = "radius"

password = "radpass"

#radius_db = "radius"

radius_db = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.18.57.161)(PORT = 1521)) (CONNECT_DATA

= (SERVER = DEDICATED) (SERVICE_NAME = portaldb)))"

编辑/usr/local/etc/raddb/sites-enabled/default

# vim /usr/local/freeradius/etc/raddb/sites-enabled/default

(行数仅供参考,版本不同行数也不同)

170行 files 前加 # 注释

177行 去掉 sql 前 # 注释

406行 去掉 sql 前 # 注释

编辑/usr/local/freeradius/etc/raddb/sites-enabled/inner-tunnel

# vim /usr/local/freeradius/etc/raddb/sites-enabled/inner-tunnel

124行 files 前加 # 注释

131行 去掉 sql 前 # 注释

编辑/usr/local/freeradius/etc/raddb/

# vim /usr/local/freeradius/etc/raddb/

去掉700行 $INCLUDE 前的#注释

三、FreeRADIUS 客户端安装与配置

3.1、编译与安装

wget -c ftp:///pub/freeradius/

tar -zxf

cd freeradius-client-1.1.6

./configure

make && make install

3.2、设置通信密码

cat >>/usr/local/etc/radiusclient/servers<

localhost testing123

EOF

其中localhost可以写成服务器IP地址,testing123是认证服务器的连接密码。

注:如果使用的是IP地址,记得同时修改下面设置。

1

sed -i 's/localhost/192.168.8.129/g' /usr/local/etc/radiusclient/

3.3、增加字典

这一步很重要!否则windows客户端无法连接服务器。

wget -c /files/oft

mv ./oft /usr/local/etc/radiusclient/

cat >>/usr/local/etc/radiusclient/dictionary<

INCLUDE /usr/local/etc/radiusclient/

INCLUDE /usr/local/etc/radiusclient/

INCLUDE /usr/local/etc/radiusclient/

INCLUDE /usr/local/etc/radiusclient/

INCLUDE /usr/local/etc/radiusclient/oft

EOF

3.4、PPTP启用freeradius插件

这一步网上一些教程没提,但很重要,否则会报错!

sed -i 's/logwtmp/#logwtmp/g' /etc/

sed -i 's/radius_deadtime/#radius_deadtime/g' /usr/local/etc/radiusclient/

sed -i 's/bindaddr/#bindaddr/g' /usr/local/etc/radiusclient/

注:64位系统插件路径是 "/usr/lib64/pppd/2.4.5/"

cat >>/etc/ppp/pptpd-options<

plugin /usr/lib/pppd/2.4.5/

radius-config-file /usr/local/etc/radiusclient/

EOF

3.5、L2TP启用freeradius插件

L2TP 的道理也一样,你首先安装配置好L2TP/IPSec,并保证能正常使用。

注:64位系统插件路径是 "/usr/lib64/pppd/2.4.5/"

cat >>/etc/ppp/2tpd<

plugin /usr/lib/pppd/2.4.5/

radius-config-file /usr/local/etc/radiusclient/

EOF

四、用户权限管理

# 连接 MySQL

mysql -uroot -p123456;

# 使用 radius 数据库

USE radius;

# 添加用户demo,密码demo,注意是在radchec表

INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('demo','Cleartext-Password',':=','demo');

# 将用户demo加入VIP1用户组

INSERT INTO radusergroup (username,groupname) VALUES ('demo','VIP1');

# 限制同时登陆人数,注意是在radgroupcheck表

INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('normal','Simultaneous-Use',':=','1');

# 其他

INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('VIP1','Auth-Type',':=','Local');

INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES

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

INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('VIP1','Framed-Protocol',':=','PPP');

INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('VIP1','Framed-MTU',':=','1500');

INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES

('VIP1','Framed-Compression',':=','Van-Jacobson-TCP-IP');

五、启动

cp /usr/local/sbin/d /etc/init.d/radiusd

/etc/init.d/radiusd start

六、安装daloradius

在/projects/daloradius下载

# tar zxvf

# mv daloradius-0.9.8 /var/ww/html/daloradius

# cd /var/ww/html/daloradius

# mysql -u root -p radius < contrib/db/

# vi library/

$configValues['FREERADIUS_VERSION'] = '2';

$configValues['CONFIG_DB_TBL_RADUSERGROUP'] = 'radusergroup';

mysql用户名,密码根据自己的情况填写。

五、无线路由器上的配置

SSID号:tp-link123

在无线参数-基本设置里,勾选"开启安全设置",

安全类型:WPA/WPA2

安全选项:WPA

加密方法:TKIP

Radius服务器IP:192.168.4.10

Radius端口:1812

Radius密码:tp-link

七、客户机上windows xp的设置。

无线网络连接上右键-属性,“无线网络配置”-“首选网络”-选中tp-link123,单击“属性”-“关联”,网络身份验证选WPA,数据加密选TKIP;

单击“验证”:EAP类型选"受保护的EAP(PEAP)",在他的“属性”里,去掉“验证服务器证书”前的勾,在“选择身份验证方法”里选"安全密码(EAP-MSCHAPv2)",单击“配置”,去掉“自动使用Windows登录名和密码(以及域,如果有的话)”前的勾。完成后回到验证页,去掉“当计算机信息可用时验证为计算机”前的勾。


本文标签: 密码 配置 用户 去掉