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登录名和密码(以及域,如果有的话)”前的勾。完成后回到验证页,去掉“当计算机信息可用时验证为计算机”前的勾。
版权声明:本文标题:freeradius配置文档 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1709821803h547768.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论