freeradius配置文档
FreeRadius配置与验证测试_v3.0

Freeradius配置与验证测试[摘要]本文主要介绍FreeRadius安装和基本测试。
增加介绍配置FreeRadius支持IPv6地址方式认证的内容。
在CentOS5.5系统安装和配置FreeRadius服务器,进行简单的认证测试。
在安装FreeRadius服务器前,预先需要在服务器上安装Gcc编译器和openssl。
1环境检查1、查看openssl版本# openssl version -aOpenSSL 0.9.8e-fips-rhel5 01 Jul 20082、查看gcc版本#gcc –vgcc 版本4.1.2 20080704 (Red Hat 4.1.2-52)3、系统进行一次升级#yum –y update2FreeRadius安装到官网下载FreeRadius安装包/在此下载的是Version 2.2.0. tar.gz(PGP Signature)版本freeradius-server-2.2.0.tar.gz1、上传到CentOS服务器,注意要使用二进制方式,建议放到根目录下。
2、修改文件属性#chmod 777 freeradius-server-2.2.0.tar.gz3、解压文件#tar xvf freeradius-server-2.2.0.tar.gz4、进入解压目录# cd freeradius-server-2.2.05、编译服务器#./configurechecking for gcc... gccchecking for C compiler default output file name... a.out checking whether the C compiler works... yeschecking whether we are cross compiling... nochecking for suffix of executables...checking for suffix of object files... ochecking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none needed checking for g++... g++checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yeschecking how to run the C preprocessor... gcc -Echecking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -Echecking for AIX... nochecking whether gcc needs -traditional... nochecking whether we are using SUNPro C... nochecking for ranlib... ranlibchecking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking whether byte ordering is bigendian... nochecking for gmake... nochecking for make... /usr/bin/makeconfigure: error: GNU Make is not installed. Please download and install it from ftp:///pub/gnu/make/ before continuing.#make && make install此过程需要编译和安装,可能需要几分钟。
centos_radius_搭建freeradius

#降低从client到server的response_window的报文,注意不可以增大response_window.
# response_window = 10.0
}
# 取消注释这部分,编辑listen部分,增加:"clients = per_socket_clients".
# That IP address/port combinationwill then accept ONLY the clients listed in this section.
client 172.22.4.0/24 {
secret = adcforever
shortname = any
}
client 127.0.0.1/24 {
secret = localtest #共享密钥
}
client localhost {
ipaddr = 127.0.0.1
secret = localtest
require_message_authenticator = no # 在1.x版本,client发送Access-Request时不会携带Message-Authenticator,但是从2.x以后,RFC5080建议所有的clients发送Message-Authenticator,如果设为yes,client没有携带Message-Authenticator,报文会悄悄的discarded掉,而不会通知client
备注:现在已经用Cleartest-Password这个参数替代了User-Password,%{User-Name}获取用户名
2.chap验证方式
ubuntu下mysql,freeradius,jdk的安装和配置

注:我推荐使用两个工具:putty.exe和WinSCP,这两个工具一个是远程工具,一个是远程ftp协议方便使用。
这两个工具只需要在安装ubuntu系统的时候安装上openssh就可以使用了。
Ubuntu10.下mysql5.0.87,freeradius2.1.12的安装和配置,java开发环境(jdk1.6.0_10)的安装Ubuntu安装过程中选择“英文”编码方式,设置桥接网络,设置dhcp的网络访问方式;1. 以DHCP方式配置网卡编辑文件/etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primary network interface - use DHCP to find our addressauto eth0iface eth0 inet dhcp用下面的命令使网络设置生效:sudo /etc/init.d/networking restart也可以在命令行下直接输入下面的命令来获取地址sudo dhclient eth0安装openssh、tomcam组件;openssh(便于远程访问)设置dhcp网络访问方式:参见/beloving/blog/item/9eff51437411fc149213c6d4.html2. Ubuntu下的Mysql的安装下载mysql-5.0.87-linux-x86_64-glibc23.tar.gz放到/home/a/soft/下sudo groupadd mysqlsudo useradd -r -g mysql mysqlcd /home/a/soft/tar zxvf mysql-5.1.60-linux-x86_64-glibc23.tar.gzcd /usr/local/sudo ln -s /home/a/soft/mysql-5.1.60-linux-x86_64-glibc23 mysqlcd mysqlsudo chown -R mysql .sudo chgrp -R mysql .sudo scripts/mysql_install_db --user=mysqlsudo chown -R root .sudo chown -R mysql datasudo cp support-files/f /etc/fsudo bin/mysqld_safe --user=mysql &sudo cp support-files/mysql.server /etc/init.d/mysql.serversudo service mysql.server start安装完成之后需要设置mysql的root账户的密码./bin/mysqladmin -u root password 'new-password'./bin/mysqladmin -u root -h ubuntu password 'new-password'删除mysql1 apt-get autoremove –purge mysql-server-5.02 apt-get remove mysql-server3 apt-get autoremove mysql-server4 apt-get remove mysql-common(非常重要)可以通过dpkg -l mysql-server或dpkg -l mysql-client查看是否删除完全3. 安装FreeRadiustar zxvf freeradius-2.1.12.tar.gzcd freeradius-2.1.12./configure安装freeradius的时候会提示需要安装gcc 需要额外安装gccapt-get updateapt-get install build-essential然后重新执行./configurecp libltdl/ltdl.h src/include/makemake install注释:如果没有cp libltdl/ltdl.h src/include/ 在make的时候会有2个错误,应该是路径的问题radiusd -X这里出现了error while loading shared libraries: libfreeradius-radius-2.1.12.so其实在言下之意就是缺少一个叫做libfreeradius-radius-2.1.12.so的库文件,经查找发现这个库存在于/usr/local/lib目录下采取的解决方式是将/usr/local/lib添加到/etc/ld.so.conf中ld.so.conf文件内容如下:include /etc/ld.so.conf.d/*.confvi /etc/ld.so.conf添加一行/usr/local/lib完成后输入/sbin/ldconfig,再重新进行上面步骤。
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字样说明成功。
配置模块详细说明文档

Radiusd.conf文件配置Radiusd.conf文件是freeradius的核心配置文件,其中设置了服务器的基本信息,配置文件与日志文件的环境变量,并详细配置freeradius模块所使用的信息,与认证和计费所使用模块的配置. 配置的变量定义的形式为${foo},他们就在这个文件上,并且不随请求到请求而改变. 变量的格式参照variables.txt.此处定义其他配置文件以及目录的位置,也就是环境变量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.log模块的位置由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.confproxy_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库都有内存漏洞,所以不建议使用。
freeradius+vlan配置说明

Guest VLAN【背景描述】用户在通过802.1x 认证之前属于一个VLAN,这个VLAN就是GUEST VLAN。
没有通过认证的客户端计算机处于GUEST VLAN中,它们只能访问到GUEST VLAN服务器的资源,认证成功后,端口离开Guest VLAN,用户可以访问其特定的网络资源。
在上面的例子里连接端口1的计算机通过认证以后,端口1被交换机自动地添加到VLAN10里面,这个时候客户端计算机可以访问服务器2中的资源。
而客户端2和客户端3没有通过认证,只能继续留在Guest VLAN中,只可以访问服务器1的资源,而不能访问服务器2的资源。
需要注意的是:Guest vlan 仅支持基于端口的802.1X协议,不支持基于MAC地址的802.1 X协议。
【实验拓扑】将交换机的第1-12端口划分到V10中,将V10设置为GUEST VLAN,并且将1-8端口设置为需要进行认证的端口。
把交换机的第13-24端口设置为V20中的端口。
通过实验达到如下效果:将PC1接入到交换机1-8端口的任何一个,通过认证服务器的认证以后,PC 1所连接的端口被交换机自动的添加到V20里面,并且PC1和PC2可以互相通信。
拓扑说明:认证服务器IP:192.168.0.10交换机IP:192.168.0.250认证计算机IP:192.168.0.101V20中计算机IP:192.168.0.100橘红色端口所属的VLAN为Guest VLAN,名称为V10, VID为10蓝色端口所属的VLAN名称为V20, VID为20绿色端口为需要进行802.1X认证的端口【实验设备】DGS-3627交换机1台,测试PC 3台,网线若干。
【实验步骤】把交换机的控制口和PC的串口相连,通过超级终端进入交换机的配置界面,如下图。
我们通过PC的“开始→程序→附件→通讯→超级终端”,进入超级终端界面。
将每秒位数设置为:115200 ,数据位:8 ,奇偶校验:无,停止位:1,数据流控制:硬件。
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之间的连接正常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 。
然后执行:[root@centos6 mysql]# ldconfig2.3、打开从数据库查询nas支持默认从 "/usr/local/etc/raddb/clients.conf" 文件读取,开启后可从数据库nas表读取。
sed -i 's/\#readclients/readclients/g' /usr/local/etc/raddb/sql.conf2.4、打开在线人数查询支持# 查找simul_count_query将279-282行注释去掉vim /usr/local/etc/raddb/sql/mysql/dialup.conf2.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/schema.sql 拷贝到 /home/oracle/sql--修改权限#chown oracle:oinstall /home/oracle/sqls/schema.sql#chmod 744 /home/oracle/sqls/schema.sql切换到oracle#su - oracle$sqlplus radius/radpass@<yoursid>SQL>start /home/oracle/sqls/schema.sqlSQL>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_seq.nextval,'user','Service-Type','=','Framed-User');SQL>INSERT INTO radgroupcheck VALUES (radgroupcheck_seq.nextval, '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/freeradius/etc/raddb/sql.conf# vim /usr/local/freeradius/etc/raddb/sql.conf修改配置文件中mysql的帐号及密码#database = "mysql"database = "oracle"# Connection info:server = “localhost”port = 1521login = "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-tunnel124行 files 前加 # 注释131行去掉 sql 前 # 注释编辑/usr/local/freeradius/etc/raddb/radiusd.conf# vim /usr/local/freeradius/etc/raddb/radiusd.conf去掉700行 $INCLUDE sql.conf 前的#注释三、FreeRADIUS 客户端安装与配置3.1、编译与安装wget -c ftp:///pub/freeradius/freeradius-client-1.1.6.tar.gztar -zxf freeradius-client-1.1.6.tar.gzcd freeradius-client-1.1.6./configuremake && make install3.2、设置通信密码cat >>/usr/local/etc/radiusclient/servers<<EOFlocalhost testing123EOF其中localhost可以写成服务器IP地址,testing123是认证服务器的连接密码。