centos_radius_搭建freeradius

合集下载

freeRadius + daloRadius安装手册

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. 重起服务器。

搭建radius服务器(全)

搭建radius服务器(全)

搭建radius服务器(全)1.简介本文档旨在指导读者搭建一个完整的Radius服务器。

Radius是一种用于身份验证、授权和帐单计费的网络协议,常用于提供网络访问服务的认证和授权。

2.准备工作在开始搭建Radius服务器之前,需要准备以下内容:2.1 硬件要求:- 一台物理或虚拟机器作为Radius服务器,具备足够的处理能力和存储空间。

2.2 软件要求:- 操作系统:推荐使用Linux操作系统,如Ubuntu、CentOS等。

- Radius服务器软件:常用的有FreeRADIUS、Microsoft NPS 等。

- 客户端软件:用于连接测试的网络设备或计算机。

2.3 网络环境:- 要求服务器和客户端设备可以互相通信。

3.安装与配置Radius服务器3.1 安装Radius服务器软件:- 根据操作系统选取相应的Radius服务器软件,如Ubuntu上的FreeRADIUS,进行安装。

3.2 配置Radius服务器:- 修改Radius服务器的配置文件,包括认证方法、授权策略、日志记录等。

3.3 用户认证:- 创建用户账号,并配置用户的认证方式,如使用用户名和密码进行认证。

3.4 授权配置:- 配置不同用户的访问权限,可以基于用户组或个别用户进行授权。

3.5 日志记录:- 配置Radius服务器的日志记录,包括日志级别、日志文件路径等。

3.6 启动Radius服务器:- 启动Radius服务器,并检查服务器是否正常运行。

4.客户端配置4.1 配置客户端设备:- 针对不同类型的客户端设备,配置其连接Radius服务器的参数,如IP地质、端口、共享密钥等。

4.2 连接测试:- 使用配置好的客户端设备连接Radius服务器,并进行登录认证、权限验证等操作,检查连接是否正常。

5.附件本文档涉及的附件包括:- Radius服务器安装软件包。

- 示例配置文件。

- 示例用户账号信息。

6.法律名词及注释6.1 法律名词解释:- Radius:远程身份验证拨号用户服务,一种网络协议。

freeradius部署总结

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字样说明成功。

CentOS7部署FreeRadius3.0及WEB管理界面DaloRadius

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。

搭建radius服务器

搭建radius服务器

引言概述:在网络管理和安全领域,Radius (RemoteAuthenticationDialInUserService)服务器是一种用于认证、授权和计费的协议。

它可以帮助组织有效地管理网络用户的访问,并提供安全可靠的认证机制。

搭建Radius服务器是一项重要的任务,本文将详细介绍搭建Radius服务器的步骤和一些注意事项。

正文内容:1.确定服务器需求a.确定您的网络环境中是否需要Radius服务器。

如果您有大量用户需要认证和授权访问网络资源,Radius服务器将成为必不可少的工具。

b.考虑您的网络规模和性能需求,以确定是否需要单独的物理服务器或虚拟服务器来运行Radius服务。

2.选择合适的Radius服务器软件a.有多种Radius服务器软件可供选择,如FreeRADIUS、MicrosoftIAS、CiscoSecureACS等。

根据您的特定需求和预算,在这些选项中选择一个最合适的服务器软件。

b.考虑软件的功能和特性,例如支持的认证方法、计费功能、日志功能等。

3.安装和配置Radius服务器软件a.安装选定的Radius服务器软件,并确保它与您的操作系统和其他网络设备兼容。

b.进行服务器的基本配置,包括设置服务器名称、IP地质、监听端口等。

c.配置认证和授权方法,例如使用用户名/密码、证书、OTP 等。

d.设置计费和日志功能,以便记录用户的访问和使用情况。

4.集成Radius服务器与其他网络设备a.配置网络设备(例如交换机、无线接入点)以使用Radius服务器进行认证和授权。

b.确保网络设备与Radius服务器之间的通信正常,并测试认证和授权功能是否正常工作。

c.配置Radius服务器以与目标网络设备进行通信,例如设置共享密钥或证书。

5.安全和监控a.配置适当的安全措施,例如使用SSL/TLS加密通信、限制访问Radius服务器的IP地质等。

b.监控Radius服务器的性能和日志,检测异常活动和可能的安全威胁。

学习笔记--Radius服务及其搭建过程

学习笔记--Radius服务及其搭建过程

学习笔记--Radius服务及其搭建过程1RADIUS服务1.1radius工作原理RADIUS(Remote Authentication Dial In User Service)远程认证拨号用户服务,是在网络访问服务器(Network Access Server,NAS)和集中存放认证信息的Radius服务器之间传输认证、授权和配置信息的协议。

RADIUS以Client/Server方式工作,实现了对远程电话拨号用户的身份认证、授权和计费功能。

其Client端多为通过拨号方式实现的NAS,主要用来将用户信息传递给服务器;RADIUS服务器则对用户进行认证,并返回用户的配置信息。

为了保证传输的安全性,在Client 和Server之间传送的数据均以MD5方式加密。

在RADIUS的Server端和Client端之间的通信主要有两种情况;一种是接入认证;另一种是计费请求。

使用RADIUS可以实现集中化的认证和记费功能,可以减少管理的负担和费用,同时还可以实现很多扩展的功能,如用户拨号时间的限定、用户拨号时间的配额、根据用户分配特定IP地址等等。

RADIUS是一种基于UDP协议的上层协议,认证服务的监听端口号为1812,记费服务的监听端口号为1813。

RADIUS的工作流程是:(1)用户拨入NAS; (2)NAS向RADIUS服务器发送一系列加密的“属性/值”; (3)RADIUS服务器检查用户是否存在、属性/值是否匹配;(4)RADIUS 服务器发送回“接受“或“拒绝“给NAS。

RADIUS服务器通常是基于数据库来实现的。

对于大型ISP,通常会使用诸如Oracle之类的大型后台数据库。

而对于中小型应用使用mySQL这样的数据库就足够了。

RADIUS的身份验证也可以通过LDAP来实现,但其应用不如数据库那么广泛。

2FREERADIUS安装FREERADIUS是一套开源免费的完全兼容RADIUS协议的RADIUS服务器/客户端软件,可以用它对用户的接入和访问特定的网络进行有效的控制、授权、计费等等,它支持多种验证,包括文件、LDAP以及主流的支持SQL的数据库(ORACLE,MYSQL,DB2等等)。

freeradius配置

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服务器(全)搭建radius服务器(全)一、介绍Radius(Remote Authentication Dial-In User Service)是一种用于认证、授权和帐号管理的网络协议。

在网络中,常用于实现拨号认证、无线网络认证等功能。

该文档将详细介绍搭建Radius 服务器的步骤。

二、准备工作1·确定服务器系统:选择一个适合的服务器操作系统,如Linux、Windows Server等。

2·硬件要求:确保服务器的硬件配置满足最低系统要求和预期的性能需求。

3·安装操作系统:按照操作系统提供的文档和指南进行系统安装。

三、安装Radius服务器软件1·Radius服务器软件:从官方网站或其他可靠的来源最新版本的Radius服务器软件。

2·安装服务器软件:按照软件提供的安装指南进行安装,并完成相关配置。

四、配置Radius服务器1·配置认证方式:确定要使用的认证方式,如PAP、CHAP等,并进行相应的配置。

2·配置用户数据库:选择适合的用户数据库,如MySQL、LDAP 等,创建相应的用户账号和密码,并将其与Radius服务器进行关联。

3·配置网络设备:将需要认证的网络设备与Radius服务器建立连接,并进行相应的配置。

五、测试和调试1·连接测试:确保Radius服务器和网络设备的连接正常,并能够正常认证用户。

2·认证测试:使用不同的用户账号和密码进行认证测试,确保认证功能正常。

3·错误排查:在测试过程中出现的错误进行排查,并根据错误信息进行相应的修复和调试。

六、安全性配置1·防火墙配置:为了保护服务器和网络设备的安全,配置合适的防火墙规则,限制对Radius服务器的访问。

2·日志记录:配置日志记录功能,记录所有认证和授权的日志信息,以便于后续的审计和故障排查。

centos6.5 安装freeradius

centos6.5 安装freeradius

Centos 6.5上编译安装freeradius3.0.10平台:Centos 6.5 x86_641,安装源并更新Rpm -Uvh/pub/epel/6/x86_64/epel-RELEASE-6-8.noarch.rpmrpm -Uvh /enterprise/remi-RELEASE-6.rpmyum UPDATE -y2,安装相关库yum -y install wget expat-devel gcc make gmp-devel gmp pkgconfig perl libpcap gcc-c++ logrotate tar cpio gawk flex bison bison-devel lsof libpcap-devel patch openssl openssl-devel libgcrypt* crypt* autoconf automake libtasn1-devel zlib zlib-devel trousers trousers-devel texinfo libnl-devel libnl dbus dbus-devel ncurses-devel readline-devel libtool-ltdl libtalloc* hiredis* redhat-lsb python mysql-devel3,安装Mysql和Apacheyum --enablerepo=remi -y install mysql mysql-server mysql-devel httpd httpd-devel chkconfig httpd onchkconfig mysqld onservice mysqld startmysql_secure_installationmysql -u root -p 输入密码创建你需要的数据库4,安装phpyum --enablerepo=remi install -y php php-mysql php-common php-devel php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash php-snmp php-process libmcrypt libmcrypt-develwget /cont/download/ioncube_loaders_lin_x86-64.tar.gz tar zxvf ioncube_loaders_lin_x86-64.tar.gzcp -rf ioncube /usr/local/sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php.inised -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.inised -i 's/;date.timezone =/date.timezone = PRC/g' /etc/php.inised -i 's/; cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php.inised -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.inised -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_ge t_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepas sthru,stream_socket_server/g' /etc/php.iniecho "zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.4.so">> /etc/php.iniwget /pub/Releases/3.2.0/xcache-3.2.0.tar.gztar -zxvf xcache-3.2.0.tar.gzcd xcache-3.2.0phpize --cleanphpize./configure --enable-xcachemake && make installcat xcache.ini >> /etc/php.iniservice httpd restart5,编译安装freeradiuswget ftp:///pub/freeradius/freeradius-server-3.0.10.tar.gztar zxvf freeradius-server-3.0.10.tar.gzcd freeradius-server-3.0.10./configure --with-modules=rlm_sql_mysql (各种WARNING,没有ERROR) make && make install6,测试调试模式命令:radiusd -X提示Refusing to start with libssl version OpenSSL 1.0.1evi /usr/local/etc/raddb/radiusd.conf找到allow_vulnerable_openssl = no,修改成allow_vulnerable_openssl = yes 再次启动radiusd -X新打开一个终端vi /usr/local/etc/raddb/users找到这一行#steve Cleartext-Password:="testing"将前面的#去掉radtest steve testing localhost 0 testing123radtest 17000001111 111111 localhost 0 testing123获得结果:Sent Access-Request Id 41 from 0.0.0.0:35117 to 127.0.0.1:1812 length 75 User-Name = "steve"User-Password = "testing"NAS-IP-Address = 106.185.45.18NAS-Port = 0Message-Authenticator = 0x00Cleartext-Password = "testing"Received Access-Accept Id 41 from 127.0.0.1:1812 to 0.0.0.0:0 length 20accept!貌似成了,玩去吧 ^_^还有一种简单的yum安装添加源:cd /etc/yum.repos.d/wget/repositories/home:freeradius:3.0.x:centos/CentOS_C entOS-6/home:freeradius:3.0.x:centos.repoyum install -y freeradius freeradius-utils freeradius-mysql安装的版本是freeradius 3.0.3Freeradiusd mysql 相关配置参考文献:/cluniquecui/article/details/424904235.3 创建数据库命令如下:mysql -u root –p要求输入密码时,直接回车即可。

RADIUS认证服务器的安装与配置实训

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服务器的配置信息。

CentOS下Radius服务器搭建

CentOS下Radius服务器搭建

CentOS下Radius服务器搭建⼀、实现环境:1.系统: release 6.6 (Final)2.需要软件包:1) freeradius-2.1.12-6.e16.x86_64freeradius-mysql-2.1.12-6.e16.x86_642) ppp-2.4.5-5.e16.x86_643) rp-pppoe-3.10-11.e16.x86_644) mysql-5.1.73-3.e16_5.x86_64mysql-devel-5.1.73-3.e16_5.x86_645) openssl-1.0.1e-30.e16_6.5.x86_64⼆、服务器实际部署环境和简单原理分析:Radius是Remote Access Dial In User Service的简称。

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

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

如下拓扑图所⽰,为该radius服务器实际运⾏环境和功能。

Radius服务器和接⼊服务器配合使⽤实现⽤户宽带账号计费拨号获取权限连接Internet⽹络。

三、Radius服务器搭建:1.安装CentOS系统配置好⽹络之后使⽤命令:#yum update 更新系统。

2.查看各个软件包是否安装:#rpm –q ppp rp-pppoe freeradius mysql-* openssl如果没有安装则使⽤命令:#yum install ppp rp-pppoe freeradius-* mysql-* openssl进⾏安装,⼀般openssl在系统更新之后就已经安装好了。

RADIUS服务器搭建和认证流程解析

RADIUS服务器搭建和认证流程解析

RADIUS服务器搭建和认证流程解析RADIUS 服务器搭建和认证流程解析RADIUS(Remote Authentication Dial-In User Service)是一种广泛用于认证、授权和账务管理的网络协议。

它为网络设备、服务器和用户提供了一种安全的身份验证机制。

本文将探讨如何搭建一个RADIUS 服务器以及该服务器的认证流程。

一、RADIUS 服务器搭建要搭建一个 RADIUS 服务器,我们需要以下步骤:1. 安装 RADIUS 服务器软件:选择适合你系统的 RADIUS 服务器软件,并按照官方的安装指南进行安装。

常见的 RADIUS 服务器软件有 FreeRADIUS、Microsoft IAS/NPS、Cistron RADIUS 等。

2. 配置 RADIUS 服务器:对于每个 RADIUS 服务器软件,都有相应的配置文件。

打开配置文件,根据实际需求进行配置。

配置项包括服务器 IP 地址、共享密钥、认证方式等。

3. 启动 RADIUS 服务器:根据软件的启动命令,启动 RADIUS 服务器。

一般情况下,启动命令类似于“radiusd -X”,其中的“-X”参数是用于输出详细的调试信息。

二、RADIUS 服务器认证流程解析当一个客户端请求认证时,RADIUS 服务器会按照以下步骤进行认证流程:1. 客户端认证请求发送:客户端(如路由器、交换机等)通过向RADIUS 服务器发送一个认证请求,请求包含用户名和密码等认证信息。

2. RADIUS 服务器接收请求:RADIUS 服务器接收客户端的认证请求,并解析请求中的认证信息。

3. 认证请求转发:RADIUS 服务器将认证请求转发给认证服务器(如 LDAP 服务器、数据库等),以便验证客户端提供的用户名和密码。

4. 用户名密码验证:认证服务器收到请求后,首先验证用户名和密码是否匹配。

如果匹配成功,认证服务器将返回“认证成功”的消息;否则,返回“认证失败”的消息。

CentOS搭建radius服务器用于wifi的wap2认证

CentOS搭建radius服务器用于wifi的wap2认证

CentOS搭建radius服务器⽤于wifi的wap2认证 1,⽹络拓扑 IP规划明细IP 备注路由器WAN⼝192.168.1.10路由器LAN⼝ 192.168.0.0/24Radius服务器 192.168.1.100 2,环境查看 路由器型号为TP-Link TL-WAR1200L也可以使⽤其他⽀持WPA2认证的路由器 3,安装FreeRadius 安装yum -y install freeradius freeradius-utils freeradius-mysql 启动radiussystemctl start radiusdsystemctl enable radiusd ⽇志在/var/log/radius/radius.log 也可以使⽤调试模式启动,直接在当前页⾯显⽰⽇志radiusd -X FreeRADIUS 3.0的测试 修改配置⽂件vim /etc/raddb/users 把以下⾏的注释取消 测试[root@localhost ~]# radtest steve testing localhost 0 testing123 如果输出"Access-Accept"表⽰成功了,"Access-Reject"表⽰失败了。

使⽤radius -X启动则在终端显⽰以下代表认证成功 关闭radius测试会提⽰没有响应 测试完把注释在加上 4,安装mariadb 安装yum install -y mariadb-server mariadb 启动systemctl start mariadbsystemctl enable mariadb 运⾏安全设置mysql_secure_installation 进⼊数据库[root@localhost ~]# mysql -uroot -pEnter password: 创建数据库并授权MariaDB [(none)]> create database radius;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on radius.* to radius@'localhost' identified by 'radius';Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.00 sec) 5,配置radius和数据库 导⼊数据库[root@localhost ~]# mysql -uroot -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql 为/etc/raddb/mods-enabled创建软连接[root@localhost ~]# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/ 查看[root@localhost ~]# ll /etc/raddb/mods-enabled/sqllrwxrwxrwx 1 root root 29 1⽉ 19 14:09 /etc/raddb/mods-enabled/sql -> /etc/raddb/mods-available/sql 配置SQL模块/ raddb/mods-available/ SQL,并更改数据库连接参数,以适合环境[root@localhost ~]# vim /etc/raddb/mods-available/sql 设置以下项,其余项保持默认driver = "rlm_sql_mysql"dialect = "mysql"server = "localhost"port = 3306login = "radius"password = "radius"radius_db = "radius"read_clients = yes 然后,将/etc/raddb/mods-enabled/sql所属组更改为radiusd#chgrp -h radiusd /etc/raddb/mods-enabled/sql 添加客户端连接设置,添加允许所有⽤户接⼊,如需特定ip访问,ip可以⾃由更改。

CentOS下使用FreeRadius实现802.1X网络准入

CentOS下使用FreeRadius实现802.1X网络准入

:802.1X协 议 是 基 于 Client/Server的 访 问 控 制 和 从 而 可 以 实
协 议 是 基 于 认 证 协 议 ,使 用 802.1X协 议 组 网 ,对 设 备 的 整 体 性 能 要 求 现 业 务 与 认
C1 ient/Server 不 高,可 以 有 效 降 低 建 网 成 本 。 本 文 通 过 在 CentOS下 使 用 证 的 分 离 ,由
下 tar —xzvf freeradius— server一3.0.1i,执 行 命 令 ./
configure
5.先 后 执 行 命 令 make
口 make instal1 6. 进 入 cd /usr/loca1/
etc/raddb,用 vim打 开 文 件 users,将 以 下 注 释 去 掉 。
2.root 下 使 用 命 令
tar ——xzvf freeradius——
server一3.0.11.tar.gz 解 压 缩 包 。
3. 执 行 命 令 yum
insta]] ]j bta]]oc—deve1
一y安 装 1ibtalloc 4.进 入 解 压 后 的 文 件 夹
的 访 问 控 制 和 FreeRadius来 实 现 802.1X的 网络 准 入 ,讨 论 其 部 署 结 构 、 Radius 服 务
认 证 协 议 。 它 安 装 与 配 置 等 问 题 。
器 和 交 换 机
可 以 限 制 未 经
利 用 不 可 控
授 权 的 设 备 通 过 接 入 端 口 访
1.IEEE 802.1X协 议 为 的 逻 辑 端 口共 同 完 成 对 用 户

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

CentOS下搭建radius服务器进行EAP认证

CentOS下搭建radius服务器进行EAP认证

CentOS 下搭建radius服务器进行EAP认证Radius服务器端IP:10.0.12.38AP端IP:10.0.12.39一、安装mysql#yum install mysql;#yum install mysql-server#yum install mysql-test二、安装freeradius#yum install freeradius#yum install freeradius-mysql安装完freeradius过后,测试freeradius是否安装成功。

测试需要用户,因此先将/etc/raddb/users文件打开,将steve前的#去掉,变成:steve Cleartext-Password := "testing"Service-Type = Framed-User,Framed-Protocol = PPP,Framed-IP-Address = ,Framed-IP-Netmask = .0,Framed-Routing = Broadcast-Listen,Framed-Filter-Id = "",Framed-MTU = 1500,Framed-Compression = Van-Jacobsen-TCP-IP这样就有了用户steve及密码testing,可以进行测试了。

先启用radius:#radiusd -X如果程序正常运行,最后三行如下Listening on authentication *:1812Listening on accounting *:1813Ready to process requests.# radtest steve testing localhost 1812 testing123最后的testing123是在/etc/raddb/中定义的localhost的密码。

如果结果中出现Access-Accept,说明安装成功。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
# coa_server = coa
#降低从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验证方式
2.1 在/etc/raddb/users 添加如下配置:
test Auth-Type := CHAP, Cleartext-Password := "123456"
# shortname = liv1
# # the following three fields are optional, but may be used by
# # checkrad.pl for simultaneous usage checks
1.安装openssl,mysql,freeradius,freeradius-utils(支持radtest)
yum install openssl
yum install mysql
yum install freeradius
yum install freeradius-utils
#
# You can have as many per-socket client lists as you have "listen" sections, or you can re-use a list among multiple "listen" sections.
# nastype = livingston
# login = !root
# password = someadminpas
#}
#######################################################################
#}
1.2 详细讲解/etc/raddb/users
test Auth-Type := CHAP, Cleartext-Password := "123456"
Hale Waihona Puke Reply-Message = "Hello, %{User-Name}"
#
# Per-socket client lists. The configuration entries are exactly the same as above, but they are nested inside of a section.
# Per-socket client lists. 这些配置条目和上面的一样,但是嵌套在这部分。
[root@ADCTEST ~]# radtest -t chap test 123456 localhost 0 testing123
Sending Access-Request of id 1 to 127.0.0.1 port 1812
User-Name = "test"
client 127.0.0.1/24 {
secret = localtest #共享密钥,用于pap/chap/mschap 认证
shortname = any #FQDN或IP地址别名,我用any/localhost/127.0.0.1都测试过,看不出什么区别。这个值在2.X也不是必须。
require_message_authenticator = no
nastype = other
}
2.3 使用radtest验证
Usage: radtest [OPTIONS] user passwd radius-server[:port] nas-port-number secret [ppphint] [nasname]
#client fe80::/16 {
# secret = testing123
# shortname = localhost
#}
#client {
# secret = testing123
#从2.0开始,clients可以指定一个virtual server如:
# virtual_server = home1
#一个指向‘home_server_pool’或‘home_server’的指示器包括这个client的Coa配置。例如,一个coa的home server或home pool,参考 raddb/sites-available/originate-coa。
# shortname = localhost #optional in 2.x
nastype = other #nastype告诉‘checkrad.pl’使用哪个NAS-specific 方法查询可同时使用的NAS。 localhost不需要使用NAS。
#下面两个配置是为将来保留。当前使用‘naspassed’文件存储NAS的用户名和密码,这在checkrad.pl查询可以同时使用的NAS。
# login = !root
# password = someadminpas
Reply-Message = "Hello, %{User-Name}"
2.2 在/etc/raddb/clients.conf添加如下客户端.添加客户端有两各版本:1.在1.x版本格式是,client后面跟着ip地址,方法体内用shortname区分其他client,这个是必须填的。2.在2.x的版本格式是,client后面跟着一个名字,使用ipaddr或者ipv6addr配置客户端ip地址。这时候shortname就成为可选参数了。
shortname = any #FQDN或IP地址别名,我用any/localhost/127.0.0.1都测试过,看不出什么区别。这个值在2.X也不是必须。
}
client localhost {
ipaddr = 127.0.0.1
secret = localtest
CHAP-Password = 0x015fe7280a953af2331ba99066be43f30f
NAS-IP-Address = 59.108.66.243
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
# 你可以填写所有的listen部分,或者重写一个list在多个listen章节中。
# Un-comment this section, and edit a "listen" section to add:"clients = per_socket_clients".
# shortname = localhost
#}
#client 10.10.10.10 {
# # secret and password are mapped through the "secrets" file.
# secret = testing123
启动radius服务:
radiusd -X
备注:这个方法很实用,尤其是在debug测试阶段,可以详细的看到用户认证的流程,认证方式,用户名/密码,错误消息,方便快速定位。
1.讲解freeradius两个最重要最基本的文件:users和clients.conf
1.1 详细讲解/etc/raddb/clients.conf文件
# 只接受这部分包括的clients的ip地址和端口号对。
#
#clients per_socket_clients {
# client 192.168.3.4 {
# secret = testing123
# }
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=1, length=46
CHAP-Password = 0x74657374696e67313233
Reply-Message = "Hello, test"
相关文档
最新文档