讲FREERADIUS验证配置问题

合集下载

freeradius配置信息详解

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库都有内存漏洞,所以不建议使用。

FreeRadius配置与验证测试_v3.0

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此过程需要编译和安装,可能需要几分钟。

FreeRadius配置与验证测试_v3.0

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此过程需要编译和安装,可能需要几分钟。

freeradius源码编译

freeradius源码编译

Freeradius是一个常用的开源RADIUS服务器,用于认证和授权用户访问网络服务。

它是采用C语言开发的,具有高性能和可扩展性的特点,广泛应用于企业和服务提供商的网络管理中。

虽然在很多Linux 发行版上都可以直接安装使用Freeradius,但有时候我们还需要对其进行源码编译,以满足特定的定制需求或者是为了获取最新的功能和修复。

源码编译是指通过手动下载源代码并进行编译安装的方式,相比直接使用发行版提供的软件包,它需要更多的操作步骤和了解一些编译相关的知识。

下面是我们对Freeradius源码编译的详细步骤和注意事项:1. 确认编译环境在开始编译之前,首先需要确认编译环境的准备工作。

确保系统已安装必要的编译工具和依赖库,如gcc、make、libssl-dev等。

如果缺少某些依赖,可以使用系统自带的包管理工具进行安装。

另外,还需要保证系统有足够的磁盘空间和内存,以便编译和运行Freeradius。

2. 下载源代码可以从Freeradius官方全球信息湾或者源代码托管评台上下载最新的稳定版本或者开发版本。

通常情况下,稳定版本适合生产环境使用,而开发版本包含了最新的功能和修复,但可能不够稳定。

下载源代码后,建议进行校验以确保下载的文件完整性和安全性。

3. 解压和配置将下载的源代码压缩包解压到合适的目录中,并进入解压后的目录。

在这之前要确保系统已安装了tar工具,以便进行解压操作。

然后执行./configure命令来进行配置,可以通过--help参数查看可选的配置选项和参数。

配置的过程中可能会提示缺少某些依赖,需要事先安装好这些依赖。

4. 编译和安装配置完成后,执行make命令来进行编译。

编译的过程可能需要一些时间,取决于系统的性能和代码的复杂度。

如果编译没有出现错误,可以执行make install命令来安装编译好的程序和相关文件。

建议在安装之前先备份原来的安装目录,以便出现意外情况时进行恢复。

Free radius for win 安装配置手册-推荐下载

Free radius for win 安装配置手册-推荐下载

让服务器监听某个 IP,并且从次 IP 发送 相应 信息. 主要是为了 服务器同时具有多服务器
时候使用.
bind_address = *
可以指定 raidus 的使用端口号,使用 0 表示使用默认的 radius 端口,
在配置文件
/etc/services 配置.
port = 0
//与 NAS 上配置的端口号要相同
dh_file = ${raddbdir}/certs/dh
random_file = ${raddbdir}/certs/random
fragment_size = 1024 include_length = yes check_crl = yes check_cert_issuer = "/C=GB/ST=Berkshire/L=Newbury/O=My Company Ltd" check_cert_cn = %{User-Name} cipher_list = "DEFAULT" } ttls { default_eap_type = md5 copy_request_to_tunnel = no use_tunneled_reply = no } peap{ default_eap_type = mschapv2 } mschapv2 { } }
shortname
= //域名,可以随便写。
nastype = other
//可以不写,指定 nas 的类型,通常 radius 能自己识别。
}
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术0艺料不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试22下卷,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看2度并22工且22作尽22下可22都能2可地护1以缩关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编5试要写、卷求重电保技要气护术设设装交备备4置底高调、动。中试电作管资高气,线料中课并3敷试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

基于freeradius的mac认证

基于freeradius的mac认证

什么是FreeRADIUS?RADIUS是Remote Access Dial In User Service的简称。

RADIUS主要用来提供认证(Authentication)机制,用来辨认使用者的身份与密码–> 确认通过之后,经由授权(Authorization)使用者登入网域使用相关资源–> 并可提供计费(Accounting)机制,保存使用者的网络使用记录。

FreeRADIUS是一款OpenSource软件,基于RADIUS协议,实现RADIUS AAA(Authentication、Authorization、Accounting)功能。

Radius认证的过程:1,supplicant向NAS发起802.1X的EAP0L-START;2,NAS收到EAP0L-START之后发给supplicant一个eap/identity;3,supplicant收到这个eap/identity之后将username作为response发回给NAS;4,NAS将包含有username的eap包封装入RADIUS包的的eap_message属性中,并作为access request包(包ID假定为1)发给RADIUS服务器;5,RADIUS服务器收到这个含有eap_message属性的RADIUS包之后,发回一个带有eap_message(其内部的EAP包为md5 challenge)给NAS;6,NAS收到这个RADIUS包之后将eap_message属性中的EAP包提取出来,然后封装在EAPOL中发给supplicant;7,supplicant收到这个EAP/MD5 CHALLENGE之后将passwd放入EAP包中发给NAS,然后NAS再次打包发给RADIUS8,RADIUS进行认证,如果username和passwd匹配之后认证通过。

目的:搭建freeradius服务器实现用户上网的Mac地址认证环境:centos+freeradius+mysql安装:一、安装openssl二、安装mysql1 2 3 4 5 [root@zhinan~] yun groupinstall "MySQL Database"/#安装MySQL数据库[root@zhinan~] service mysqld start /#启动数据库[root@zhinan~] netstat -nax /#查看3306端口是否在使用,从而确定安装是否成功[root@zhinan~] mysqladmin -u root password '123'/#修改root的密码为123 [root@zhinan~] mysql -u root -p123 /#进入mysql,查看数据库是正常使用。

freeradius+vlan配置说明

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,数据流控制:硬件。

讲FREERADIUS验证配置问题

讲FREERADIUS验证配置问题

FREERADIUS验证配置手册1.FREERADIUS简介FREERADIUS是一套开源,免费的完全兼容RADIUS协议的RADIUS服务器/客户端软件,可以用它对用户的接入和访问特定的网络进行有效的控制,授权,计费等等,它支持多种验证,包括文件,LDAP,以及主流的支持SQL的数据库(ORACLE,MYSQL,DB2等等).我们可以使用FREERADIUS来搭建一个3A认证的服务器,下面对详细介绍如何配置FREERADIUS.2.FREERADIUS配置2.1安装FREERADIUS首先从FREERADIUS的官方网站上下载最新的FREERADIUS的安装包,网址是: /press/index.html#1.1.5安装包一般被命名为freeradius-1.1.x.tar.gz,其中X是带表其版本号,根据不同的发布时间,其值将会有所不同,这里我们以freeradius-1.1.5的安装包为例.1.从官方网站上下载安装包至操作系统的某个目录下.2.执行gunzip freeradius-1.1.5 对安装包进行解压.此安装包变成了freeradius-1.1.5.tar.3.执行tar –xzf freeradius-1.1.5.tar对其进行解包,将在本目录下生成一个freeradius-1.1.5的文件夹.4.进入此文件夹. 执行cd freeradius-1.1.5 并执行安装配置命令./configure.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 radius.conf 来编辑radiusd.conf文件.找到authorize部分,确认file块没有被注释Authorize {……files……}4. 配置CLIENTS.CONF文件运行vi clients.conf 来编辑clients.conf文件,找到本地配置,修改为:client 127.0.0.1{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 {……server=192.168.1.200 (我们假设LDAP服务的IP地址是这个)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的验证过程.如果验证成功,在执行命令的窗口将出现以下内容:Sending Access-Request of id 4 to 127.0.0.1 port 1812User-Name = "tom"User-Password = "12345678"NAS-IP-Address = 255.255.255.255NAS-Port = 0rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=4, length=20在运行DEBUG模式的窗口下将出现以下内容:rad_recv: Access-Request packet from host 127.0.0.1:1024, id=4, length=59 User-Name = "tom"User-Password = "12345678"NAS-IP-Address = 255.255.255.255NAS-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: (re)connect to 192.168.1.200:389, authentication 0rlm_ldap: bind as cn=Manager,dc=my-domain,dc=com/secret to 192.168.1.200:389 rlm_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: (re)connect to 192.168.1.200:389, authentication 1rlm_ldap: bind as uid=tom,ou=admins,ou=radius,dc=my-domain,dc=com/12345678 to 192.168.1.200:389rlm_ldap: waiting for bind result ...rlm_ldap: Bind was successfulrlm_ldap: user tom authenticated succesfullymodcall[authenticate]: module "ldap" returns ok for request 0modcall: leaving group LDAP (returns ok) for request 0Login OK: [billing] (from client localhost port 0)Sending Access-Accept of id 4 to 127.0.0.1 port 1024Finished 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./radiusd/doc.3./doc/admin21.4./radiusd/doc/rfc/rfc2865.txt。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FREERADIUS验证配置手册1.FREERADIUS简介FREERADIUS是一套开源,免费的完全兼容RADIUS协议的RADIUS服务器/客户端软件,可以用它对用户的接入和访问特定的网络进行有效的控制,授权,计费等等,它支持多种验证,包括文件,LDAP,以及主流的支持SQL的数据库(ORACLE,MYSQL,DB2等等).我们可以使用FREERADIUS来搭建一个3A认证的服务器,下面对详细介绍如何配置FREERADIUS.2.FREERADIUS配置2.1安装FREERADIUS首先从FREERADIUS的官方网站上下载最新的FREERADIUS的安装包,网址是: /press/index.html#1.1.5安装包一般被命名为freeradius-1.1.x.tar.gz,其中X是带表其版本号,根据不同的发布时间,其值将会有所不同,这里我们以freeradius-1.1.5的安装包为例.1.从官方网站上下载安装包至操作系统的某个目录下.2.执行gunzip freeradius-1.1.5 对安装包进行解压.此安装包变成了freeradius-1.1.5.tar.3.执行tar –xzf freeradius-1.1.5.tar对其进行解包,将在本目录下生成一个freeradius-1.1.5的文件夹.4.进入此文件夹. 执行cd freeradius-1.1.5 并执行安装配置命令./configure.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 radius.conf 来编辑radiusd.conf文件.找到authorize部分,确认file块没有被注释Authorize {……files……}4. 配置CLIENTS.CONF文件运行vi clients.conf 来编辑clients.conf文件,找到本地配置,修改为:client 127.0.0.1{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 {……server=192.168.1.200 (我们假设LDAP服务的IP地址是这个)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的验证过程.如果验证成功,在执行命令的窗口将出现以下内容:Sending Access-Request of id 4 to 127.0.0.1 port 1812User-Name = "tom"User-Password = "12345678"NAS-IP-Address = 255.255.255.255NAS-Port = 0rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=4, length=20在运行DEBUG模式的窗口下将出现以下内容:rad_recv: Access-Request packet from host 127.0.0.1:1024, id=4, length=59 User-Name = "tom"User-Password = "12345678"NAS-IP-Address = 255.255.255.255NAS-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: (re)connect to 192.168.1.200:389, authentication 0rlm_ldap: bind as cn=Manager,dc=my-domain,dc=com/secret to 192.168.1.200:389 rlm_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: (re)connect to 192.168.1.200:389, authentication 1rlm_ldap: bind as uid=tom,ou=admins,ou=radius,dc=my-domain,dc=com/12345678 to 192.168.1.200:389rlm_ldap: waiting for bind result ...rlm_ldap: Bind was successfulrlm_ldap: user tom authenticated succesfullymodcall[authenticate]: module "ldap" returns ok for request 0modcall: leaving group LDAP (returns ok) for request 0Login OK: [billing] (from client localhost port 0)Sending Access-Accept of id 4 to 127.0.0.1 port 1024Finished 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./radiusd/doc.3./doc/admin21.4./radiusd/doc/rfc/rfc2865.txt。

相关文档
最新文档