AAA是一款基于Linux的开源解决方案,同时也是一款图形化的网络管理工具。

通常,此类系统用于账户的验证与财务管理,诸如电信服务商提供的宽带和上网服务账户,其管理、计费等操作均依赖于服务器来完成身份验证和费用记录。
服务器类型相对有限,其中较为出色的主要是开源版本,全球范围内的大多数服务器均是以此为基础构建的。
该系统整合了一台服务器及相应的协议,能够对联网设备进行身份验证和费用记录,适用于多种开源路由器操作系统,例如DD-wrt等,它们均能兼容该协议,并支持对PPPOE、热点以及虚拟专用网络等服务器进行账户管理、认证和费用结算。
功能异常强大,涵盖了众多数据库类型。然而,操作过程略显复杂,内置了基础的web管理功能。若需更便捷的管理体验,用户可选择使用第三方管理软件来处理账户管理和系统配置等事宜。
众多新手在构建环境过程中常常面临诸多困扰,本文将详尽阐述在16.04 LTS服务器上如何进行安装及配置,旨在为初学者减轻不少负担。
一、在安装之前建议将系统升级到最新版本,运行以下命令:
1 sudo apt‐get update
2 sudo apt‐get upgrade
升级后重新启动系统:
1 sudo reboot
系统启动后,在 16.04系统上开始安装和。
二、安装 Web 和PHP
将要求在主机系统上安装php和 Web服务器。
1、在上安装,运行以下命令安装 Web服务器:
使用sudo命令,执行apt-get安装,目标软件为apache2。
2、要在 16.04上安装PHP,请运行以下命令:
若需安装PHP 7.3版本,请查阅在 18.04或 7系统上如何安装PHP7.3的相关说明;请点击以下链接获取详细步骤。
使用sudo命令,执行apt-get安装操作,安装php、libapache2-mod-php、php-gd、php-common和php-mail等软件包。
禁止使用php-mail-mime、php-mysql、php-pear、php-db、php-mbstring、php-xml、php-curl等库。
3、检查PHP版本以确保安装成功
1 php ‐v
会输出这样的类似版本信息
PHP版本7.0.33,编号为0ubuntu0.16.04.16,属于命令行接口版本,标记为NTS。
版权所有(c)1997至2017,PHP团队
Zend Engine版本3.0.0,版权所有(c)1998至2017,Zend技术公司。
使用Zend OPcache版本7.0.33-0ubuntu0.16.04.16,版权所有(c)1999-2017,由Zend Technologies公司提供。
三、进行MySQL的安装操作,并着手建立一个数据库。首先,安装MySQL服务器,随后,着手创建一个新的数据库。
1 安装MYSQL命令:
使用sudo命令,以-y参数执行apt安装指令,安装mysql服务器。
若在安装过程中出现提示要求您输入root密码,请按照指示输入密码,完成输入后点击“确定”按钮。在此情况下,我预设的密码为:

若没有提示输入密码的话请运行以下命令:
请执行sudo命令以启动mysql_secure_installation程序。
若您尚未设定密码,系统将提示您进行设置;若您意欲移除匿名用户,请注意,远程root操作将不被允许。
在登录系统后,请执行删除测试数据库的操作,并重新导入表格内容。若非另有安排且你确信自己的操作无误,请勿随意进行。
4 建议你一直按Enter键。
2、安装并运行后,为创建一个数据库,这将在稍后阶段使用:
数据库名称: 数据库用户: 数据库用户密码:
使用命令行输入mysql,然后输入-u参数后跟root,再输入-p,以进入MySQL系统。
在MariaDB数据库中,执行了创建操作,目的是为了建立一个名为radius的新数据库。
查询成功,影响行数为一行(耗时0.000秒)。
4 // 设置数据库用户密码
在MariaDB数据库中,对用户radius授予对radius.*数据库中所有内容的完全访问权限,该用户通过localhost登录,且登录时需使用密码"123456"。
查询成功,未影响任何行数(耗时0.000秒)。
在MariaDB数据库中,执行了FLUSH PRIVILEGES命令,该命令的目的是更新MySQL的系统权限相关表格。
查询执行成功,未影响任何行数(耗时0.001秒),现在将退出MariaDB会话。
10 Bye
四、在安装与设置过程中,鉴于16.04系统,官方仓库中仅提供2.x版本的软件包,若需安装3.0版本,需为3.0版软件添加PPA源。
使用sudo命令添加自由radius项目的稳定版3.0分支的apt软件源。
2 sudo apt‐get update
安装以下软件包:
使用sudo命令,执行apt-get安装freeradius、freeradius-mysql和freeradius-utils这三个软件包。
使用sudo命令,允许通过UDP协议访问1812端口,对任何网络连接进行开放。
使用sudo命令允许ufw软件对1813端口进行UDP协议的访问权限设置。
并在调试模式下运行它
1 sudo freeradius ‐X
输出应该很长,并以这样的内容结尾
监听认证地址,端口为1812,连接至默认服务器。
监听账户地址*端口1813,连接至默认服务器。
监听于认证地址,端口号为1812,连接至默认服务器。
监听账户地址端口1813,连接至默认服务器。
在授权地址127.0.0.1上监听,端口号为18120,连接至服务器内部隧道。
监听代理地址,端口号为42463。
监听代理地址,端口号为55492。
8 Ready to process requests
按Ctrl+C退出调试模式。
2、检查目录下是否有.sql文件
cd至/etc/freeradius目录下的mods-config/sql/main文件夹,并进入mysql子目录。
2 find schema.sql
若系统提示文件未找到,这可能是由于安装过程中出现了错误导致文件未能成功创建,亦或是文件所在的目录结构存在差异。在这种情况下,您可以尝试使用以下命令进行查找:执行“find -name '.sql'”。
若提示在目录下能找到这个文件则导入 MySQL数据库方案:
使用sudo命令,以root用户身份登录,执行mysql命令,并使用参数-u指定用户为root,参数-p指定密码为radius。< /etc/freeradius/mods‐config/sql/main/mysql/schema.sql
3、检查创建的表:
使用命令行操作MySQL,以root用户身份登录,输入密码后执行以下操作:指定使用radius数据库,并展示其中的所有表格名称。
会显示这样图形输出例子
1 +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+
2 | Tables_in_radius |
3 +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+
4 | nas |
5 | radacct |
6 | radcheck |
7 | radgroupcheck |
8 | radgroupreply |
9 | radpostauth |
10 | radreply |
11 | radusergroup |
12 +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+
建立一条指向SQL模块至/etc//3.0/mods目录的符号链接。
使用sudo命令创建一个符号链接,将/etc/freeradius/mods-available/sql文件链接到/etc/freeradius/mods-enabled/目录下。
5、配置SQL模块并更改数据库连接参数以适合你的环境:
使用sudo命令,以vim编辑器打开位于/etc/freeradius目录下的名为mods-enabled的sql文件。
若您拥有专门的数据库服务器,那么请将相应部分替换成源服务器的IP地址。
1 sql {
2 driver = "rlm_sql_mysql"
3 dialect = "mysql"
4 # Connection info:
5 server = "localhost"
端口设定为33067,用户名为"radius"。
8 password = "123456"
针对除Oracle之外的所有数据库表进行配置
10 radius_db = "radius"
11 }
将此选项设置为“是”,以便从数据库(“nas”表)中读取radius客户端信息。
客户信息仅在服务器启动时读取。
14 read_clients = yes
15
设立表格以存储半径客户端信息
17 client_table = "nas"
6、然后更改/etc//mods-/sql的组权限:
使用sudo命令更改文件组,将/etc/freeradius/mods-available/sql所属组指定为freerad,并采用-h选项。
执行命令sudo,对目录/etc/freeradius/mods-enabled/sql进行修改,将所有文件的拥有者设置为freerad用户和freerad组,使用递归方式-R。
重启服务:
使用sudo命令,对freeradius服务进行重启操作。
最后,我们将在调试模式下运行以确保一切正常工作。
7、首先停止当前运行的服务
使用sudo命令,停止运行freeradius服务,通过systemctl命令执行。
在调试模式下运行
1 sudo freeradius ‐X
输出的末尾应该是这样的
1 Listening on auth address * port 1812 bound to server default
2 Listening on acct address * port 1813 bound to server default
3 Listening on auth address :: port 1812 bound to server default
4 Listening on acct address :: port 1813 bound to server default
5 Listening on auth address 127.0.0.1 port 18120 bound to server inner‐tunnel
通过代理地址监听,端口号为55873。
监听代理地址,端口号为46059。
8 Ready to process requests
按Ctrl+C退出调试模式。
8、重新启动服务。
使用sudo命令启动freeradius服务。
五、在16.04系统上执行安装与配置操作,若尚未安装wget与unzip工具,需先进行wget和unzip的安装。
使用sudo命令,以-y选项执行,安装wget和unzip两个软件包。
下载并解压和cd到目标文件夹中,这个文件夹是-
执行命令wget,下载位于https://github.com/lirantal/daloradius的master.zip文件。
2 unzip daloradius‐master.zip
执行命令:访问路径为mv,目标为daloradius-master目录下的文件,文件名为daloradius。
4 cd daloradius
若下载不成功,您可以尝试通过浏览器访问链接https://github.com/lirantal/daloradius/archive/master.zip进行下载。
我们将采用模式填充的方式操作该数据库,该数据库系我们在先前案例中所构建。
1 sudo mysql ‐u root ‐p radius < contrib/db/fr2‐mysql‐daloradius‐and‐freeradius.sql
2 sudo mysql ‐u root ‐p radius < contrib/db/mysql‐daloradius.sql
退出“”目录,然后将该文件夹移至文档的根目录,并对其进行重命名,更名为“”。
1 cd ..
使用sudo命令,将名为daloradius的文件或目录,移动至/var/www/html/这个路径下。
将文件夹的归属权及所属群体调整为www-data:www-data,这一变更对应于负责运行Web服务的用户和用户组。
执行命令sudo,变更所有者,递归地,对用户www-data和组www-data,针对目录/var/www/html/daloradius/进行操作。
接下来,我们必须着手建立配置文件。为此,我们已提供了一份配置文件模板,其名称为——
针对/var/www/html目录下的/.conf.php文件,我们仅进行样本的复制操作。
使用sudo命令复制,目标为从/var/www/html/daloradius/library目录下的daloradius.conf.php.sample文件。
将位于/var/www/html目录下的.conf.php配置文件的权限调整为664。
使用sudo命令,对文件权限进行修改,将/var/www/html/daloradius/library/daloradius.conf.php的权限设置为664。
接下来,我们将对配置文件进行编辑,调整其中的一些参数设置,确保其能够顺利连接到我们先前所创建的数据库。
使用sudo命令,以vim编辑器打开位于/var/www/html/daloradius/library目录下的文件,名为daloradius.conf.php。
我们将更改以下值
配置数组中针对数据库用户的设定值为'root'。
配置数组中针对数据库密码的键值对被设置为空字符串。
配置数组中,以'CONFIG_DB_NAME'为键的值被设定为字符串'radius'。
下面是我如何根据前面创建的数据库名、用户和密码修改它们的。
配置数组中对应数据库用户名的键值对被设置为“radius”。
配置数组中针对数据库密码的键值对被设置为'123456'。
配置数组中,针对数据库名称的键值对被设置为'radius'。
6、最后重启和
执行sudo命令,重启freeradius服务,然后进行apache2服务的重启操作。
六、访问
若需进入,请在浏览器中输入本机的IP地址或域名,接着输入“/”,例如,若未设置SSL,务必保证前缀为“http://”,以免浏览器自动更改为“https://”,因为偶尔会出现此类情况。此操作方式便是如此。
默认的登录凭据是: : :
七个、测试中使用的NAS客户端扮演了通往受保护资源的网关角色。为了使另一台设备能够接入我们的服务器,必须
需将其纳入NAS客户端列表之中。为此,我们需登录至管理面板,并在其中进行操作。具体步骤为:首先,找到并点击蓝色子菜单下的“NAS”选项;接着,在左侧深灰色边栏中寻找并点击“新建NAS”。在接下来的操作中,需填写以下基本信息。
1 NAS IP/Host:你将连接的计算机的IP。
2 NAS Secret:密钥。
3 NAS Type:你可以在这里任意填写
4 NAS Shortname:方便您使用的短名称
我将填写以下内容

2、创建用户
为了检验我们服务器的性能,我们需招募一位用户。您可以通过点击顶部菜单,进入“用户”选项(位于蓝色子菜单内),然后选择“新建用户”(位于左侧深灰色边栏中)。在本次示例中,我将采用以下凭证信息来注册一位新用户。

在用户建立过程中,除了基本必填信息之外,尚有其他可选字段,然而,针对我们的需求,现有这些信息已足够满足。
3、在调试模式下运行
随后,我们将进入调试状态进行操作,通过这种方式,我们能够观察到在向其发送认证指令时会出现的情况。首先,我们需要终止当前正在运行的程序。
1 sudo systemctl stop freeradius.service
在调试模式下运行
1 sudo freeradius ‐X
每次新增NAS表格后,必须对服务器进行重启操作,确保其能够接收到最新的表格信息。
4、使用测试服务器
测试服务器的一个方便方法是使用一种叫做的免费软件。
你可以在这里下载
这是到档案的直接链接
这是的报告,所以你知道它是安全的
只需解压归档文件并运行可执行文件以运行即可。
5、我们将使用向在调试模式下运行的服务器发送身份验证请求。
我们将按如下方式填写
RADIUS服务器地址为IP,端口设定为1812。
2 Reply timeout (sec.):1
3 Retries: 1
4、RADIUS密钥:测试1235、用户名:test_1
6 Password:A123456
勾选CHAP选项,即表示将采用CHAP密码进行请求,而非选择PAP密码。
8 现在单击Send按钮发送身份验证请求。
若您获得Access-Accept的反馈,那么我们可以合理推断其功能正常。
的输出应该像这样
在调试模式下运行的终端中,输出应该以这样的内容结束

期待您已顺利在0.4版本上完成了安装,并且已经完成了安装与配置工作,此外,还成功地对服务器进行了测试。
八、常见错误
在启用授权的情况下,当处于调试模式时,
绑定认证地址时失败,端口1812已绑定至默认服务器:该地址已被占用。
在文件/etc/freeradius/3.0/sites-enabled/default的第59行,出现了错误信息,提示无法绑定到0.0.0.0地址的1812端口。
当你尝试启动程序时,却遭遇了另一个程序正在运行的状况,因此你必须执行以下指令以终止那个程序。
1 sudo systemctl stop freeradius.service
快抓紧来操作吧!

扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1