freeradius部署总结
Eduroam在中国科学技术大学的部署
➢ 无线AP和无线终端设备使用EAP认证,后台往往有 radius协议的参与
➢ 无线终端可以使用用户名/密码认证 ➢ 无线终端也可以使用个人证书认证 ➢ 我国使用用户名密码较常见 ➢ 国外使用个人证书也很常用
802.1X认证/WEB认证
➢ 802.1X认证
➢ 在WPA/WPA2企业模式下认证 ➢ 用户提供的认证信息(如密码或个人证书)利用EAP协议传输给后台的
radius服务器进行认证 ➢ 密码和个人证书等关键信息离开用户的终端后不使用明文传输,能提供最
大程度的保密性 ➢ 无线终端可选对无线AP及后面的radius服务器进行认证
➢ WEB/Portal认证
2
7
edu.
81
.
.
科大用户在wisc 使用eduroam,输入的用户名是 xxx@
Eduroam联盟加入步骤
➢ 基础条件
➢ 有用户名和明文密码信息,以便radius使用(加密处理后的密 码麻烦些)
➢ 有一个vlan以DHCP上网,将来供无线用户使用 ➢ 准备1个IP地址,将来用作radius服务器
容易被破解,不建议使用
➢ WPA 更好的加密,会话中key一直在变化
➢ 个人模式(Personal mode): 密码认证,使用 TKIP/MIC加密 ➢ 企业模式(Enterprise mode): EAP认证,使用TKIP/MIC加密
➢ WPA2 最安全的模式,使用AES加密,几乎不能被破解,推 荐使用
➢ EAP-PEAP MSCHAPv2使用最广泛,国外使用EAPTLS也比较多,EAP-TTLS PAP认证也有少量使用
密码要求
/documents/protocols/compatibility.html 后台存用户明文密码支持最广泛
freeradius部署总结
freeradius部署总结Freeradius + mysql + 华为AP⽆线认证1freeradius安装与测试1.1安装freereradius 与 mysql。
环境:centos 6.6 软件版本freeradius-server-2.2.9。
#mkdir /usr/local/radius //创建⼀个安装包⽬录。
#mv freeradius-server-2.2.9.tar.gz /usr/local/radius //将安装包移动⾄此⽬录下。
#cd /usr/local/radius //进⼊该⽬录#tar –zxvf freeradius-server-2.2.9.tar.gz //解压⽂件到当前⽬录#cd freeradius-server-2.2.9 //进⼊该⽂件夹安装之前,先将需要的库环境安装,因为系统安装的版本不⼀致,可能没有安装相应的库。
#yum install –y gcc vim //编译⼯具和编辑⼯具#yum install –y openssl.devel //安装OpenSSL库#./configure //安装检查#make//编译#make install //安装1.2测试redius服务是否安装成功。
相关配置⽂件路径为: /usr/local/etc/raddb/。
#vim /usr/local/etc/raddb/users去掉以下内容前⾯的#注释:steve Cleartext-Password := "testing"这样就有了测试账号steve和密码:testing。
或者⾃⾏新建⼀⾏记录。
1.3对radius服务进⾏启动测试。
#radiusd –X,在debug 模式下运⾏,可以看到报错和认证信息。
如果程序正常运⾏,最后三⾏如下Listening on authentication *:1812Listening on accounting *:1813Ready to process requests.1.4进⾏简单的连接测试# radtest steve testing localhost 1812 testing123出现Access-Accept字样说明成功。
802.1X成功部署的六个诀窍
802.1X成功部署的六个诀窍怎么能够在企业网络中成功部署和支持802.1X认证协议对于网络工程师来说是一个挑战,本文“802.1X 成功部署的六个诀窍”将有一些技巧可以帮助你节省一些时间和成本。
1、考虑使用免费或者低成本的RAIUS服务器对于小型和中型网络,你不需要花太多钱在RADIUS(远程认证拨号用户服务)服务器上。
首先检查你的路由器平台、目录服务或者其他服务是否提供RADIUS/AAA(身份认证、授权和账户)。
例如,如果你运行Windows Server的Active Directory域,检查Windows Server 2003 R2以及更早版本的Internet Authentication Service(IAS,Internet身份验证服务)组件或者Windows Server 2008的Network Policy Server (NPS,网络政策服务器)组件。
如果你当前的服务器不提供RADIUS功能,仍然有很多免费和低成本的服务器可以选择:FreeRADIUS是完全免费的开源产品,可以在Linux或者其他类UNIX的操作系统上运行,它最多可以支持数百万用户和请求。
在默认情况下,FreeRADIUS有一个命令行界面,设置更改是通过编辑配置文件来实现的。
其配置是高度可定制的,并且,因为它是开源产品。
你还可以对软件进行代码修改。
TekRADIUS是共享软件服务器,在Windows上运行,并且提供一个GUI。
该服务器的基本功能是免费的,你还可以购买其他版本来获取EAP-TLS和动态自签名证书(用于受保护可扩展身份验证协议(PEAP)会话、VoIP计费以及其他企业功能)等功能。
还有两个相当低成本的商业产品包括ClearBox和Elektron,它们都在Windows上运行,并提供30天免费试用。
一些接入点甚至还嵌入了RADIUS服务器,这对于小型网络而言非常实用。
例如,HP ProCurve 530或者ZyXEL NWA-3500,NWA3166或NWA3160-N。
freeradius最佳实践
freeradius最佳实践Freeradius最佳实践Freeradius是一个开源的RADIUS服务器,广泛应用于网络认证、授权和会计。
随着互联网的发展,网络安全问题变得越来越重要,对于企业而言,加强网络认证和授权是保障网络安全的必要措施之一。
因此,本文将从安装和配置、认证方式、授权策略、日志记录和安全防护等方面介绍Freeradius最佳实践。
一、安装和配置在安装Freeradius之前,需要安装依赖软件包。
安装完成之后,需要进行配置,主要包括radiusd.conf和clients.conf两个文件的配置。
其中,radiusd.conf文件用于配置服务器的全局设置,clients.conf文件用于配置允许访问服务器的客户端。
二、认证方式Freeradius支持多种认证方式,包括PAP、CHAP、MSCHAP和EAP等。
在实际应用中,可以根据实际需求选择不同的认证方式。
例如,PAP和CHAP适用于低安全级别的场景,而EAP适用于高安全级别的场景。
三、授权策略通过Freeradius可以实现精细化的授权策略,可以根据用户、客户端、时间、位置等多种因素进行授权管理。
例如,可以限制某个用户只能在某个时间段内访问特定的资源,或者限制某个客户端只能访问特定的服务器。
四、日志记录日志记录是保障网络安全的重要手段之一。
在Freeradius中,可以通过配置radiusd.conf文件,将日志记录到指定的文件中。
在实际应用中,应该根据实际需求选择不同的日志级别,例如DEBUG、INFO、WARNING和ERROR等。
五、安全防护在网络安全方面,Freeradius需要进行安全防护,避免受到攻击。
可以通过以下措施进行防护:1.对客户端进行身份认证,避免未经授权的客户端访问服务器。
2.对用户的密码进行加密存储,避免密码泄露。
3.限制访问频率,避免恶意攻击。
4.使用TLS进行加密通信,避免数据被窃取或篡改。
5.定期更新软件版本,避免漏洞被攻击。
linux下FreeRadius配置安装方法介绍linux操作系统-电脑资料
linux下FreeRadius配置安装方法介绍linux操作系统-电脑资料freeradius一般用来进行账户认证管理,记账管理,常见的电信运营商的宽带账户,上网账户管理,记账,都是使用的radius服务器进行鉴权记账的,下面我们一起来看linux下FreeRadius配置安装FreeRadiusFreeRADIUS与OpenLDAP--成功篇安装相关程式yum install freeradius2 freeradius2-utils freeradius2-ldap启用伺服器的LDAP Client端,请参考另一文件请先测试本机user,启用steve来测试(记得测试玩要加回#)vi /etc/raddb/usersteve Cleartext-Password := "testing"Service-Type = Framed-User,service radiusd restartradtest steve testing localhost 0 testing123正确会显示rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=247, length=26另外,启用某一网段认证vi /etc/raddb/clients.confclient 163.32.x.0/24 {secret = testing123shortname = schoolAP}编辑freeradius有关ldap的设定档vi /etc/raddb/modules/ldapserver = ".tw"identity = "cn=Manager,dc=do,dc=kh,dc=edu,dc=tw"password = pswd管理者密码dobasedn = "ou=user,ou=login,dc=do,dc=kh,dc=edu,dc=tw" vi /etc/raddb/sites-enabled/defaultauthorize {...# filesldap...}还有authenticate {...Auth-Type LDAP {ldap}...}service radiusd restart测试指令启用前测试radiusd -X测试本机帐号,测试后请关闭radtest steve testing localhost 0 testing123测试某一网段radtest ldapUser ldapPasswd 163.32.xxx.78 0 testing123。
CentOS7部署FreeRadius3.0及WEB管理界面DaloRadius
CentOS7部署FreeRadius3.0及WEB管理界⾯DaloRadius CentOS7部署FreeRadius3.0及WEB管理界⾯DaloRadius RADIUS (Remote Authentication and Dial-In User Service)是⽤于拨号⽤户接⼊认证及服务请求认证的⽹络协议和软件。
RADIUS会提供中⼼式认证、签权和计费(AAA)服务,⽤于管理接⼊⽤户使⽤⽹络资源。
RADIUS允许使⽤集中式数据库来保存所有⽤户的配置信息,以供所有⽤户共享使⽤。
RADIUS 常常被 ISP (互联⽹服务提供商)⽤于管理互联⽹⽤户接⼊。
FreeRADIUS 是⼀款免费开源RADIUS服务软件。
由于 freeRADIUS 并不具有原⽣的web界⾯,使⽤起来相对⿇烦,但是我们可以采⽤许多第三⽅web界⾯来管理和使⽤ freeRADIUS。
DaloRADIUS便是⼀款功能强⼤且易于使⽤的RADIUS web界⾯,主要⽤于提供运营级热点及接⼊管理,daloRADIUS 使⽤PHP语⾔开发,并且⽀持多种数据库系统。
⼀、 系统说明IP地址12.172.1.12/24操作系统CentOS 7.7 1909FreeRadius版本v 3.0DaloRadius版本v 1.0⼆、 CentOS系统组件安装、更新与设置 2.1 防⽕墙设置systemctl stop firewalld //关闭防⽕墙systemctl disable firewalld //关闭防⽕墙⾃启 2.2 Selinux设置sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config //关闭Selinuxsestatus //查询Selinux状态(需重启后查询) 2.3 组件安装yum install -y net-tools //安装Ifconfig⼯具yum install bash-completion -y //安装命令补全⼯具yum -y install lrzsz //安装⽂件管理⼯具yum install -y wget unzip //安装unzipyum install -y epel-release //安装EPEL软件库yum makecache fast //重置软件库缓存信息 2.4 更新系统及源码库yum -y update && yum -y upgrade三、 安装配置数据库 3.1 安装MariaDB数据库yum install -y mariadb-server mariadb //安装MariaDB数据库systemctl start mariadb //启动MariaDBsystemctl enable mariadb //设置开机⾃启动mysql_secure_installation //SQL⾃动配置(除设置密码,其余都回车) 3.2 配置MariaDB数据库mysql -u root -p //登录数据库MariaDB [(none)]> create database radius; 创建数据库radiusMariaDB [(none)]> grant all on radius.* to radius@localhost identified by '123abc'; //设置radius⽤户名密码及权限MariaDB [(none)]> flush privileges; //刷新权限MariaDB [(none)]> exit //退出四、 安装Apache Web服务器及PHP DaloRadius是PHP开发的Web应⽤,需要安装Apach Web服务器和PHP 4.1 安装Apache Web服务器yum install -y httpd //安装httpd服务systemctl enable httpd //设置开机⾃启动systemctl start httpd //开启httpd服务 4.2 安装PHP及相关软件包yum install -y php php-mysql php-pear php-devel php-common php-gd php-mbstring php-mcrypt php-xml php-pear-DB //安装PHP及软件包systemctl restart httpd //安装完成后重启hApache Web服务以使PHP⽣效五、 安装配置FreeRadius 5.1 安装FreeRadiusyum install -y freeradius freeradius-utils freeradius-mysql //安装FreeRadius及组件systemctl start radiusd.service //启动radius服务systemctl enable radiusd.service //设置radius服务开机⾃启动firewall-cmd --permanent --add-service=radius //设置防⽕墙允许radius服务(本⽂前⾯已禁⽌防⽕墙⾃启动,可不运⾏此命令)firewall-cmd --reload //重启防⽕墙 5.2 配置FreeRadius连接MariaDB数据库mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql //创建FreeRadius在数据库中的数据表 5.3 修改FreeRadius配置⽂件vi /etc/raddb/mods-available/sql //使⽤VI编辑器修改配置⽂件chgrp -h radiusd /etc/raddb/mods-available/sql //配置⽂件权限systemctl restart radiusd.service //重启radius服务修改内容如下:六、 安装DaloRadius 6.1 下载DaloRadius源代码并解压后将⽂件夹移动到Apache Web服务器⼯作⽬录wget https:///lirantal/daloradius/archive/master.zip //从Github上获取并下载源代码unzip master.zip //解压rm -f master.zipmv daloradius-master/ /var/www/html/daloradius //移动⽂件夹 6.2 设置DaloRadius⽬录权限及属主信息chown -R apache:apache /var/www/html/daloradiuschmod -R 664 /var/www/html/daloradius/library/daloradius.conf.php 6.3 打开防⽕墙HTTP服务firewall-cmd --permanent --add-service=http //打开防⽕墙http服务(本⽂中已关闭防⽕墙,不必运⾏此命令)firewall-cmd --reload //重启防⽕墙 6.4 在MariaDB中创建DaloRadius数据对象mysql -u root -p radius < /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql //导⼊SQL脚本mysql -u root -p radius < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql //导⼊SQL脚本 6.5 修改DaloRadius配置⽂件vi /var/www/html/daloradius/library/daloradius.conf.php //使⽤VI编辑器修改DaloRadius配置⽂件七、 测试连接 7.1 浏览器访问:http://12.172.1.12/daloradius 7.2 登录系统(默认⽤户名:administrator 密码:radius)========== End。
PPPOE + FreeRADIUS + MySQL 配置记录
PPPOE + FreeRADIUS + MySQL 配置记录zt:/viewthread.php?tid=574668&highlight=PPPOE最近两天花精力把PPPOE拨号服务器做了一下,因为网上这方面的资料少得可怜,所以觉得有必要记录一下,用以方便今后需要做这些东西的同志们。
硬件环境:C4 2.6/ 256M/ 80G IDEHD/ intel 82801集成网卡。
软件环境:Debian sarge 3.1r0 netinst用到的包:ppp-2.4.3.tar.gzppp-2.4.3-m ppe-m ppc-1.1.patch.gzlinux-2.4.30.tar.bz2linux-2.4.30-m ppe-mppc-1.3.patch.gzrp-pppoe-3.5.tar.gzmysql-4.1.12.tar.gzfreeradius-1.0.4.tar.gz其中的ppp-2.4.3.tar.gz 在/ 可以下载到linux-2.4.30.tar.bz2 在/ 可以下载到ppp-2.4.3-m ppe-m ppc-1.1.patch.gz 和linux-2.4.30-m ppe-mppc-1.3.patch.gz可以在/h/hs001/ 下载到rp-pppoe-3.5.tar.gz 在/penguin/open_source_rp-pppoe.php可以下载到mysql-4.1.12.tar.gz 可以在http://dev.m / 下载到freeradius-1.0.4.tar.gz 可以在/ 下载到。
网络情况:IP: 192.168.1.123mask : 255.255.254.0gateway: 192.168.0.1dns: 192.168.0.2下面开始:我的系统一开始就给我装了ppp和pppoe,为了自立更生,我还是把他们删掉了,debian下做这个坏事比较方便:CODE:[Copy to clipboard] # apt-get remove ppp pppconfig pppoe pppoeconf1、重编译内核,加入PPP和PPPOE的支持;首先解压内核源码,然后把MPPC+MPPE的补丁打上。
freeradius配置
zhx@一、安装freeradius服务:1、安装freeradius需要openssl 库,所以如果系统里没安装的话,请先安装# tar zxvf freeradius-1.1.1.tar.gz# cd freeradius-1.1.1# ./configure# make# make install配置文件:/usr/local/etc/raddb执行文件:/sbin/radiusddictionary:/usr/local/share/freeradius/dictionary.在mysql中导入radius表所需sql语句目录:/usr/local/share/doc/freeradius/examples/mysql.sql)2、配置1)修改clients.conf# vi /usr/local/etc/raddb/clients.conf在最后增加如下几行:client 127.0.0.1 { ;增加本地帐户,测试radius是否工作正常secret = 123456 ;本地连接radius的密码shortname = localhostnastype = other}client 192.168.80.2 { ;增加防火墙连接radius的接口地址secret = mymingya ;防火墙连接radius的密码shortname = sec100fnastype = other}2)修改naslist# vi /usr/local/etc/raddb/naslist在最后加入一行:192.168.80.2 sec100f other ;加入防火墙nas3)编辑users# vi /usr/local/etc/raddb/users在文本最后加入用户rhh:(这个用户是保存在文本文件里的,做测试用)rhh Auth-Type:=local,User-Password==123456Service-Type = Framed-User,Framed-Protocol = PPP,Framed-IP-Address = 10.0.0.2,Framed-IP-Netmask = 255.255.255.0# /sbin/radiusd –X & (加上&在后台运行,便于下面测试命令执行)# /sbin/radtest rhh 123456 localhost 0 123456三、建立radius和mysql的联系1、创建radius数据库#mysqladmin –u root –p create radius ;注意:磁盘空间不足回导致建库失败!!!2、导入radius数据表:# cd /usr/local/share/doc/freeradius/examples/# mysql -u root -p radius < mysql.sqlradius数据库中有2个表需要注意:radcheck:存放用户名和密码的表,以后在这儿添加VPN用户名和密码radacct:计费信息,以后自动记录VPN登录的时间和收发数据的统计信息3、编辑radius.conf 使其支持mysql认证# vi /usr/local/etc/raddb/radiusd.confauthorize {preprocesschapmschapsuffixsql 将前面#号去掉...}accounting {...sql 将前面#号去掉...}4、编辑sql.conf ,使radius可以访问mysql# vi /usr/local/etc/raddb/sqlconfsql {driver = "rlm_sql_mysql"server = "localhost"login = "root"password = "mysql的密码" ;mysql的root用户的密码radius_db = "radius" ;刚才创建的数据库名5、向数据库里增加一些数据;# /usr/local/mysql/bin/mysql -u root -p radius先加入一些组信息:insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local'); insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask','=','255.255.255.255');insert into radgroupcheck (groupname, attribute, op, value) values ("user", "Auth-Type", ":=", "Local");然后加入第一个用户信息:insert into radcheck (username,attribute,op,value) values ('rhh','User-Password','==','123456');然后把用户加到组里:insert into usergroup(username,groupname) values('rhh','user');6、测试radius和mysql的连接:重启mysql:#service mysqld restart启动radius:# /sbin/radiusd –x & ;以debug模式运行radius# /sbin/radtest rhh 123456 localhost 0 123456 ;用mysql中的帐号测试出现Access-Accept 之类的字样就表示radius和mysql之间的连接正常。
RADIUS认证服务器的安装与配置实训
RADIUS认证服务器的安装与配置实训RADIUS(Remote Authentication Dial-In User Service)是一种广泛应用于企业网络中的认证和授权服务。
它通过提供集中化的身份认证和授权管理,使得多个网络设备可以共享同一个认证服务器,从而简化了网络管理和用户访问的控制。
在本篇文章中,我们将介绍如何安装和配置一个RADIUS认证服务器。
首先,我们需要选择适合自己需求的操作系统来安装RADIUS 服务器。
常用的操作系统选择包括Linux、Windows和FreeBSD等。
在本实训中,我们将选择使用Linux操作系统来安装和配置RADIUS服务器。
我们选择的Linux发行版是Ubuntu Server。
1. 安装Ubuntu Server:首先,在物理或虚拟机上安装Ubuntu Server操作系统。
下载最新的Ubuntu Server ISO镜像文件,并使用它创建一个启动USB或光盘。
启动计算机,并按照提示进行操作系统安装。
2. 安装FreeRADIUS:在Ubuntu Server上安装RADIUS服务器,我们将使用FreeRADIUS。
在终端中运行以下命令,以安装FreeRADIUS:```sudo apt-get updatesudo apt-get install freeradius```3. 配置FreeRADIUS:安装完成后,我们需要对FreeRADIUS进行配置。
首先,编辑`/etc/freeradius/users`文件,该文件包含用户的认证信息。
添加以下示例行,其中用户名为`testuser`,密码为`testpassword`:```testuser Cleartext-Password := "testpassword"```4. 配置FreeRADIUS服务器参数:接下来,我们需要编辑`/etc/freeradius/clients.conf`文件,该文件包含了RADIUS服务器的配置信息。
freeradius配置文档
FreeRADIUS 服务端安装1.1、下载、编译、安装wget -c ftp:///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 install1.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 testing123Define a User and PasswordEdit /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模块支持# 查找"sql.conf”(683行),去掉#号vim /usr/local/etc/raddb/radiusd.confOracle支持回到之前解压的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}/lib2.2、创建radius 数据库及表# 123456是你mysql的root密码mysqladmin -uroot -p123456 create radius;#修改radius帐号的密码cd /usr/local/etc/raddb/sql/mysqlsed -i 's/radpass/123456/g' admin.sqlsed -i 's/radpass/123456/g' /usr/local/etc/raddb/sql.confmysql -uroot -p123456 < admin.sqlmysql -uroot -p123456 radius < ippool.sqlmysql -uroot -p123456 radius < schema.sqlmysql -uroot -p123456 radius < wimax.sqlmysql -uroot -p123456 radius < cui.sqlmysql -uroot -p123456 radius < nas.sql插入一些测试数据:mysql> insert intoradgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');mysql> insert intoradgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User'); mysql> insert intoradgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask','=','255.255.255.25 5');mysql> insert intoradgroupreply (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/sql.confmysql用户名,密码根据自己的情况填写第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/eap.conf第30行default_eap_type = md5改为default_eap_type = peap5.编辑/etc/raddb/clients.conf,加入de>client 192.168.4.3 {secret = tp-linkshortname = test}de>注意:如果出现以下报错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 : 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 <default>修改vi /etc/ld.so.conf加入mysql的lib路径 /usr/local/mysql/lib 。
freeradiusserver和client部署(实战)
freeradiusserver和client部署(实战)⽹上有很多的⽂章,但总是遇到各类问题,有的也没有明确的说明,在此总结了⼀下⾃⼰的实战记录,分享出来:(分享者:qin)第⼀种freeradius-server安装⽅法:1.安装依赖库yum -y install libtalloc-develyum -y install openssl openssl-develyum -y install mysql-devel2.获取源码wget https:///FreeRADIUS/freeradius-server/archive/freeradius-server-3.0.13.tar.gztar -zxvf freeradius-server-3.0.13.tar.gzcd freeradius-server-3.0.13/3.编译./configuremakesudo make install也可参考官⽅安装指导⽂档:第⼆种freeradius-server安装⽅法:1. 安装依赖库:libtallocyum -y install libtalloc-devel2.安装依赖库:opensslyum -y install openssl openssl-devel3.安装依赖库和radius-server:yum install -y freeradius freeradius-utils freeradius-mysql4.查看安装结果:rpm -qa |grep freeradiusfreeradius-mysql-3.0.13-15.el7.x86_64freeradius-3.0.13-15.el7.x86_64freeradius-devel-3.0.13-15.el7.x86_64freeradius-utils-3.0.13-15.el7.x86_64有以上4项说明本次安装成功5. 装完成后,去修改配置⽂件/etc/raddb/users(修改⽂件前记得备份⼀下原⽂件),在此⽂件的最后添加下⾯⼀⾏内容:test Cleartext-Password := “123456” -----》注意不要有任何中⽂字符存在6. 如果启动了防⽕墙,需要修改防⽕墙配置,允许freeradius所使⽤的端⼝1812,1813通过。
FreeRadius服务器搭建
(4)freeradius与mysql关连本人一开始对这部分也不了解,全是从网上找的,经过N将的试验才通过。
首先要启用mysql:#/etc/rc.d/init.d/mysqld status 查看mysql是否已启动,如果没有#/etc/rc.d/init.d/mysql start 启动mysql,然后:(a)创建radius数据库#mysql -u root -p //默认没有密码mysql>create database radius;mysql>exit;(b)将radius中的sql表导入到mysql的radius数据库中# mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql# mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql# mysql -u root -p radius < /etc/raddb/sql/mysql/ippool.sql注意:通过yum安装的freeradius由于版本太低,在/etc/raddb中没有sql目录,我是从freeradius2.0.5中将sql目录拷贝到/etc/raddb中的。
(c)授权mysql> GRANT SELECT ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radpass';mysql> GRANT ALL on radius.radacct TO 'radius'@'localhost';mysql> GRANT ALL on radius.radpostauth TO 'radius'@'localhost';(d)加入一些组信息: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');(e)加入用户信息:mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('azalea', 'Password', 'azalea');mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('support', 'Password', 'sup123');(f)然后把用户加到组里:mysql> insert into radusergroup(username,groupname)values('azalea','user');mysql> insert into radusergroup(username,groupname)values('support','user');使用命令:#mysql> select * from radcheck 查看已创建的用户名及密码mysql> select * from radcheck;+----+----------+-----------+----+---------+| id | username | attribute | op | value |+----+----------+-----------+----+---------+| 1 | azalea | Password | == | azalea || 2 | support | Password | == | sup123 |+----+----------+-----------+----+---------+2 rows in set (0.00 sec)(g)修改mysql数据库的root用户密码为azalea#mysqladmin -u root -p password azaleaEnter password: //此处是旧密码,默认为空。
centos5.Freeradius2.1mysql5.0成功安装配置笔记
centos5.Freeradius2.1mysql5.0成功安装配置笔记
centos 5.Freeradius2.1 mysql 5.0成功安装配置笔记
[root@localhost raddb]# cp clients.conf /home/radius/bakconf/
由于在linux vi 看不出第几行,目前不知道如何查看第几行,所以就直接把要修改的文件通过ftp 工具拉出来到windows 下用UltraEdit找到以下相应的行做修改
注意如果添加注释时#顶头写,去掉注释时采用vi x删除命令删除最好不要移动后面的内容
steve Cleartext-Password := "testing"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 172.16.3.33,
Framed-IP-Netmask = 255.255.255.0,
mysql> insert into radgroupreply (groupname,attribute,op,value) values
('user','Service-Type','=','Framed-User');
mysql> insert into radgroupreply (groupname,attribute,op,value) values
第88行取消readclients = yes 前的注释
Freeradius部署及认证实践
Freeradius部署及认证实践
薛民华;解宝琦
【期刊名称】《网络安全和信息化》
【年(卷),期】2022()11
【摘要】通过对freeradius服务的搭建和配置进行安装部署,并对常见的华为、H3C等网络交换设备通过Radius协议接入freeradius服务器进行认证实践。
【总页数】5页(P88-92)
【作者】薛民华;解宝琦
【作者单位】西安
【正文语种】中文
【中图分类】TP3
【相关文献】
1.利用开源软件FreeRADIUS构建图书馆统一认证平台的研究与实现
2.基于开放源码软件Freeradius的无线网络认证系统实现
3.基于FreeRADIUS的高校eduroam无线漫游认证技术研究
4.使用USBKey提高FreeRadius证书认证的安全性
5.基于软件Freeradius实现校园网认证系统的研究
因版权原因,仅展示原文概要,查看原文内容请购买。
安装ubuntu freeradius步骤及ROS认证(附截图)
安装ubuntufreeradius步骤及ROS认证(2013-09-0501:46)首先要安装apache2,mysql-server,mysql-client,php5,php5-gd,phpmyadmin,vim1、apt-get install freeradius-mysql2、cd /etc/freeradius3、vimclients.conf,在约196行处,做修改改成如下,这样此两个网段的Radius请求都可以通过3、vimradiusd.conf,在modules下,大约为683行,去掉注释sql.conf561行,加注释#$INCULDE clients.conf4、vimsql.conf,大约第36行,修改连接mysql数据库用户名密码100行,去掉注释readclients=yes5、vim sites-available/defaultauthorize下,148行,去掉注释unix,约159行,去掉注释sql,accounting下,约388行,去掉注释sql6、vim sites-available/inner-tunnel,authorize下,67行,去掉注释unix,约在131行,去掉注释sql7、新建MySQL数据库radius8、输入命令mysql -u root -p radius </etc/freeradius/sql/mysql/schema.sqlmysql -u root -p radius </etc/freeradius/sql/mysql/nas.sql9、插入数据添加Radius客户端信息:INSERT INTO `radius`.`nas` (`id`, `nasname`, `shortname`, `type`, `ports`, `secret`, `server`, `community`, `description`) VALUES (NULL, '192.168.1.111', 'RouterOS', 'other', '1812', '123456', NULL, NULL, 'RADIUS Client');INSERT INTO `radius`.`nas` (`id`, `nasname`, `shortname`, `type`, `ports`, `secret`, `server`, `community`, `description`) VALUES (NULL, '192.168.1.103', 'MyPC', 'other', '1812', '123456', NULL, NULL, 'RADIUS Client');添加用户信息:INSERT INTO `radius`.`radcheck` (`id`, `username`, `attribute`, `op`, `value`) VALUES (NULL, 'shaclo', 'Cleartext-Password', ':=', '123456');INSERT INTO `radius`.`radcheck` (`id`, `username`, `attribute`, `op`, `value`) VALUES (NULL, 'aaa', 'Cleartext-Password', ':=', '123456');管理用户和组的关系:INSERT INTO `radius`.`radusergroup` (`username`, `groupname`, `priority`) VALUES ('shaclo', 'brand', '1'), ('aaa', 'brand', '1');创建组信息INSERT INTO `radius`.`radgroupreply` (`id`, `groupname`, `attribute`, `op`, `value`) VALUES (NULL, 'brand', 'Framed-Compression', ':=', 'PPP');INSERT INTO `radius`.`radgroupreply` (`id`, `groupname`, `attribute`, `op`, `value`) VALUES (NULL, 'brand', 'Framed-Protocol', ':=', 'Van-Jacobsen-TCP-IP');INSERT INTO `radius`.`radgroupreply` (`id`, `groupname`, `attribute`, `op`, `value`) VALUES (NULL, 'brand', 'Service-Type', ':=', 'Framed-User');INSERT INTO `radius`.`radgroupreply` (`id`, `groupname`, `attribute`, `op`, `value`) VALUES (NULL, 'brand', 'Framed-MTU', ':=', '1500');添加组校验信息:INSERT INTO `radius`.`radcheck` (`id`, `username`, `attribute`, `op`, `value`) VALUES (NULL, 'brand', 'Auth-Type', ':=', 'EAP'),(NULL, 'brand', 'Auth-Type', ':=', 'Accept');最后radreplyINSERT INTO `radius`.`radreply` (`id`, `username`, `attribute`, `op`, `value`) VALUES (NULL, 'aaa', 'Fail-Through', '=', 'yes'), (NULL, 'shaclo', 'Fail-Through', '=', 'yes');10、配置RouterOS网卡信息修改网卡名称/interface配置IP地址/ip address11、配置Router Hotspot /ip hotspot/setup12、重启freeradius服务有如下显示即为正常启用13、检验Radius认证,使用NTRadPing1.2,如图所示即为成功14、安装Freeradius管理工具a、安装git和pearsudo apt-get install git-core php-pear然后更新pear列表、再安装HTML_Template_Sigma这个框架pear channel-update pear install HTML_Template_Sigma然后获取ARA的安装文件git clone git://git.asn.pl/asn/ara然后将ARA目录时的src文件映射到迩的http服务器设置的主目录、也就是你打开IP默认从那个地方加载的地区、通常是/var/wwwln -s ~/ara/src/htdocs/ /var/www/arab、配置一下ARAcd ~ara/src/configcpconfig.php.distconfig.phpvim config.php把这三行配置成迩实际的数据库用户名密码和数据库名称(radius换成用户名或密码)$config["sql_username"] = "radius";$config["sql_passwd"] = "radius";$config["sql_db"] = "radius";启用用户信息附加功能$config["sql_user_extension"] = TRUE; //将False改为TRUE。
FreeRADIUS 安装与管理
公眾 (public) 或私有 (private) 資源
資源控管
3
RADIUS 簡介 #1
RADIUS / Remote Access DIalin User Service 應用範圍
撥接用戶撥入身份認證 無線網路存取身份認證 其他網路設備或服務驗證
13
FreeRADIUS 名詞解釋 #2
Proxy/ 轉送
在多部 RADIUS 必須協同合作認證的情況下,就會使用 到 RADIUS Proxy 功能。 簡單來說就是一種把認證請求封包丟給其他 RADIUS 伺 服器的機制。 封包是否 proxy 的依據主要是以 realm 名稱來辨別。
Secret Key/ 密鑰
認證客戶端的封包透過 secret key 加密後傳送給 RADIUS 伺服器,以避免明文在網路上傳遞。 伺服器也用同一把 secret key 將封包解密,然後再處理 客戶端的請求。 FreeRADIUS 中的 secret key 僅是簡單的字串型態。
14
FreeRADIUS 名詞解釋 #3 Attributes / 屬性欄位
15
FreeRADIUS 運作流程 #1 系統運作流程
系統運作於 UDP port 1812/1813
讀取 radiusd.conf 系統設定
收到認證請求 (Access-Request) 封包
比對 clients.conf 的認證來源設定
比對領域名稱 (Realm) ,決定處理方式
比對 proxy.conf 的領域名稱設定 有合法的 realm 設定
•
例如 : /usr/local/var/log/radius/radacct/192.168.0.253/detail-20060130
架设freeradius的radius服务器
在虚拟机上安装freeradius的radius服务器一、安装openssl1) 下载openssl:从/source/下载最新的源文件。
这里是openssl-0.9.8h.tar.gz2) tar zxvf openssl-0.9.8h.tar.gz3) cd openssl-0.9.8h4) ./config –prefix=/usr/local/openssl shared5) make6) make test7) make install8) 备份/etc/profile cp /etc/profile /etc/profile.bak9) 编辑/etc/profile 在这个文件的末尾加入LD_LIBRARY_PATH=/usr/local/openssl/libLD_PRELOAD=/usr/local/openssl/lib/libcrypto.soexport LD_LIBRARY_PATH LD_PRELOAD10) 备份之前的/usr/bin/opensslmv /usr/bin/openssl /usr/bin/openssl.backln -s /usr/local/openssl/bin/openssl /usr/bin/openssl11) 检查openssl是否安装完成输入openssl version –a 会有下面的提示:OpenSSL 0.9.8h 28 May 2008built on: Tue Jul 1 17:14:25 CST 2008platform: linux-elfoptions: bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) idea(int)blowfish(idx)compiler: gcc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS-D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN-DTERMIO -O3 -fomit-frame-pointer -Wall-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2-DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASMOPENSSLDIR: "/usr/local/openssl/ssl"至此openssl安装完成二、安装freeradius1)从上下载freeraidus源码freeradius-server-2.0.5.tar.gz。
freeradius安装编译调试
Freeradius 安装编译调试一.编译:cd /root/soft/freeradius/freeradius-server-2.1.7 chmod 775 'find * |grep configure&'./configure --prefix=/usr/local/apps/radiuschmod 775 install-shmake cleanmakemake install二.部署:cd /usr/local/apps/radius/etc/raddb/1.修改radiusd.conf# $INCLUDE sql.conf的#删除(使用f配置信息)2.修改/sites-available/defaultauthorize {..............159 sql 前的#删除.......}accounting {............365 sql 前的#删除......}3.修改clients.conf......# 必须在整个文件的最后添加所有需要被许可的Radius客户端 client rad_client0 { # 给客户端随便起个名字ipaddr = 192.168.12.146 # 客户端的IPsecret = nas123 # 客户端与服务端进行通信的密钥shortname = rad_client0 # 给客户端随便起个缩写的名字nastype = other}client 客户端ip {secret = nas123}client rad_client2 {......}client rad_client3 {......}......4.修改sql.conf 配置数据库连接......## Set the database to one of:## mysql, mssql, oracle, postgresql #database = "mysql"#database = "oracle"## Which FreeRADIUS driver to use. #driver = "rlm_sql_${database}"# Connection info:server = "localhost"#server = "zengl"#port = 3306login = "radius"password = "radpass"# Database table configuration for everything except Oracleradius_db = "radius"# If you are using Oracle then use this instead# radius_db ="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)) (CONNECT_DATA=(SID=your_sid)))"#radius_db ="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zengl)(PORT=1521))(C ONNECT_DATA=(SID=sidzengl)))"5.数据表导入数据库创建radius数据库#mysqladmin -uroot -p123456 create radius建立mysql的数据库raius的表mysql -u root -p123456 radius <etc/raddb/sql/mysql/schema.sql#### mysql -u root -p123456 radius <etc/raddb/sql/mysql/nas.sql# mysql -u root -p123456 radius <etc/raddb/sql/mysql/ippool.sql# mysql -u root -p123456 radius <etc/raddb/sql/mysql/wimax.sql三.启动:/usr/local/apps/radius/freeradius2/sbin/radiusd debug模式启动:/usr/local/apps/radius/freeradius2/sbin/radiusd -X。
freeradius配置信息详解
Radiusd.conf文件是freeradius的核心配置文件,其中设置了服务器的基本信息,配置文件与日志文件的环境变量,并详细配置freeradius模块所使用的信息,与认证和计费所使用模块的配置. 配置的变量定义的形式为${foo},他们就在这个文件上,并且不随请求到请求而改变. 变量的格式参照 variables.txt.1.1 环境变量此处定义其他配置文件以及目录的位置,也就是环境变量prefix = /usr/localexec_prefix = ${prefix}sysconfdir = ${prefix}/etclocalstatedir = ${prefix}/varsbindir = ${exec_prefix}/sbinlogdir = ${localstatedir}/log/radiusraddbdir = ${sysconfdir}/raddbradacctdir = ${logdir}/radacct配置文件和日志文件的位置confdir = ${raddbdir}run_dir = ${localstatedir}/run/radiusd日志文件的信息,添加到如下配置文件的底部log_file = ${logdir}/radius.log1.2 全局配置模块的位置由 libdir来配置。
如果不能工作,那么你可以从新配置,从新Build源码,并且使用共享库。
pidfile: Where to place the PID of the RADIUS server.pidfile = ${run_dir}/radiusd.piduser/group如果有评论,服务器会运行用户/组启动它. 修改用户/组,必须具有root权限启动服务器这里的含义是指定启动radius服务可以限定操作系统上的用户和组,但是不建议启动它.#user = nobody#group = nobody最长请求时间(秒),这样的问题经常需要存在在应用SQL数据库时候,建议设置为5秒到120秒之间.max_request_time = 30当请求超过最长请求时间的时候,可以设置服务器删除请求.当你的服务在threaded(线程下)运行,或者线程池(thread pool) 模式,建议这里设置为no.但用threaded 服务设置为yes时,有可能使服务器崩溃.delete_blocked_requests = no在 reply 发送给NAS后的等待清空时间. 建议 2秒到 10秒cleanup_delay = 5服务器的请求最大数,建议值 256 到无穷max_requests = 1024让服务器监听某个IP,并且从次IP发送相应信息. 主要是为了服务器同时具有多服务器时候使用.bind_address = *可以指定raidus的使用端口号,使用0表示使用默认的radius端口,在配置文件 /etc/services配置.port = 0如果需要服务器同时监听其他的IP,可以用listen 块. 下面是例子#listen {# IP address on which to listen.# Allowed values are:# dotted quad (1.2.3.4)# hostname ()# wildcard (*)# ipaddr = *# Port on which to listen.# Allowed values are:# integer port number (1812)# 0 means "use /etc/services for the proper port"# port = 0# Type of packets to listen for.# Allowed values are:# auth listen for authentication packets# acct listen for accounting packets## type = auth#}hostname_lookups大概是表示为NAS查找它的域名信息?可以通过域名配置NAS?hostname_lookups = no是否允许 core dumps.allow_core_dumps = noexpressions支持,规则和扩展.regular_expressions = yesextended_expressions = yes记录User-Name属性的全称.log_stripped_names = no是否记录认证请求信息到日志文件log_auth = no当请求被拒绝时记录密码,当请求正确时记录密码log_auth_badpass = nolog_auth_goodpass = no是否允许用户名冲突,即重复同用户同时登陆.强烈不建议启用重复用户.usercollide = no将用户名小写化,将密码小写化.lower_user = nolower_pass = no是否去除用户名和密码中的空格nospace_user = nonospace_pass = no程序执行并发检查(不理解含义)checkrad = ${sbindir}/checkrad安全配置域security {指在Radius包中的最大属性数目.设置为0表示无穷大.max_attributes = 200发送 Access-Reject 包时候,可以设置一定的延迟,以缓慢DOS攻击,也可以缓慢穷举破解用户名和密码的攻击reject_delay = 1服务器是否对状态服务器的请求信息进行相应.status_server = no}PROXY CONFIGURATION代理域.是否开启代理服务,具体配置参照 ${confdir}/proxy.conf proxy_requests = yes$INCLUDE ${confdir}/proxy.confClients配置$INCLUDE ${confdir}/clients.conf是否启用snmp配置,具体配置文件在snmp.confsnmp = no$INCLUDE ${confdir}/snmp.conf线程池配置域thread pool {启动时服务的个数.(在启动Mysql模块后可以明显看到.)当同时进行的请求数超过5个时,会增加线程服务.start_servers = 5最大的服务数max_servers = 32当少于最少空闲服务时,它会建立服务,大于最大空闲服务时会停止多余的服务.最少空闲服务,与最大空闲服务.min_spare_servers = 3max_spare_servers = 10每个server最大的请求数.当有内存漏洞时,可能需要配置.max_requests_per_server = 0}1.3 模块配置1.3.1 PAP 模块# Supports multiple encryption schemes 支持多种加密方式# clear: Clear text 明文# crypt: Unix crypt Unix 加密# md5: MD5 ecnryption MD5加密# sha1: SHA1 encryption. SHA1加密# DEFAULT: crypt 默认是Unix加密pap {encryption_scheme = crypt}1.3.2 CHAP模块chap {authtype = CHAP}1.3.3 PAM模块PAM模块 (PAM) 是行业标准验证框架,鉴于很多系统的PAM库都有内存漏洞,所以不建议使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Freeradius + mysql + 华为AP无线认证1freeradius安装与测试1.1安装freereradius 与 mysql。
环境:centos 6.6 软件版本freeradius-server-2.2.9。
#mkdir /usr/local/radius //创建一个安装包目录。
#mv freeradius-server-2.2.9.tar.gz /usr/local/radius //将安装包移动至此目录下。
#cd /usr/local/radius //进入该目录#tar –zxvf freeradius-server-2.2.9.tar.gz //解压文件到当前目录#cd freeradius-server-2.2.9 //进入该文件夹安装之前,先将需要的库环境安装,因为系统安装的版本不一致,可能没有安装相应的库。
#yum install –y gcc vim //编译工具和编辑工具#yum install –y openssl.devel //安装OpenSSL库#./configure //安装检查#make//编译#make install //安装1.2测试redius服务是否安装成功。
相关配置文件路径为: /usr/local/etc/raddb/。
#vim /usr/local/etc/raddb/users去掉以下内容前面的#注释:steve Cleartext-Password := "testing"这样就有了测试账号steve和密码:testing。
或者自行新建一行记录。
1.3对radius服务进行启动测试。
#radiusd –X,在debug 模式下运行,可以看到报错和认证信息。
如果程序正常运行,最后三行如下Listening on authentication *:1812Listening on accounting *:1813Ready to process requests.1.4进行简单的连接测试# radtest steve testing localhost 1812 testing123出现Access-Accept字样说明成功。
这里的testing123是在/etc/raddb/clients.conf中定义的localhost的密码。
测试完成后将steve用户再恢复原样,即加上#注释。
测试成功后把/usr/local/etc/raddb/users改回去。
2Mysql运行测试及与redius的连接设置2.1Mysql服务启动#yum install –y mysql-server //安装mysql# /etc/init.d/mysqld start,进行mysql服务启动,出现mysqld: [ OK ]表示启动成功。
2.2Radius与mysql数据库的连接结合。
2.2.1Freeradius mysql模块配置1.#vim /usr/local/etc/raddb/radius.conf,去掉“ &INCLUDEsql.conf” 行前面的#注释,也可以在相应的地方加上&INCLUDE sql.conf来启用mysql模块支持。
2.修改/usr/local/etc/raddb/sql.conf文件Sql{Server = “localhost”Login = “root”Password= “root用户密码”Radius_db=”radius”3.修改/etc/raddb/clients.conf文件支持所有NASNastype = other2.2.2创建radius数据库及表#mysqladmin –uroot –p PASSWOED create radius; //使用root 权限创建一个名为radius的数据库。
PASSWOED 表示root用户的密码。
2.2.3将两者进行结合关联1.将freeradius的库表导入mysql的radius数据库中:#mysql –uroot –pPASSWOED radius < /usr/local/etc/raddb/sql/mysql/schema.sql#mysql –uroot –pPASSWOED radius </usr/local/etc/raddb/sql/mysql/nas.sql#mysql –uroot –pPASSWOED radius < /usr/local/etc/raddb/sql/mysql/ippool.sql#mysql –uroot –pPASSWOED radius < /usr/local/etc/raddb/sql/mysql/wimax.sql(ippool.sql 和 wimax.sql,可以按需导入,具体用处可以百度freeradius 数据表详解)2.对用户进行授权# mysql -u root -p#mysql> GRANT SELECT ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'rad pass';# mysql> GRANT ALL on radius.radcheck TO 'radius'@'localhost';#mysql> GRANT ALL on radius.radgroupcheck TO 'radius'@'localhost';#mysql> GRANT ALL on radius.radusergroup TO 'radius'@'localhost';3.在数据库中加入测试组#mysql –uroot –p密码radius#mysql> insert into radgroupreply (groupname,attribute,op,value) values ('use r','Auth-Type',':=','Local');#mysql> insert into radgroupreply (groupname,attribute,op,value) values ('use r','Service-Type','=','Framed-User');#mysql>INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-Protocol',':=','PPP');#mysql> insert into radgroupreply (groupname,attribute,op,value) values ('use r','Framed-IP-Address','=','255.255.255.255');mysql> insert into radgroupreply(groupname,attribute,op,value) values('user','Framed-IP-Netmask’,’:=’,’255.255.255.0);#mysql>INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-Compression',':=','Van-Jacobson-TCP-IP');#mysql>INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-MTU',':=','1500');4.打开从数据库查询nas支持默认从 "/usr/local/etc/raddb/clients.conf" 文件读取,开启后可从数据库nas表读取:sed -i 's/\#readclients/readclients/g' /usr/local/etc/raddb/sql.conf5.修改文件配置#vim /usr/local/etc/raddb/sites-enabled/defaultauthorize{}模块:注释掉files(159行),去掉sql前的#号(166行)accounting{}模块:注释掉radutmp(385行),注释掉去掉sql前面的#号(395行)。
session{}模块:注释掉radutmp(439行),去掉sql前面的#号(443行)。
post-auth{}模块:去掉sql前的#号(464行),去掉sql前的#号(552行)。
#/usr/local/etc/raddb/sites-enabled/inner-tunnelauthorize {}模块:注释掉files(124行),去掉sql前的#号(131行)。
session {}模块:注释掉radutmp(251行),去掉sql前面的#号(255行)。
post-auth {}模块:去掉sql前的#号(277行),去掉sql前的#号(301行)。
#vim /usr/local/etc/raddb/clients.conf在client localhost{ }后面加上:Client 客户端地址段/掩码{Secret = testing123 #一般默认都是这个,如果要修改必须与客户端的共享秘钥保持一致。
Shortname = AP #可以随便写,暂时没有发现用处。
Nastype = other #使用的NAS 是其他类型。
require_message_authenticator = no #消息取消,减少认证错误。
可以不加}6.在数据库radius添加新用户#mysql –uroot –ppasswd#mysql> 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',user’);#对用户的使用时长进行设置INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('demo','Expiration’,':=','11 Mar 2017');#对用户的使用时间段进行设置INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('demo','Login-Time’,':=','A10600-1230');以上设置表示demo这个账号只能在2017年3月11日前每天的上午6点至中午12点30分的时间段内使用2.2.4启动测试#radiusd &#radtest demo demo localhost 1812 testing123//若反馈的信息为: access-accept,恭喜你成功了2.3使用NAS模拟器测试radius2.3.1下载测试工具RADIUStest//若反馈的信息为: access-accept,恭喜你成功了。