Как установить FreeRADIUS и Daloradius на CentOS 7 / RHEL 7

Как установить FreeRADIUS и Daloradius на CentOS 7 / RHEL 7

 

FreeRADIUS — это высокопроизводительный RADIUS-сервер с открытым исходным кодом, разработанный под лицензией GNU General Public License. FreeRADIUS — это наиболее используемый сервер RADIUS в мире. FreeRADIUS поставляется с веб-инструментом администрирования пользователей и является модульным, очень масштабируемым и богатым набором функций. Это как установить FreeRADIUS и Daloradius на CentOS 7 / RHEL 7.

RADIUS, что означает «Удаленная аутентификация Dial In User Service» , представляет собой сетевой протокол — систему, которая определяет правила и соглашения для связи между сетевыми устройствами — для удаленной аутентификации пользователя и учета. RADIUS обычно используется для предоставления услуг AAA; Авторизация. Аутентификация и учет.

FreeRADIUS является наиболее развернутым сервером RADIUS, поскольку он поддерживает все распространенные протоколы аутентификации, будучи открытым исходным кодом и упрощенным администрированием пользователей, что стало возможным благодаря веб-интерфейсу dialupadmin. Сервер также поставляется с модулями для интеграции LDAP и систем баз данных, таких как MySQL, PostgreSQL, Oracle и т. Д.

Настройка инициализации

Обновите вашу систему CentOS / RHEL

sudo yum -y update
sudo reboot

Установите SELinux в разрешающий режим, если вы хотите бесшовную установку, не касаясь инструментов управления SELinux.

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Установите FreeRADIUS и Daloradius на CentOS 7 и RHEL 7

Давайте начнем установку FreeRADIUS и Daloradius на CentOS 7 и RHEL 7.

Шаг 1: Установите сервер httpd и инструменты разработки

sudo yum -y groupinstall "Development Tools"
sudo yum -y install httpd httpd-devel

Запустите и включите httpd сервер

sudo systemctl enable --now httpd

Проверьте состояние сервера httpd, чтобы убедиться, что он работает

[[email protected] ~]# systemctl status httpd
  httpd.service - The Apache HTTP Server
 Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
 Active: active (running) since Sat 2016-08-06 22:03:15 UTC; 8s ago

Docs: man:httpd(8)

man:apachectl(8)

Main PID: 3824 (httpd)
 Status: "Processing requests..."
 CGroup: /system.slice/httpd.service

├─3824 /usr/sbin/httpd -DFOREGROUND
 ├─3825 /usr/sbin/httpd -DFOREGROUND
 ├─3826 /usr/sbin/httpd -DFOREGROUND
 ├─3827 /usr/sbin/httpd -DFOREGROUND
 ├─3828 /usr/sbin/httpd -DFOREGROUND
 └─3829 /usr/sbin/httpd -DFOREGROUND

Aug 06 22:03:15 freeradius systemd[1]: Starting The Apache HTTP Server...
Aug 06 22:03:15 freeradius httpd[3824]: AH00558: httpd: Could not reliably determine th...age
Aug 06 22:03:15 freeradius systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

Шаг 2: Установка и настройка MariaDB

Мы установим и настроим MariaDB 10, выполнив следующие шаги:

  • Добавить официальный репозиторий MariaDB в систему CentOS 7
sudo tee /etc/yum.repos.d/MariaDB.repo<<EOF 
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
  • Установите MariaDB для настройки сервера базы данных
sudo yum -y install MariaDB-server MariaDB-client

Вам будет предложено установить ключ подписи MariaDB GPG. Просто нажмите y, чтобы разрешить установку.

  • Запустите и включите MariaDB для запуска при загрузке
sudo systemctl start --now mariadb

Проверьте, работает ли и включен ли

systemctl status mariadb

Сконфигурируйте начальные настройки MariaDB для его защиты. Здесь вы установите пароль root. В целях безопасности рассмотрите возможность удаления анонимных пользователей и запрета удаленного входа в систему. Смотрите пример конфигурации, показанный ниже. Ключевые варианты отмечены красным.

[[email protected] ~]$ sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
 password for the root user. If you've just installed MariaDB, and
 you haven't set the root password yet, the password will be blank,
 so you should just press enter here.

Enter current password for root (enter for none): 
 OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
 root user without the proper authorisation.

Set root password? [Y/n] Y
 New password: 
 Re-enter new password: 
 Password updated successfully!
 Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
 to log into MariaDB without having to have a user account created for
 them. This is intended only for testing, and to make the installation
 go a bit smoother. You should remove them before moving into a
 production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'. This
 ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
 access. This is also intended only for testing, and should be removed
 before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
 will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
 installation should now be secure.

Thanks for using MariaDB!

Настройка базы данных для freeradius

$ mysql -u root -p

CREATE DATABASE radius;
GRANT ALL ON radius.* TO [email protected] IDENTIFIED BY "StrongradIusPass";
FLUSH PRIVILEGES;
\q

Шаг 3: Установите PHP и необходимые модули

Добавьте репозитории EPEL и Remi, затем установите PHP и другие расширения, необходимые для запуска Daloradius в CentOS 7.

sudo yum -y install epel-release
sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php72
sudo yum -y install php php-{cli,curl,mysqlnd,devel,gd,pear,mcrypt,mbstring,xml,pear}

Проверьте версию PHP, чтобы подтвердить

$ php -v
PHP 7.2.23 (cli) (built: Sep 25 2019 07:38:48) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Шаг 4: Установка FreeRADIUS на CentOS 7 / RHEL 7

Теперь выполните следующие команды в своем терминале, чтобы установить FreeRADIUS на CentOS 7 / RHEL 7

sudo yum -y install freeradius freeradius-utils freeradius-mysql

Вы должны запустить и разрешить запуск Freeradius при загрузке.

sudo systemctl enable --now radiusd.service

Теперь вы можете проверить статус:

$ systemctl status radiusd.service
● radiusd.service - FreeRADIUS high performance RADIUS server.
    Loaded: loaded (/usr/lib/systemd/system/radiusd.service; enabled; vendor preset: disabled)
    Active: active (running) since Thu 2019-10-10 13:03:52 UTC; 22s ago
   Process: 21754 ExecStart=/usr/sbin/radiusd -d /etc/raddb (code=exited, status=0/SUCCESS)
   Process: 21750 ExecStartPre=/usr/sbin/radiusd -C (code=exited, status=0/SUCCESS)
   Process: 21749 ExecStartPre=/bin/chown -R radiusd.radiusd /var/run/radiusd (code=exited, status=0/SUCCESS)
  Main PID: 21757 (radiusd)
    CGroup: /system.slice/radiusd.service
            └─21757 /usr/sbin/radiusd -d /etc/raddb
 Oct 10 13:03:52 cent7.novalocal systemd[1]: Starting FreeRADIUS high performance RADIUS server….
 Oct 10 13:03:52 cent7.novalocal systemd[1]: Started FreeRADIUS high performance RADIUS server..

Если у вас запущена служба Firewalld, разрешите вход и выход трафика radius и http . Сервер Radius использует порты UDP 1812 и 1813 . Это может быть подтверждено путем просмотра содержимого файла  /usr/lib/firewalld/services/radius.xml

sudo firewall-cmd --add-service={http,https,radius} --permanent

Перезагрузите firewalld, чтобы изменения вступили в силу

sudo firewall-cmd --reload

Проверьте радиус-сервер, запустив его в режиме отладки с опцией -X

$ sudo ss -tunlp | grep radiusd
udp    UNCONN     0      0         *:44132                 *:*                   users:(("radiusd",pid=21757,fd=12))
 udp    UNCONN     0      0      127.0.0.1:18120                 :                   users:(("radiusd",pid=21757,fd=11))
 udp    UNCONN     0      0         *:1812                  *:*                   users:(("radiusd",pid=21757,fd=7))
 udp    UNCONN     0      0         *:1813                  *:*                   users:(("radiusd",pid=21757,fd=8))
 udp    UNCONN     0      0      [::]:33089              [::]:*                   users:(("radiusd",pid=21757,fd=13))
 udp    UNCONN     0      0      [::]:1812               [::]:*                   users:(("radiusd",pid=21757,fd=9))
 udp    UNCONN     0      0      [::]:1813               [::]:*                   users:(("radiusd",pid=21757,fd=10))

Шаг 5: Настройте FreeRADIUS на CentOS 7 / RHEL 7

Чтобы настроить FreeRADIUS на использование MariaDB, выполните следующие действия.

1 — Импортировать схему базы данных Radius для заполнения базы данных Radius

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

2 – Настроить радиус в этой точке

Сначала вы должны создать мягкую ссылку для SQL в/etc/raddb/mods-enabled

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 to radiusd:

sudo chgrp -h radiusd /etc/raddb/mods-enabled/sql

Шаг 6: Установите и настройте Daloradius (необязательно)

Вы можете использовать Daloradius для управления сервером радиуса. Это необязательно и не должно выполняться перед установкой FreeRADIUS.

Загрузите архив релиза daloradius с Github.

sudo yum -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';

Чтобы убедиться, что все работает, перезапустите сервисы radiusd и httpd .

sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpd

Не должно быть никакой ошибки, если вывод статуса сервиса:

Финал запускаем команды:

sudo pear install DB
sudo pear install MDB2

До этого момента мы рассмотрели полную установку и настройку daloradius и freeradius, чтобы получить доступ к daloradius, откройте ссылку, используя свой IP-адрес::

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

Данные для входа по умолчанию:

Username: administrator
Password: radius

Так выглядит интерфейс daloRADIUS.

Вывод

Вы узнали, как установить FreeRADIUS, выполнить простые необходимые настройки и установить Daloradius, веб-инструмент, используемый для администрирования FreeRADIUS. Возможно, вам придется подумать о дальнейшем чтении, чтобы стать гуру в администрации FreeRADIUS.

Метки:

  • установить FreeRADIUS на CentOS 7 и RHEL 7
  • установить и настроить FreeRADIUS на CentOS 7 и RHEL 7
  • установить daloradius на CentOS 7 и RHEL 7

Tags:

  • install FreeRADIUS on CentOS 7 and RHEL 7
  • install and configure FreeRADIUS on CentOS 7 and RHEL 7
  • install daloradius on CentOS 7 and RHEL 7

Для других систем Linux.

Установите FreeRADIUS на Ubuntu

Один комментарий

Комментарии закрыты.