1、FreeRADIUS 服务端安装 1.1、下载、编译、安装 wget -c ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.11.tar.gz # tar zxf freeradius-server-2.1.11.tar.gz # cd freeradius-server-2.1.11 # ./configure # make && make install 1.2、基本文件的测试 测试是否安装成功,如果不需要与mysql集成,那么就已安装完成。 # vim /usr/local/etc/raddb/
2、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
3、example user account as the first entry. i.e. at the top of the file, such as: testing Cleartext-Password := "password" 二.配置模块支持 2.1、启用MySQL模块支持 # 查找"sql.conf”(683行),去掉#号 vim /usr/local/etc/raddb/radiusd.conf Oracle支持 回到之前解压的freeradius-server-2.1.12目录里 # cd ~/freeradius-server-2.1.12/s
4、rc/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 se
5、d -i 's/radpass/123456/g' admin.sql sed -i 's/radpass/123456/g' /usr/local/etc/raddb/sql.conf mysql -uroot -p123456 < admin.sql mysql -uroot -p123456 radius < ippool.sql mysql -uroot -p123456 radius < schema.sql mysql -uroot -p123456 radius < wimax.sql mysql -uroot -p123456 radius < cui.sql m
6、ysql -uroot -p123456 radius < nas.sql 插入一些测试数据: 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 radgroupr
7、eply (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
8、', 'Password', 'peng'); 然后把用户加到组里: mysql> insert into radusergroup(username,groupname) values('geng','user'); mysql> select * from radcheck where UserName='geng'; 1.编辑/etc/raddb/sql.conf mysql用户名,密码根据自己的情况填写 第88行取消readclients = yes 前的注释 2.编辑/etc/raddb/sites-enabled/default 第145 行files前加注
9、释 第152 行取消sql前的注释 第342 行取消sql前的注释 3.编辑/etc/raddb/sites-enabled/inner-tunnel 第111 行files前加注释 第118行取消sql前的注释 4.编辑/etc/raddb/eap.conf 第30行default_eap_type = md5改为default_eap_type = peap 5.编辑/etc/raddb/clients.conf,加入 de>client 192.168.4.3 { secret = tp-link shortname = test }de> 注意:
10、 如果出现以下报错 Mon Mar 17 11:09:08 2014 : Error: /usr/local/freeradius/etc/raddb/sql.conf[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 :
11、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
12、sr/local/etc/raddb/clients.conf" 文件读取,开启后可从数据库nas表读取。 sed -i 's/\#readclients/readclients/g' /usr/local/etc/raddb/sql.conf 2.4、打开在线人数查询支持 # 查找simul_count_query将279-282行注释去掉 vim /usr/local/etc/raddb/sql/mysql/dialup.conf 2.5、 Oracle数据库支持 配置oracle数据 #su - oracle -- 创建用户 create user radius
13、 identified by radpass; GRANT CONNECT,RESOURCE,DBA to radius; --创建表 #mkdir /home/oracle/sqls 将 /usr/local/etc/raddb/sql/oracle/schema.sql 拷贝到 /home/oracle/sql --修改权限 #chown oracle:oinstall /home/oracle/sqls/schema.sql #chmod 744 /home/oracle/sqls/schema.sql 切换到oracle #su - oracle
14、
$sqlplus radius/radpass@
15、er 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_seq.nextval, 'user','Service-Type','=','Framed-User'); SQL>INSERT INTO radgroupcheck VALUES (radgroupcheck_seq.n
16、extval, 'user','Auth-Type','=','Local'); SQL>INSERT INTO radcheck VALUES (radcheck_seq.nextval, 'ora_usr','User-Password','==','ora_pwd'); SQL>INSERT INTO radusergroup VALUES (radusergroup_seq.nextval, 'ora_usr','user'); SQL>commit; SQL>exit; 接下来对freeradius进行配置 编辑/usr/local/freeradiu
17、s/etc/raddb/sql.conf # vim /usr/local/freeradius/etc/raddb/sql.conf 修改配置文件中mysql的帐号及密码 #database = "mysql" database = "oracle" # Connection info: server = “localhost” port = 1521 login = "radius" password = "radpass" #radius_db = "radius" radius_db = "(DESCRIPTI
18、ON = (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
19、 前 # 注释 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/radiusd.conf # vim /usr/local/freeradius/etc/raddb/radi
20、usd.conf 去掉700行 $INCLUDE sql.conf 前的#注释 三、FreeRADIUS 客户端安装与配置 3.1、编译与安装 wget -c ftp://ftp.freeradius.org/pub/freeradius/freeradius-client-1.1.6.tar.gz tar -zxf freeradius-client-1.1.6.tar.gz cd freeradius-client-1.1.6 ./configure make && make install 3.2、设置通信密码 cat >>/usr/local/etc
21、/radiusclient/servers< 22、osoft /usr/local/etc/radiusclient/
cat >>/usr/local/etc/radiusclient/dictionary< 23、r/local/etc/radiusclient/dictionary.microsoft
EOF
3.4、PPTP启用freeradius插件
这一步网上一些教程没提,但很重要,否则会报错!
sed -i 's/logwtmp/\#logwtmp/g' /etc/pptpd.conf
sed -i 's/radius_deadtime/\#radius_deadtime/g' /usr/local/etc/radiusclient/radiusclient.conf
sed -i 's/bindaddr/\#bindaddr/g' /usr/local/etc/radiuscli 24、ent/radiusclient.conf
注:64位系统插件路径是 "/usr/lib64/pppd/2.4.5/radius.so"
cat >>/etc/ppp/pptpd-options< 25、lib64/pppd/2.4.5/radius.so"
cat >>/etc/ppp/options.xl2tpd< 26、O 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','Simul 27、taneous-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) 28、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/rc.ra 29、diusd /etc/init.d/radiusd
/etc/init.d/radiusd start
六、安装daloradius
在
# tar zxvf daloradius-0.9-8.tar.gz
# mv daloradius-0.9.8 /var/ww/html/daloradius
# cd /var/ww/html/daloradius
# mysql -u root -p radius < contrib/db/mysql-daloradius.sql
# vi library/daloradius.conf.php
$configValues 30、['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登录名和密码(以及域,如果有的话)”前的勾。完成后回到验证页,去掉“当计算机信息可用时验证为计算机”前的勾。
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818