在Ubuntu 20.04/18.04/16.04上安装Freeradius和Daloradius

时间:2020-02-23 14:44:38  来源:igfitidea点击:

本教程是在Ubuntu 20.04/18.04/16.04 LTS服务器上安装Freeradius和Daloradius。
我们最近关于Freeradius的教程是如何在Centos 7和Rhel 7上安装Freeradius和Daloradius。
FreeRadius是一个开源,高性能,模块化,可缩放和功能丰富的Radius服务器。
它与服务器和RADIUS客户端,开发库和众多额外的RADIUS相关实用程序一起划船。

FreeRadius支持请求代理,具有失败和负载平衡,以及访问许多类型的后端数据库的能力。

用于"远程认证拨入用户服务"的RADIUS是一种用于远程用户身份验证和计费的网络协议。
它提供了AAA服务;即授权,身份验证和会计。

Freeradius的特点

灵活的配置通过各种方法选择用户配置..与EAP-MD5,EAP-SIM,EAP-TLS,EAP-TTL,EAP-PEAP和CISCO LEAP EAP分布,AEAP-MD5和RFC 2866属性的灵活配置。

  • 近一百个供应商的特定属性,包括Bintec,Foundry,Cisco,Juniper,Lucent/Ascend,HP Procurve,Microsoft,USR/3Com,ACC/Newbridge等。

什么是daloRADIUS?

另一方面,Daloradius是一种在PHP和JavaScript中编写的高级RADIUS Web管理平台。
它主要旨在管理由FreeRadius服务器提供支持的热点和通用ISP部署。
DaloRadius的一些很好的功能包括:具有数据库抽象层,支持许多数据库系统 - MySQL,SQLite,PostgreSQL,MSSQL和Oracleadvanced用户管理功能,与Googlemaps用于地球位置的Googlemaps一个计费引擎

如何在Ubuntu 20.04/18.04/16.04上安装Freeradius和Daloradius

首先将系统包更新到最新版本:

sudo apt update
sudo apt -y upgrade

升级后重新启动系统

sudo reboot

系统启动后,在Ubuntu 18.04/Ubuntu 16.04系统上开始安装Freeradius和Daloradius。

第1步:安装Apache Web服务器和PHP

Daloradius将需要PHP和Apache Web服务器将安装在主机系统上。

在Ubuntu上安装Apache:

通过运行安装Apache Web服务器:

sudo apt -y install apache2

在Ubuntu 18.04和Ubuntu 16.04上安装PHP,运行:

sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl}

检查安装的PHP版本:

$php -v
PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.2.19-0ubuntu0.18.04.2, Copyright (c) 1999-2016, by Zend Technologies

第2步:安装MariaDB并创建数据库

接下来是安装MariaDB服务器并为Daloradius创建一个数据库。
我们有一个在Ubuntu安装MariaDB 10.x的全面教程

在Ubuntu 18.04和Centos 7上安装MariaDB 10.x

对于Ubuntu 20.04,刚刚运行:

sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

安装并运行后,为FreerAdius创建数据库,这将在稍后阶段使用。

database name: radius
database user: radius
database user password: Hyman@theitroad

如果我们有专用的数据库服务器,请将localhost替换为源Freeradius服务器的IP。

$sudo mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO Hyman@theitroad IDENTIFIED BY "Hyman@theitroad";
FLUSH PRIVILEGES;
QUIT

第3步:在Ubuntu 20.04/18.04/16.04上安装和配置FreeRadius

我们可以查看Ubuntu中可用的Freeradius版本:

$sudo apt policy freeradius
freeradius:
  Installed: (none)
  Candidate: 3.0.20+dfsg-3build1
  Version table:
     3.0.20+dfsg-3build1 500
        500 http://nova.clouds.archive.ubuntu.com/ubuntu focal/main amd64 Packages

使用以下命令从官方Ubuntu APT存储库安装Freeradius包:

sudo apt -y install freeradius freeradius-mysql freeradius-utils

安装的软件包中是MySQL模块和Utils包。

Ubuntu 16.04

对于Ubuntu 16.04系统,版本2.x是官方存储库中可用的包。
要安装版本3.0,请为Freeradius的版本添加Personal Package Archive(PPA)。

sudo add-apt-repository ppa:freeradius/stable-3.0
sudo apt-get update
sudo apt-get install freeradius freeradius-mysql freeradius-utils

导入Freeradius MySQL数据库方案:

sudo su 
mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

检查创建的表:

$sudo  mysql -u root -p -e "use radius;show tables;"
Enter password: 
+------------------+
| Tables_in_radius |
+------------------+
| nas              |
| radacct          |
| radcheck         |
| radgroupcheck    |
| radgroupreply    |
| radpostauth      |
| radreply         |
| radusergroup     |
+------------------+

为SQL模块创建一个软链接 /etc/freeradius/3.0/mods-enabled/

sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

配置SQL模块并更改数据库连接参数以满足环境。

sudo vim /etc/freeradius/3.0/mods-enabled/sql

SQL部分应与下面类似。

sql {
driver = "rlm_sql_mysql"
dialect = "mysql"
# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "Hyman@theitroad"
# Database table configuration for everything except Oracle
radius_db = "radius"
}
# Set to ‘yes’ to read radius clients from the database (‘nas’ table)
# Clients will ONLY be read on server startup.
read_clients = yes
# Table to keep radius client info
client_table = "nas"

然后改变小组权利 /etc/freeradius/3.0/mods-enabled/sql

sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql

重新启动Freeradius服务:

sudo systemctl restart freeradius.service

在Ubuntu 20.04/18.04/16.04上安装和配置Daloradius

我们需要安装Daloradius以获取FreeRadius Web管理界面。

sudo apt -y install wget unzip
wget https://github.com/lirantal/daloradius/archive/master.zip
unzip master.zip
mv daloradius-master daloradius

更改配置目录:

cd daloradius

配置Daloradius.

现在导入daloradius mysql表

sudo mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql 
sudo mysql -u root -p radius < contrib/db/mysql-daloradius.sql

配置Daloradius数据库连接详细信息:

cd ..
sudo mv daloradius /var/www/html/

然后更改HTTP文件夹的权限,并为Daloradius配置文件设置正确的权限。

sudo chown -R www-data:www-data /var/www/html/daloradius/
sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

我们现在应该修改文件 daloradius.conf.php调整MySQL数据库信息。
打开daloradius.conf.php并添加数据库用户名,密码和数据库名称。

sudo vim /var/www/html/daloradius/library/daloradius.conf.php

特别是配置的相关变量是:

$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'Hyman@theitroad';
$configValues['CONFIG_DB_NAME'] = 'radius';

确保一切工作,重新启动Freeradius和Apache2

sudo systemctl restart freeradius.service apache2

使用系统IP地址或者域名打开管理员链接:

http://ip-address/daloradius/login.php

像这样的页面将出现:

默认登录详细信息是:

Username: administrator
Password: radius