freeradius一样平常用来进行账户认证管理,记账管理,常见的电信运营商的宽带账户,上网账户管理,记账,都是利用的radius做事器进行鉴权记账的。
常见的radius做事器种类不多,比较强大确当属开源的freeradius,天下上大部分的radius做事器都是基于freeradius开拓而来的。
Freeradius包含一个radius做事器和radius-client,可以对支持radius协议的网络设备进行鉴权记账,常见的开源路由器操作系统:如Openwrt,DD-wrt等,都支持radius协议,对PPPOE,热点,VPN等做事器进行账户管理认证,记账。

freeradius功能十分强大,支持浩瀚的数据库。 Freeradius操作稍显麻烦,内置diaup_admin大略web管理,须要更大略易用的管理功能可以利用第三方的管理程序对Freeradius进行账户管理,系统配置等。
很多刚入门的朋友,在搭建环境的时候都会碰着各种问题,本文详细先容在Ubuntu 16.04 LTS做事器上安装FreeRADIUS和Daloradius的方法,为初学者省去很多麻烦。
一、在安装之前建议将系统升级到最新版本,运行以下命令:1sudoapt‐getupdate2sudoapt‐getupgrade
升级后重新启动系统:
1sudoreboot
系统启动后,在Ubuntu 16.04系统上开始安装FreeRADIUS和Daloradius。
二、安装Apache Web Server和PHPDaloradius将哀求在主机系统上安装php和Apache Web做事器。
1、在Ubuntu上安装Apache,运行以下命令安装Apache Web做事器:1sudoapt‐getinstallapache2
2、要在Ubuntu 16.04上安装PHP,请运行以下命令:
若要安装PHP 7.3版本请参考在Ubuntu 18.04或CentOS 7系统上安装PHP7.3:点击下面的链接进入: https://ywnz.com/linuxjc/3782.html
1sudoapt‐getinstallphplibapache2‐mod‐phpphp‐gdphp‐commonphp‐mail\2php‐mail‐mimephp‐mysqlphp‐pearphp‐dbphp‐mbstringphp‐xmlphp‐curl
3、检讨PHP版本以确保安装成功
1php‐v
会输出这样的类似版本信息
1PHP7.0.33‐0ubuntu0.16.04.16(cli)(NTS)2Copyright(c)1997‐2017ThePHPGroup3ZendEnginev3.0.0,Copyright(c)1998‐2017ZendTechnologies4withZendOPcachev7.0.33‐0ubuntu0.16.04.16,Copyright(c)1999‐2017,byZendTechnologies
三、安装MySQL并创建数据库1、接下来是安装mysql做事器或者MariaDB并为daloRADIUS创建一个数据库。
1安装MYSQL命令:2sudoapt‐yinstallmysql‐server
若安装过程中提示你要输入root的密码,请按哀求输入密码,然后"确定"即可。我这里暂设是:123456
若没有提示输入密码的话请运行以下命令:
1sudomysql_secure_installation2如果您还没有设置密码,您将被哀求设置密码,然后如果您想删除匿名用户,则禁止远程root3登录,删除测试数据库并重新加载表。除非你有其他的操持,并且知道你在做什么,否则我4建议你一贯按Enter键。
2、安装并运行后,为FreeRADIUS创建一个数据库,这将在稍后阶段利用:
数据库名称:radius 数据库用户:radius 数据库用户密码:123456
1$mysql‐uroot‐p//进入mysql2MariaDB[(none)]>CREATEDATABASEradius;//创建一个数据库用户3QueryOK,1rowaffected(0.000sec)4//设置数据库用户密码5MariaDB[(none)]>GRANTALLONradius.TOradius@localhostIDENTIFIEDBY"123456";6QueryOK,0rowsaffected(0.000sec)7MariaDB[(none)]>FLUSHPRIVILEGES;//刷新MySQL的系统权限干系表8QueryOK,0rowsaffected(0.001sec)9MariaDB[(none)]>EXIT;//退出10Bye
四、安装和配置FreeRADIUS1、由于Ubuntu 16.04系统,版本2.x是官方存储库中供应的软件包,要安装3.0版,请为FreeRADIUS版本3添加PPA:
1sudoadd‐apt‐repositoryppa:freeradius/stable‐3.02sudoapt‐getupdate
安装以下FreeRADIUS软件包:
1sudoapt‐getinstallfreeradiusfreeradius‐mysqlfreeradius‐utils2sudoufwallowtoanyport1812protoudp3sudoufwallowtoanyport1813protoudp
并在调试模式下运行它
1sudofreeradius‐X
输出该当很长,并以这样的内容结尾
1Listeningonauthaddressport1812boundtoserverdefault2Listeningonacctaddressport1813boundtoserverdefault3Listeningonauthaddress::port1812boundtoserverdefault4Listeningonacctaddress::port1813boundtoserverdefault5Listeningonauthaddress127.0.0.1port18120boundtoserverinner‐tunnel6Listeningonproxyaddressport424637Listeningonproxyaddress::port554928Readytoprocessrequests
按Ctrl+C退出调试模式。
2、检讨目录下是否有schema.sql文件1cd/etc/freeradius/mods‐config/sql/main/mysql2findschema.sql
3 若提示没有找到该文件,可能是安装出错没有天生也可能是目录层次不同,可考试测验下:find ‐name "schema.sql"
若提示在目录下能找到这个文件则导入freeradius MySQL数据库方案:
1sudomysql‐uroot‐pradius</etc/freeradius/mods‐config/sql/main/mysql/schema.sql
3、检讨创建的表:
1mysql‐uroot‐p‐e"useradius;showtables;"
会显示这样图形输出例子
1+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+2|Tables_in_radius|3+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+4|nas|5|radacct|6|radcheck|7|radgroupcheck|8|radgroupreply|9|radpostauth|10|radreply|11|radusergroup|12+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+
4、创建一个从SQL模块到/etc/freeradius/3.0/mods启用目录的符号链接:
1sudoln‐s/etc/freeradius/mods‐available/sql/etc/freeradius/mods‐enabled/
5、配置SQL模块并变动数据库连接参数以适宜你的环境:
1sudovim/etc/freeradius/mods‐enabled/sql
你的sql部分该当类似于下面的部分: 如果你有专用数据库做事器,请将localhost更换为源FreeRadius做事器的IP:
1sql{2driver="rlm_sql_mysql"3dialect="mysql"4#Connectioninfo:5server="localhost"6port=33067login="radius"8password="123456"9#DatabasetableconfigurationforeverythingexceptOracle10radius_db="radius"11}12#Setto‘yes’toreadradiusclientsfromthedatabase(‘nas’table)13#ClientswillONLYbereadonserverstartup.14read_clients=yes1516#Tabletokeepradiusclientinfo17client_table="nas"
6、然后变动/etc/freeradius/mods-enabled/sql的组权限:
1sudochgrp‐hfreerad/etc/freeradius/mods‐available/sql2sudochown‐Rfreerad:freerad/etc/freeradius/mods‐enabled/sql
重启freeradius做事:
1sudosystemctlrestartfreeradius.service
末了,我们将在调试模式下运行FreeRADIUS以确保统统正常事情。
7、首先停滞当前运行的做事1sudosystemctlstopfreeradius.service
在调试模式下运行FreeRADIUS
1sudofreeradius‐X
输出的末端该当是这样的
1Listeningonauthaddressport1812boundtoserverdefault2Listeningonacctaddressport1813boundtoserverdefault3Listeningonauthaddress::port1812boundtoserverdefault4Listeningonacctaddress::port1813boundtoserverdefault5Listeningonauthaddress127.0.0.1port18120boundtoserverinner‐tunnel6Listeningonproxyaddressport558737Listeningonproxyaddress::port460598Readytoprocessrequests
按Ctrl+C退出调试模式。
8、重新启动FreeRADIUS做事。1sudosystemctlstartfreeradius.service
五、在Ubuntu 16.04上安装和配置Daloradius1、如果没有安装wget和unzip,则安装wget和unzip
1sudoapt‐yinstallwgetunzip
下载并解压daloRADIUS和cd到目标文件夹中,这个文件夹是daloRADIUS-master
1wgethttps://github.com/lirantal/daloradius/archive/master.zip2unzipdaloradius‐master.zip3mvdaloradius‐master/daloradius4cddaloradius5若无法下载,可用浏览器打开https://github.com/lirantal/daloradius/archive/master.zip下载
2、我们将用daloRADIUS模式添补FreeRADIUS利用的数据库。它是我们在前面的案例中创建的数据库radius。
1sudomysql‐uroot‐pradius<contrib/db/fr2‐mysql‐daloradius‐and‐freeradius.sql2sudomysql‐uroot‐pradius<contrib/db/mysql‐daloradius.sql
从“daloradius”目录中退出,并将该文件夹移动到文档根目录中,并将其重命名为“daloradius”
1cd..2sudomvdaloradius/var/www/html/
3、将daloradius文件夹的所有者和组变动为www-data:www-data,这是运行Apache Web Server的所有者和组。
1sudochown‐Rwww‐data:www‐data/var/www/html/daloradius/
4、接下来,我们须要创建daloRADIUS配置文件。daloRADIUS供应了一个配置文件模板,名
为/var/www/html/daloradius/library/daloradius.conf.php。我们只复制样本。
1sudocp/var/www/html/daloradius/library/daloradius.conf.php.sample
/var/www/html/daloradius/library/daloradius.conf.php将配置文件的权限变动为664
1sudochmod664/var/www/html/daloradius/library/daloradius.conf.php
5、接下来,我们将编辑daloRADIUS配置文件中的一些值,以便它连接到我们之前为FreeRADIUS创建的数据库。
1sudovim/var/www/html/daloradius/library/daloradius.conf.php
我们将变动以下值
1$configValues['CONFIG_DB_USER']='root';2$configValues['CONFIG_DB_PASS']='';3$configValues['CONFIG_DB_NAME']='radius';
下面是我如何根据前面创建的数据库名、用户和密码修正它们的。
1$configValues['CONFIG_DB_USER']='radius';2$configValues['CONFIG_DB_PASS']='123456';3$configValues['CONFIG_DB_NAME']='radius'
6、末了重启daloRADIUS和Apache
1sudosystemctlrestartfreeradius.serviceapache2
六、访问daloRADIUS
1、要访问daloRADIUS,请在浏览器中访问本机的IP或域名,然后是/daloRADIUS,例如https://your_server_ip/daloradius 除非您配置了SSL,否则请确保它是http://,并且浏览器不会将其变动为https://,,由于有时可能会发生这种情形。 这便是daloRADIUS的样子
默认的登录凭据是: username: administrator password: radius
七、测试 FreeRADIUS和daloRADIUS1、NAS (Network Access Server)客户端表充当了到受保护资源的网关。为了让另一个设备连接到我们的FreeRADIUS做事器,需要将它添加到NAS客户端表中。 我们通过登录到daloRADIUS仪表板来添加NAS客户端表。然后导航到Management > NAS(在蓝色的子菜单中)> New NAS(在左边,深灰色的边栏)。 我们须要填写的最小选项如下所示
1NASIP/Host:你将连接的打算机的IP。2NASSecret:密钥。3NASType:你可以在这里任意填写4NASShortname:方便您利用的短名称
我将填写以下内容
2、创建daloRADIUS用户
为了测试我们的做事器,我们还须要一个用户。 通过在顶部菜单导航到Management > Users(在蓝色子菜单中)> New User(在左边,深灰色的边栏)。 对付我们的示例,我将利用以下凭据创建用户
在创建用户时,除了Username,Password外,还有其他字段可用,但对付我们的目的,这些就足够了。
3、在调试模式下运行FreeRADIUS接下来,我们将在调试模式下运行FreeRADIUS,这样我们就可以看到当我们向它发送认证要求时会发生什么。 首先停滞正在运行的进程。
1sudosystemctlstopfreeradius.service
在调试模式下运行FreeRADIUS
1sudofreeradius‐X
把稳:每次添加新的NAS表时,都须要重新启动FreeRADIUS做事器,以便它获取更新后的表。
4、利用NTRadPing测试FreeRADIUS做事器测试做事器的一个方便方法是利用一种叫做NTRadPing的免费Windows软件。
你可以在这里下载https://community.microfocus.com/t5/OES-Tips-Information/NTRadPing-1-5-RADIUS-TestUtility/ta-p/1777768
这是到档案的直接链接 https://community.microfocus.com/dcvta86296/attachments/dcvta86296/OES_Tips/148/1/ntradping.zip
这是VirusTotal的报告,以是你知道它是安全的 https://www.virustotal.com/gui/file/e1b3318b884e4643a043ec5e3104638016c343c447424c244fc1da4f6e7165ec/detection
只需解压归档文件并运行可实行文件以运行NTRadPing即可。
5、我们将利用NTRadPing向在调试模式下运行FreeRADIUS的做事器发送身份验证要求。我们将按如下办法填写
1RADIUSServer/port:FreeRADIUS做事器的IP/端口18122Replytimeout(sec.):13Retries:14RADIUSSecretKey:testing1235User‐Name:test_16Password:A1234567选中CHAP复选框,这样要求利用CHAP密码,而不是PAP密码。8现在单击Send按钮发送身份验证要求。9如果您吸收到Access‐Accept相应,那么我们可以假定它可以事情。
NTRadPing的输出该当像这样
在调试模式下运行FreeRADIUS的终端中,输出该当以这样的内容结束
希望您也已经成功地在ubuntu16.0.4上安装了FreeRADIUS,并安装和配置了daloRADIUS,然后成功地测试了FreeRADIUS服 务器。
八、常见缺点Failed binding with auth address [ ] when running in debug mode
1Failedbindingtoauthaddressport1812boundtoserverdefault:Addressalreadyinuse2/etc/freeradius/3.0/sites‐enabled/default[59]:Errorbindingtoportfor0.0.0.0port1812
这个缺点发生在你试图运行FreeRADIUS,但有另一个FreeRADIUS实例已经在运行,以是你须要运行下面的命令来停滞它
1sudosystemctlstopfreeradius.service
快抓紧来操作吧!