本文为你详细讲解在CentOS 8/RHEL 8中安装FreeRADIUS与Daloradius的方法。RADIUS代表远程身份验证拨入用户服务,是一种用于远程用户身份验证和记帐的网络协议,提供AAA服务,即授权、认证和计费。FreeRADIUS是一款开源、高性能、可扩展、模块化和功能丰富的RADIUS服务器。FreeRADIUS支持请求代理,故障转移和负载平衡,以及对各种数据库后端的访问。daloRADIUS是用PHP和JavaScript编写的高级RADIUS Web管理平台,它主要用于管理由FreeRADIUS服务器支持的热点和通用ISP部署。
一、更新服务器和安装Apache Web Server和PHP 在安装之前先运行sudo dnf -y update命令更新系统,然后安装Apache Web Server和PHP。 我们将使用Apache httpd服务器在CentOS 8/RHEL 8系统中托管daloRADIUS,使用以下命令安装httpd和PHP软件包: sudo dnf -y install @httpd @php sudo dnf -y install php-{cli,curl,mysqlnd,devel,gd,pear,mbstring,xml,pear} sudo pear install MDB2 参考:在CentOS 8系统中安装Apache服务器的方法。 检查安装的PHP版本,以确认安装成功: $ php -v PHP 7.2.11 (cli) 启动并启用php-fpm和httpd服务: sudo systemctl enable --now httpd php-fpm 让我们检查两项服务的状态,运行以下命令查看: systemctl status httpd php-fpm 在防火墙上允许http和https端口: sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload 参考:在CentOS 8系统上配置和管理防火墙(Firewall)的方法。
二、安装和配置MariaDB数据库参考文章 参考:在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法。 安装后,以root用户身份访问mysql控制台,并为FreeRADIUS/daloRADIUS创建数据库/用户: $ mysql -u root -p CREATE DATABASE radius; GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "StrongradIusPass"; FLUSH PRIVILEGES; \q
三、在CentOS 8/RHEL 8中安装FreeRADIUS和配置FreeRADIUS FreeRADIUS软件包在模块化存储库中可用: $ sudo dnf module list freeradius 要安装,只需运行命令: sudo dnf install -y @freeradius freeradius-utils freeradius-mysql 安装后启动服务: sudo systemctl enable --now radiusd.service 可运行systemctl status radiusd.service命令检查状态。 如果你正在运行防火墙服务,请允许radius和HTTP流量进出,Radius服务器使用udp端口1812和1813: sudo firewall-cmd --add-service=radius --permanent sudo firewall-cmd --reload 下面将在CentOS 8/RHEL 8中配置FreeRADIUS。 要将FreeRADIUS配置为使用MariaDB,请执行以下步骤。 1、导入Radius数据库方案以填充radius数据库: sudo su - mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql 2、配置Radius 首先,必须在/etc/raddb/mods-enabled下为SQL创建一个软链接: sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/ 配置SQL模块/raddb/mods-available/sql并更改数据库连接参数以适合你的环境: sudo vi /etc/raddb/mods-available/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/raddb/mods-enabled/sql的组权限更改为radiusd: sudo chgrp -h radiusd /etc/raddb/mods-enabled/sql 重新启动radiusd service: sudo systemctl restart radiusd
四、在CentOS 8中安装和配置Daloradius(可选) 可以使用Daloradius从Web界面管理Radius服务器,这是一个可选配置,可以根据用例进行选择。 从Github下载daloradius发布文件: sudo dnf -y install wget 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 apache:apache /var/www/html/daloradius/ sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php 现在,你应该修改daloradius.conf.php文件以调整MySQL数据库信息: sudo vi /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'; 为确保一切正常,请重新启动radius和httpd服务: sudo systemctl restart radiusd.service httpd systemctl status radiusd.service httpd 配置SELinux,重新标记目录以允许apache用户访问: sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/daloradius(/.*)?" sudo restorecon -Rv /var/www/html/daloradius
五、访问daloRADIUS Web界面 可在http://server_ip_or_hostname/daloradius(请根据自己的数据进行更改)上访问daloRADIUS管理Web界面:
默认登录详细信息是: 用户名:administrator 密码:radius 这就是daloRADIUS接口的外观:
至此,安装和配置完成,可以随时随地在CentOS 8/RHEL 8系统中使用FreeRADIUS和daloRADIUS了。
相关主题 |