在Debian 10(Buster)上安装Freeradius和Daloradius

时间:2020-02-23 14:32:58  来源:igfitidea点击:

本教程将讨论如何在Debian 10(Buster)Linux上安装Freeradius和Daloradius。
RADIUS是用于远程用户身份验证,授权和计费的网络协议。
FreeRadius是一个常用于Linux,UNIX和嵌入式系统的开源RADIUS服务器。

Daloradius是一种基于Web的RADIUS管理工具,编写在PHP中。
它创建以简化RADIUS服务器和热点设备的管理和管理(NAS)。
它配备了强大的图形报告和会计,计费和高级用户管理功能。

我们的下一步将在Debian 10 Linux上安装和配置Freeradius和Daloradius。

第1步:更新服务器

通过运行命令更新包索引:

sudo dnf -y update

第2步:安装和配置数据库服务器

我们将使用MariaDB,但可以使用任何其他支持的数据库服务器。
使用我们的教程将Mariadb安装在Debian 10上:

如何在Debian 10上安装MariaDB

安装后,为Freeradius/Daloradius创建数据库和用户。

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

确认RADIUS数据库用户可以访问授予的数据库。

$mysql -u radius -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 48
Server version: 10.3.17-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| radius             |
+--------------------+
2 rows in set (0.001 sec)
MariaDB [(none)]> QUIT
Bye

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

我们将使用Apache Httpd Server在Debian 10 Linux系统上托管Daloradius。
使用以下命令安装Httpd和PHP软件包。

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

检查安装的PHP版本以确认安装成功。

$php -v
PHP 7.3.9-1~deb10u1 (cli) (built: Sep 18 2019 10:33:23) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.3.9, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.3.9-1~deb10u1, Copyright (c) 1999-2016, by Zend Technologies

让我们通过检查两个服务的状态来验证一开始。

systemctl status apache2

允许防火墙上的HTTP和HTTPS端口已启用UFW。

sudo ufw allow http
sudo ufw allow https

第4步:在Debian 10 Linux上安装Freeradius

FreeRadius套餐可在默认的Debian存储库上使用。
此安装没有特殊的准备工作。

要安装,只需运行命令。

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

安装后启动服务。

sudo systemctl enable --now freeradius.service

现在我们可以查看状态:

$systemctl status freeradius
● freeradius.service - FreeRADIUS multi-protocol policy server
    Loaded: loaded (/lib/systemd/system/freeradius.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2019-10-10 21:10:22 UTC; 26min ago
      Docs: man:radiusd(8)
            man:radiusd.conf(5)
            http://wiki.freeradius.org/
            http://networkradius.com/doc/
  Main PID: 15918 (freeradius)
     Tasks: 6 (limit: 4719)
    Memory: 10.6M
    CGroup: /system.slice/freeradius.service
            └─15918 /usr/sbin/freeradius
.......

第5步:在Debian 10上配置FreeRadius

配置Freeradius使用MariaDB,请按照以下步骤操作。

1 - 将RADIUS数据库方案导入填充RADIUS数据库

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

2 - 配置半径

首先,我们必须为SQL模块创建一个软链接。

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 = "StrongradIusPass"
# 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

重新启动Radiusd服务

sudo systemctl restart freeradius

第6步:安装和配置Daloradius

我们可以使用Daloradius从Web界面管理RADIUS服务器。
这是一个可选配置,我们可以根据用例选择。

从github下载daloradius发布存档。

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 MySQL表

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

将Daloradius文件夹移动到路径/var/www/html

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数据库信息。

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'] = 'StrongradIusPass';
$configValues['CONFIG_DB_NAME'] = 'radius';

确保一切工作,重新启动RADIUSD和HTTPD服务。

sudo systemctl restart freeradius.service apache2

第7步:访问Daloradius Web界面

Daloradius管理Web界面可在http://server_ip_or_hostname/daloradius上访问。

默认登录详细信息是:

Username: administrator
Password: radius