freeradius 配置信息详解
freeRadius + daloRadius安装手册
freeRadius + daloRadius安装手册一、概念 (2)二、环境准备: (2)三、安装步骤: (2)1. 安装LAMP平台yum install httpd mysql* php* (2)2. 安装freeradius yum install -y freeradius* (2)3. 设置服务启动 (2)4. 修改mysql 密码 (2)5. 重起服务器。
(2)6. 用radtest steve testing localhost 0 testing123进行测试, (2)7. 登录Mysql创建radius库,并分配权限 (3)8. 创建备份目录mkdir /root/freeradius-conf-backup (3)9. 配置FreeRadius支持sql (3)10. 安装daloradius (4)11. 导入mysql元数据 (4)12. 配置daloRadius: (4)13. 通过网页访问http://10.xx.0.7/radius (5)14. 登入http://10.xx.0.7/radius 用户名为administrator 密码为:radius, (5)四、FreeRadius管理 (6)1. NAS管理 (6)2. 防火墙添加Radius认证信息 (7)3. 限制用户并发,只允许一个用户登入 (8)一、概念freeRadius为AAA Radius Llinux下开源解决方案,daloRadius为图形化web管理工具。
二、环境准备:OS:Centos 6.5,需要LAMP,Freeradius,以及daloRadius三、安装步骤:1. 安装LAMP平台yum install httpd mysql* php*2. 安装freeradius yum install -y freeradius*3. 设置服务启动chkconfig radiusd onchkconfig httpd onchkconfig mysqld on4. 修改mysql 密码mysqladmin -u root password 'xxx-xx123'5. 重起服务器。
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验证方式
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字样说明成功。
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.定期更新软件版本,避免漏洞被攻击。
freeradius套餐配置
配置套餐一.添加字典。
即各个厂家的私有属性字段。
a)首先要先查到要下发的功能的属性名字。
这里要和厂家要他们的私有属性的表格。
我们在这个表格找到想要的功能。
这里以上行的峰值速度和下行峰值速度为例子。
b)添加私有属性字段。
/usr/local/share/freeradius这个目录下都是字典文件。
文件命名为dictionary.xxx xxx 为厂家后缀名。
这里以华三为例。
ATTRIBUTE Input-Peak-Rate 1 integerATTRIBUTE Input-Average-Rate 2 integerATTRIBUTE Input-Basic-Rate 3 integerATTRIBUTE Output-Peak-Rate 4 integerATTRIBUTE Output-Average-Rate 5 integerATTRIBUTE Output-Basic-Rate 6 integer这样freeradius 就可以识别下发这些属性了。
把想要的属性添加进去。
二.添加套餐。
a)在套餐里指定下发私有属性。
http://192.168.10.179/rd/添加一个套餐组件:创建一个叫yanshi 的组件。
然后选中->编辑。
然后选择厂家,和此套餐需要的属性。
我们选H3C ->选择好厂家和属性信息之后,点那个加号。
添加完之后type 和value 都是默认的。
我们要进行一些简单的更改。
Type 改为Reply value 改为指定的流量数据。
因为H3C 那个属性文档上写的单位是bps 为单位。
所以我要10 m 的话设置值为83886080,最后添加一个freeradiu 的内部属性厂家选FreeRADIUS internal 属性为Fall-Through (需要这些组件组合在一起下发)Ok 组件有了。
下面把这个组件放进某个套餐。
这里新加一个叫shiyan 的套餐下面选中并编辑在Profile component 里选择刚刚添加的套餐组件shiyan( 这个组件和套餐名字可以不一样,也可以一样).好了。
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,数据流控制:硬件。
Centos7FreeRadius完整搭建过程
yum install openssl
yum install openssl-devel
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
insert into radusergroup (username,groupname) values ('test','user');
18、修改 FreeRADIUS中的mysql 认证配置
(1)进入以下路径cd usr/local/etc/raddb/mods-enabled/
(2)执行命令ln -s ../mods-available/sql
说明:
如果需要服务器动态下发VLAN,按如下设置!
vim /usr/local/etc/raddb/users
添加以下内容:
test Cleartext-Password := "testpwd"
Tunnel-Type = "VLAN",
Tunnel-Medium-Type = "IEEE-802",
FreeRadius原理
FreeRadius原理分为3个部分:用户/nas/radius用户提供认证名、密码到NAS(Network Access Server)NAS一般是路由器、交换机等设备NAS提交相应信息到radius服务器,由radius服务器进行认证,其中认证信息也可以存放于mysql、ldap、oracle、postgreSQL等数据库中NAS发送radius-request到radius服务器,如果多次连接失败,则NAS可发送数据包到其他radius服务器Radius服务器根据用户名查找相应记录,包括用户口令、访问端口、访问权限等,如果用户被否认的话,radius服务器发送radius-reject包到NAS如果用户被确认,则radius服务器发送radius-challenge数据包,要求NAS提供更多的相关属性数值;NAS通知用户要求提供更多信息,然后再创建radius-request包,而radius服务器经核实后,再次发送radius-accept包,返回用户所需的属性(ip、mask、MTU等)Radius数据包结构:Code(8bit)、identifier(8bit)、length(16bit)、Authenticator(128bit)、Attributes (不定长)Attribute结构:Type、length、value常用的Type类型:User-Name Password CHAP-Password NAS-IP-Address NAS-Post-ID Service-Type Frame-Protocol等等User-Password或CHAP-Password默认以md5加密Attributes应该包括以下几个属性:◆“User-Name”◆“User-Password”或“CHAP-Password”◆“NAS-IP-Address”* “NAS-Identifier”◆“NAS-Port”◆“NAS-Port-Type”早期的users文件格式:(man 5 users)Username check_itemsReply_items其中,check items中的属性值和radius-request包中的属性值做比较,如果匹配则将reply items中的属性值添加到radius-reply包中去如果username为DEFAULT 则匹配所有用户名属性:Fall_Through=No表示不再查询下一条匹配记录,直接返回。
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通过。
RADIUS服务器在WINDOWS2000和LINUX下的配置文档(详)
WINDOWS2000的RADIUS服务器安装配置过程1、安装ISA (Internet验证服务)组件:添加/删除程序------》添加/删除Windows组件-------》网络服务--------》Internet验证服务2、配置RADIUS1) 选择[开始]-[程序]-[管理工具]- Internet验证服务2)客户端,(VPN网关就是一个客户端)例如:VPN网关与Radius 服务器的连接端口IP为192.168.2.1时。
新建一个客户端,名称为topsec,客户端IP地址为192.168.2.1,共享机密为:123,客户端-供应商默认为:RADIUS Standard注:上图中不能选:“客户端必须总是在请求中发送签名属性”,否则会导致客户端认证超时3) 配置远程访问策略新建远程访问策略,给策略一个好记的名字:TOPSEC,下一步添加需要匹配的条件。
点击添加,选择Clinet-IP-Address ,弹出窗口“输入一个字或通配符”输入192.168.2.1,将其添加进访问策略。
点击下一步,选择“授予远程访问权限”,再点击下一步,此时,需要编辑配置文件,点击编辑配置文件,出现对话框,点击“身份验证”标签,单选未加密身份验证,再点击“加密”标签,单选无加密,点确定,配置完成。
注:在刚添加的访问策略点击右键,选择上移,把它的顺序移到第一条(否则可能造成客户端认证被拒绝)linux下架设freeradius+mysql服务器一、架设服务器所用软件freeradius-1.1.3 mysql-5.0.27 linux 2.6二、配置mysql1安装mysql[code]# tar -zxvf mysql-5.0.27.tar.gz# cd mysql-5.0.27# ./configure --prefix=/usr/local/mysql \--localstatedir=/usr/local/mysql/data \--with-unix-socket-path=/tmp/mysql.sock \--with-extra-charsets=gbk \--with-extra-charsets=all \--with-low-memory \--enable-assembler \--with-mysqld-ldflags=-all-static \--with-mit-threads# make# make install# groupadd mysql# useradd -g mysql mysql# chgrp -R mysql /usr/local/mysql/# usr/local/mysql/bin/mysql_install_db --user=mysql# usr/local/mysql/bin/mysql_safe_db --user=mysql &mysql> set password for root@localhost=password('your_password');mysql> \q2.启动并进入mysql[root@localhost local]# /etc/init.d/mysqld startStarting MySQL: [ OK ]或者是:[root@localhost RPMS]# service mysqld startStarting MySQL: [ OK ]pstree命令后就可以看见它的进程。
RedHat as4常用应用之freeradius
RedHat as4常用应用之freeradius一、概述RADIUS( Remote Access Dial In User Service) Protocol主要用来提供认证(Authentication)机制,用来辨认使用者的身份与密码,确认通过之后,经由授权(Authorization)使用者登入网域使用相关资源,并可提供计费(Accounting)机制,保存使用者的网络使用记录。
Radius协议详细介绍可参见RFC2865,RFC2866。
FreeRadius是一款OpenSource软件,基于Radius协议,实现RadiusAAA(Authentication,Authorization,Accounting)功能。
1、FreeRADIUS的功能1)FreeRADIUS支持的认证方法:本地文件本地DB/DBM数据库LDAP 数据库本地可执行程序(比如一个CGI程序)Perl 程序Python 程序SQL 数据库OracleMySQLPostgreSQLSybaseIBM DB2Any iODBC or unixODBC supported database2)FreeRADIUS支持的认证类型本地配置文件中的明文密码(PAP)本地配置文件中的加密密码CHAPMS-CHAPMS-CHAPv2windows域控制器认证代理到其他RADIUS服务器系统认证(通常通过/etc/passwd) PAM(可插拔认证模块)LDAP(只支持PAP)CRAMPerl 程序Python程序SIP Digest(Cisco VoIP,SER)Netscape-MTA-MD5加密的密码Kerberos 认证X9.9认证环3)EAP无线的嵌入式认证方法EAP-MD5CISCO LEAPEAP-MSCHAP-V2EAP-GTCEAP-SIMEAP-TLSEAP-TTLSEAP-PEAP4)计费方法计费数据能被同步记录到不同的数据库。
FreeRADIUS 3.0安装配置指南
FreeRADIUS 3.0 安装配置指南2014-01-07修改历史记录目录1 系统要求 (4)1.1操作系统 (4)1.2所需软件 (4)1.3注意事项 (4)2 FreeRADIUS 3.0的安装 (4)2.1安装FreeRADIUS 3.0 服务器程序 (5)2.2安装FreeRADIUS工具包(freeradius-utils) (6)3 FreeRADIUS 3.0的测试 (6)3.1修改用户管理配置文件 (6)3.2修改防火墙配置 (7)3.3以调试方式启动freeradius (7)3.4使用测试工具测试 (8)4 MariaDB的安装 (9)5 FreeRADIUS与MariaDB的对接 (9)5.1安装freeradius-mysql组件 (9)5.2激活和启动mariadb服务 (9)5.3创建数据库 (10)5.4导入表结构 (11)5.5建立组信息和用户信息 (11)5.6修改 FreeRADIUS中的mysql 认证配置 (12)5.7修改 FreeRADIUS中的mysql 配置配置文件 (13)5.8测试通过数据库做用户认证 (13)1 系统要求1.1 操作系统CentOS 7.0 x86_64网址:/1.2 所需软件1.FreeRADIUS 3.0网址:/目前最新版本为3.0.6.2.MariaDB网址:https:///目前最新版本为10.0.注:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
MariaDB虽然被视为MySQL数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。
FREERADIUS验证配置手册
FREERADIUS验证配置手册1.FREERADIUS简介FREERADIUS是一套开源,免费的完全兼容RADIUS协议的RADIUS服务器/客户端软件,可以用它对用户的接入和访问特定的网络进行有效的控制,授权,计费等等,它支持多种验证,包括文件,LDAP,以及主流的支持SQL的数据库(ORACLE,MYSQL,DB2等等).我们可以使用FREERADIUS来搭建一个3A认证的服务器,下面对详细介绍如何配置FREERADIUS.2.FREERADIUS配置2.1安装FREERADIUS首先从FREERADIUS的官方网站上下载最新的FREERADIUS的安装包,网址是: .5安装包一般被1.从官方网站上下载安装包至操作系统的某个目录下.2..3.执行tar –4.进入此文件夹. 执行.5.编译安装包.执行make.6.安装radius . 执行make install.至此,FREERADIUS的安装过程就已经结束了,如果你是严格安装以上的顺序进行安装的那么,FREERADIUS将被默认安装在/usr/local的目录下,其中,在/usr/local/etc/raddb的目录下存放的是FREERADIUS的配置文件,/usr/local/bin下面存放的是FREERADIUS的常用命令.另外,在FREERADIUS的安装包文件夹的DOC目录下存放有大量的关于FREERADIUS 的说明文档资料,有兴趣的话可以去看看.2.2启动和停止RADIUS的服务1.启动radius服务FREERADIUS的启动分为两种模式,一种是DEBUG模式,另一种是正常启动模式.其中前者用于观察RADIUS的运行情况,可以对验证请求的整个过程进行监测,从NAS发出验证请求到服务器回应验证的结果的这段时间内,服务器做了哪些事情,我们都可以通过DEBUG模式进行观察到.后者就是单纯的启动RADIUS的服务,一般在后台运行,等待并处理NAS发出的验证请求.要启动DEBUG模式,可以在系统终端下的命令行中执行:radius –X 其中参数X代表以DUBUG模式启动.要正常启动,可以在系统终端下的命令行中执行:radius.2.停止radius服务在DEBUG模式下启动的RADIUS服务可以按键盘的CTRL+C来终止.正常启动的RADIUS服务可以按照以下步骤来终止:1.执行ps –ef 来调出当前正在运行的所有进程,找到其中名为radiusd的进程,记住进程号.这里我们假设进程ID为1234.2.执行kill -9 1234 来直接终止RADIUS的服务进程.2.3 配置RADIUS服务1. 配置NASLIST文件进入目录/usr/local/etc/raddb 运行vi naslist来进行编辑,添加:localhost local portslave2. 配置USR文件运行vi users 来进行编辑user文件,最尾端添加:“test” Auth-Type := Local,User-Password == “test”3. 配置RADIUSD.CONF文件运行vi radiusauthorize部分,确认file块没有被注释Authorize {……files……}4. 配置CLIENTS.CONF文件运行vi clients.conf 来编辑clients.conf文件,找到本地配置,修改为:secret = testing123shortname = localhostnastype = other}5. 测试配置的结果首先启动RADIUS服务,(DEBUG模式启动需要另开登录窗口进行测试).运行radtest test test localhost 0 testing123如果radius返回Access-Accept的消息,则表示验证已经成功.否则,请检查以上的几个配置有没有配置正确.3.FREERADIUS + LDAP的验证配置3.1 LDAP的配置假设LDAP为OPENLDAP,并且已经安装完毕(关于LDAP的详细说明,可以参考LDAP的配置手册).我们假设LDAP的域名为dc=my-domain,dc=com.LDAP的slapd.conf文件中的配置如下(省略了注释部分):include /usr/local/etc/openldap/schema/core.schemainclude /usr/local/etc/openldap/schema/openldap.schemapidfile /usr/local/var/run/slapd.pidargsfile /usr/local/var/run/slapd.argsaccess to dn.base="" by * readaccess to dn.base="cn=Subschema" by * readaccess to *by self writeby users readby anonymous authdatabase bdbsuffix "dc=my-domain,dc=com"rootdn "cn=Manager,dc=my-domain,dc=com"rootpw secretdirectory /usr/local/var/openldap-dataindex objectClass eqindex uid eq其中openldap.schema这个文件是在FREERADIUS安装包的doc/examples的目录下,我们首先应该将其拷贝到OPENLDAP的SCHEMA的目录下,详细情况,请参考LDAP的配置手册.再向LDAP中添加一条记录用于验证,LDIF格式的文件如下ou=people,dc=my-domain,dc=comobjectClass=organizationUnitou=peopleuid=tom,ou=people,dc=my-domain,dc=comobjectClass=personuid=tomcn=tomuserPassword=12345678telephoneNumber=87654321将以上文件保存成一个LDIF文件,例如保存为test.ldif将test.ldif拷贝到/usr/local/bin的目录下,运行以下命令:ldapadd –x –D –f test.ldif ‘cn=Manager,dc=my-domain,dc=com’–w secret如果命令执行成功则会出现以下提示:Adding “ou=people,dc=my-domain,dc=com” to directory.Adding “uid=tom,ou=people,dc=my-domain,dc=com” to directory.如果要查看其内容可以执行以下命令:ldapsearch –x –b ‘dc=my-domain,dc=com’‘(objectClass=*)’屏幕将会打出刚才输入的内容.3.2 FREERADIUS的配置1.配置radiusd.conf文件:找到authorize部分,将LDAP前的注释去掉,如下:authorize {Preprocesschap……..files……..ldap}authenticate{……Auth-Type LDAP {ldap}eap}全局部分的几个设定改成:log_auth = yeslog_auth_badpass = nolog_auth_goodpass = no再找到modules部分,配置为:Modules {……ldap {……port = 389identity = "cn=Manager,dc=my-domain,dc=com"password = secretbasedn = "dc=my-domain,dc=com"filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"start_tls = noldap_connections_number = 5timeout = 4timelimit = 3net_timeout = 1……}……}再找到main的模块,修改部分如下main {……lower_user = yeslower_time = before……}2.配置USERS文件找到DEFAULT Auth-Type部分,改成:DEFAULT Auth-Type = ldapFall-Through = 13.启动radius服务radius –X3.3 配置的验证重新打开一个SSH(或TELNET)登陆窗口登陆FREERADIUS所在的LINUX(或UNIX)操作系统, 以管理员的身份登陆,在终端下运行以下命令:radtest tom 12345678 localhost 0 testing123 回车测试FREERADIUS的验证过程.如果验证成功,在执行命令的窗口将出现以下内容:User-Name = "tom"User-Password = "12345678"NAS-Port = 0在运行DEBUG模式的窗口下将出现以下内容:User-Name = "tom"User-Password = "12345678"NAS-Port = 0Processing the authorize section of radiusd.confmodcall: entering group authorize for request 0modcall[authorize]: module "preprocess" returns ok for request 0modcall[authorize]: module "chap" returns noop for request 0users: Matched entry DEFAULT at line 150modcall[authorize]: module "files" returns ok for request 0rlm_ldap: - authorizerlm_ldap: performing user authorization for tomradius_xlat: '(uid=tom)'radius_xlat: 'dc=my-domain,dc=com'rlm_ldap: ldap_get_conn: Checking Id: 0rlm_ldap: ldap_get_conn: Got Id: 0rlm_ldap: attempting LDAP reconnectionrlm_ldap: waiting for bind result ...rlm_ldap: Bind was successfulrlm_ldap: performing search in dc=my-domain,dc=com, with filter (uid=tom)rlm_ldap: looking for check items in directory...rlm_ldap: looking for reply items in directory...rlm_ldap: user tom authorized to use remote accessrlm_ldap: ldap_release_conn: Release Id: 0modcall[authorize]: module "ldap" returns ok for request 0modcall: leaving group authorize (returns ok) for request 0rad_check_password: Found Auth-Type ldapauth: type "LDAP"Processing the authenticate section of radiusd.confmodcall: entering group LDAP for request 0rlm_ldap: - authenticaterlm_ldap: login attempt by "tom" with password "12345678"rlm_ldap: user DN: uid=tom,ou=admins,ou=radius,dc=my-domain,dc=comrlm_ldap: bind as uid=tom,ou=admins,ou=radius,dc=my-domain,dc=com/12345678rlm_ldap: waiting for bind result ...rlm_ldap: Bind was successfulrlm_ldap: user tom authenticated succesfullymodcall[authenticate]: module "ldap" returns ok for request 0 modcall: leaving group LDAP (returns ok) for request 0Login OK: [billing] (from client localhost port 0)Finished request 0Going to the next request--- Walking the entire request list ---Waking up in 6 seconds...--- Walking the entire request list ---Cleaning up request 0 ID 4 with timestamp 45c9b3f6Nothing to do. Sleeping until we see a request.到这里,一个简单的RADIUS+LDAP验证就已经完成了.4.参考资料1.freeradius安装包下的DOC目录中的ldap_howto.txt文件.2..3..4.。
架设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。
Free radius for win 安装配置手册-推荐下载
(4) acct_users:计费用户设定:语法如下: DEFAULT Acct-Status-Type == Start Exec-Program = "/aaa/acctStart" DEFAULT Acct-Status-Type == Stop Exec-Program = "/aaa/acctStop "
(5)eap.conf:是用来配置 eap 的相关参数,语法如下:
eap {
default_eap_type = md5
timer_expire
= 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
md5 {
}
leap {
配置完这些后,运行 后,右键点击任务栏出现 start in Debug mode 后,直到出现以下信息才算正常: 直到出现以下信息才算正常 Listening on authentication *:1812 Listening on accounting *:1813 Ready to process requests.
如果用 cisco 的三层交换机做 NAS,要做如下配置: aaa new-model aaa authentication dot1x default group radius aaa authorization network default group radius dot1x system-auth-control radius-server host 192.168.100.2 auth-port 1812 acct-port 1813 key azalea
shortname
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 (radius.example.)# 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库都有存漏洞,所以不建议使用。
freeradius的表结构
freeradius的表结构
freeradius是一个开源的RADIUS(远程身份验证拨号用户服务)服务器,它使用SQL数据库来存储和管理用户身份验证、计费和授权信息。
freeradius的表结构主要包括以下几个表:
1. radacct表:用于存储连接会话的信息,如连接账号、IP地址、连接开始和结束时间等。
2. radcheck表:用于存储用户身份验证信息,如用户名、密码等。
3. radgroupcheck表:用于存储用户组的身份验证信息,可以
用来进行基于用户组的身份验证。
4. radgroupreply表:用于存储用户组的回复信息,可以用来根
据用户组进行授权。
5. radusergroup表:用于存储用户和用户组的关联信息,用于
将用户分配到不同的用户组。
这些表可以根据需要进行自定义修改和扩展,以满足不同的认证、计费和授权需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.conf snmp = 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库都有内存漏洞,所以不建议使用。
pam {pam_auth = radiusd}1.3.4 UNIX 系统用户的认证模块unix {cache = nocache_reload = 600# passwd = /etc/passwd# shadow = /etc/shadow# group = /etc/group radwtmp = ${logdir}/radwtmp }1.3.5 EAP模块详细见${confdir}/eap.conf $INCLUDE ${confdir}/eap.conf 1.3.6 MSCHAP 模块mschap {#use_mppe = no#require_encryption = yes#require_strong = yes# 为了纠正window发送chap时有时包括域,有时又不包括域的信息.#with_ntdomain_hack = no#ntlm_auth = "/path/to/ntlm_auth –request-nt-key–username=%{Stripped-User-Name:-%{User-Name:-None}}–challenge=%{mschap:Challenge:-00}–nt-response=%{mschap:NT-Response:-00}"}1.3.7 LDAP 配置模块LDAP模块只能在Access-Request packet 中包含明文密码属性才可以被使用。
LDAP认证不能在其他任何认证方法中使用。
具体配置详见下属章节。
(参看doc/rlm_ldap)。
1.3.8 passwd 模块Passwd模块允许通过任何passwd样式的文件进行授权,并可以从这些模块中提取属性信息。
smbpasswd例子#passwd etc_smbpasswd {# filename = /etc/smbpasswd# format = "*User-Name::LM-Password:NT-Password:SMB-Account-CTRL-TEXT::"# authtype = MS-CHAP# hashsize = 100# ignorenislike = no# allowmultiplekeys = no#}#passwd etc_group {# filename = /etc/group# format = "=Group-Name:::*,User-Name"# hashsize = 50# ignorenislike = yes# allowmultiplekeys = yes# delimiter = ":"#}1.3.9 Realm 模块应用在代理上. You can have multiple instances of the realm module tosupport multiple realm syntaxs at the same time. The search order is defined by the order in the authorize and preacct sections.realm IPASS {format = prefixdelimiter = "/"ignore_default = noignore_null = no}# ‘username@realm’#realm suffix {format = suffixdelimiter = "@" ignore_default = no ignore_null = no}# ‘username%realm’#realm realmpercent { format = suffix delimiter = "%" ignore_default = no ignore_null = no}# ‘domain\user’#realm ntdomain {format = prefixdelimiter = "\\"ignore_default = noignore_null = no}1.3.10 简单值检查模块(checkval)It can be used to check if an attribute value in the request matches a (possibly multi valued) attribute in the check items This can be used forexample for caller-id authentication. For the module to run,both the request attribute and the check items attribute must exist.checkval {# The attribute to look for in the request# Request包中查找的属性名称item-name = Calling-Station-Id# The attribute to look for in check items. Can be multi valued# Check 表中查找的属性名称check-name = Calling-Station-Id# The data type. Can be# 数据类型的种类# string,integer,ipaddr,date,abinary,octetsdata-type = string# If set to yes and we dont find the item-name attribute in the# request then we send back a reject# 如果设置为yes,我们不在request包中查找属性名称直接发送reject.# DEFAULT is no#notfound-reject = no}1.3.11 从写属性模块(attr_rewrite)从写任何包,在认证和计费时都很有用.在拿到包后,可以从写包里属性的内容.#attr_rewrite sanecallerid {# attribute = Called-Station-Id# may be "packet","reply","proxy","proxy_reply" or "config"# searchin = packet# searchfor = "[+ ]"# replacewith = ""# ignore_case = no# new_attribute = no# max_matches = 10# ## If set to yes then the replace string will be appended to the original string# append = no#}1.3.12 预处理radius请求模块(preprocess)预处理Radius请求,在交付其他模块处理前. 包含这两个配置文件. 可以从写那些由一些NAS添加的很奇怪的属性.然后把这些属性转换到一个形态。