Предварительные действия:
Устанавливаем сервер Apache
# yum -y update
# yum groupinstall "Development Tools" -y
# yum -y install httpd httpd-devel
Разрешаем запуск сервера Apache
# systemctl enable httpd
# systemctl start httpd
Проверяем, запущен-ли сервер Apache
[root@freeradius ~]# 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.
Устанавливаем и настраиваем MySQL сервер баз данных
Мы установим и настроим MariaDB 10, используя следующие шаги:
- Добавить официальный репозиторий MariaDB в CentOS 7
# vim /etc/yum.repos.d/MariaDB.repo
Добавим следующее содержание в файл:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
- Обновим систему с использованием нового репозитория и установим MariaDB
# yum -y update
# yum install -y mariadb-server mariadb
Вам будет задан вопрос об установке GPG ключей для репозитория MariaDB. Просто нажмите y для подтверждения.
- Запускаем и разрешаем автозапуск сервера MariaDB при загрузке
# systemctl start mariadb
# systemctl enable mariadb
Проверяем статус сервера
[root@radius ~]# systemctl status mariadb
[root@radius ~]# systemctl is-enabled mariadb.service
enabled
- Запускаем скрипт настройки безопасности сервера MariaDB. Вами будет установлен пароль пользователя root. В целях повышения безопасности рекомендуется удалить всех анонимных пользователей и запретить удаленный вход на сервер. Пример рекомендуемых изменений Вы можете увидеть на примере далее.
[root@freeradius ~]# 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!
- Разрешаем только локальные подключения к серверу.
# vim /etc/my.cnf
[mysqld]
bind-address=127.0.0.1
Настраиваем базу данных для сервера freeradius
# mysql -u root -p -e " CREATE DATABASE radius"
# mysql -u root -p -e "show databases"
# mysql -u root -p
MariaDB [(none)]> GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radiuspassword";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
Bye
Устанавливаем php 7 на ОС CentOS 7
cd ~
curl 'https://setup.ius.io/' -o setup-ius.sh
sudo bash setup-ius.sh
sudo yum remove php-cli mod_php php-common
sudo yum -y install mod_php70u php70u-cli php70u-mysqlnd php70u-devel php70u-gd php70u-mcrypt php70u-mbstring php70u-xml php70u-pear
sudo apachectl restart
Проверяем версию установленного php
# php -v
PHP 7.0.9 (cli) (built: Jul 21 2016 11:48:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
Если у Вас возникнут трудности с использованием PHP версии 7, удалите эту версию и установите PHP 5
yum -y install php-pear php-devel php-mysql php-common php-gd php-mbstring php-mcrypt php php-xml
Устанавливаем сервер FreeRADIUS
# yum -y install freeradius freeradius-utils freeradius-mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.linode.com
* epel: ftp.osuosl.org
* extras: mirrors.linode.com
* ius: ius.mirror.constant.com
* updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package freeradius.x86_64 0:3.0.4-6.el7 will be installed
--> Processing Dependency: libnaaeap.so.0()(64bit) for package: freeradius-3.0.4-6.el7.x86_64
---> Package freeradius-mysql.x86_64 0:3.0.4-6.el7 will be installed
---> Package freeradius-utils.x86_64 0:3.0.4-6.el7 will be installed
--> Running transaction check
---> Package tncfhh-libs.x86_64 0:0.8.3-16.el7 will be installed
--> Processing Dependency: tncfhh = 0.8.3 for package: tncfhh-libs-0.8.3-16.el7.x86_64
--> Processing Dependency: libxerces-c-3.1.so()(64bit) for package: tncfhh-libs-0.8.3-16.el7.x86_64
--> Processing Dependency: libtncutil.so.0()(64bit) for package: tncfhh-libs-0.8.3-16.el7.x86_64
--> Processing Dependency: liblog4cxx.so.10()(64bit) for package: tncfhh-libs-0.8.3-16.el7.x86_64
--> Running transaction check
---> Package log4cxx.x86_64 0:0.10.0-16.el7 will be installed
---> Package tncfhh.x86_64 0:0.8.3-16.el7 will be installed
---> Package tncfhh-utils.x86_64 0:0.8.3-16.el7 will be installed
---> Package xerces-c.x86_64 0:3.1.1-8.el7_2 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================
Package Arch Version Repository Size
=============================================================================================
Installing:
freeradius x86_64 3.0.4-6.el7 base 985 k
freeradius-mysql x86_64 3.0.4-6.el7 base 81 k
freeradius-utils x86_64 3.0.4-6.el7 base 188 k
Installing for dependencies:
log4cxx x86_64 0.10.0-16.el7 base 452 k
tncfhh x86_64 0.8.3-16.el7 base 680 k
tncfhh-libs x86_64 0.8.3-16.el7 base 160 k
tncfhh-utils x86_64 0.8.3-16.el7 base 33 k
xerces-c x86_64 3.1.1-8.el7_2 updates 878 k
Transaction Summary
=============================================================================================
Install 3 Packages (+5 Dependent packages)
Total download size: 3.4 M
Installed size: 11 M
Is this ok [y/d/N]: y
Downloading packages:
(1/8): freeradius-mysql-3.0.4-6.el7.x86_64.rpm | 81 kB 00:00:00
(2/8): freeradius-3.0.4-6.el7.x86_64.rpm | 985 kB 00:00:00
(3/8): freeradius-utils-3.0.4-6.el7.x86_64.rpm | 188 kB 00:00:00
(4/8): log4cxx-0.10.0-16.el7.x86_64.rpm | 452 kB 00:00:00
(5/8): tncfhh-0.8.3-16.el7.x86_64.rpm | 680 kB 00:00:00
(6/8): tncfhh-libs-0.8.3-16.el7.x86_64.rpm | 160 kB 00:00:00
(7/8): tncfhh-utils-0.8.3-16.el7.x86_64.rpm | 33 kB 00:00:00
(8/8): xerces-c-3.1.1-8.el7_2.x86_64.rpm | 878 kB 00:00:00
---------------------------------------------------------------------------------------------
Total 11 MB/s | 3.4 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : log4cxx-0.10.0-16.el7.x86_64 1/8
Installing : xerces-c-3.1.1-8.el7_2.x86_64 2/8
Installing : tncfhh-utils-0.8.3-16.el7.x86_64 3/8
Installing : tncfhh-0.8.3-16.el7.x86_64 4/8
Installing : tncfhh-libs-0.8.3-16.el7.x86_64 5/8
Installing : freeradius-3.0.4-6.el7.x86_64 6/8
Installing : freeradius-mysql-3.0.4-6.el7.x86_64 7/8
Installing : freeradius-utils-3.0.4-6.el7.x86_64 8/8
Verifying : freeradius-mysql-3.0.4-6.el7.x86_64 1/8
Verifying : tncfhh-0.8.3-16.el7.x86_64 2/8
Verifying : xerces-c-3.1.1-8.el7_2.x86_64 3/8
Verifying : freeradius-utils-3.0.4-6.el7.x86_64 4/8
Verifying : tncfhh-libs-0.8.3-16.el7.x86_64 5/8
Verifying : freeradius-3.0.4-6.el7.x86_64 6/8
Verifying : log4cxx-0.10.0-16.el7.x86_64 7/8
Verifying : tncfhh-utils-0.8.3-16.el7.x86_64 8/8
Installed:
freeradius.x86_64 0:3.0.4-6.el7 freeradius-mysql.x86_64 0:3.0.4-6.el7
freeradius-utils.x86_64 0:3.0.4-6.el7
Dependency Installed:
log4cxx.x86_64 0:0.10.0-16.el7 tncfhh.x86_64 0:0.8.3-16.el7
tncfhh-libs.x86_64 0:0.8.3-16.el7 tncfhh-utils.x86_64 0:0.8.3-16.el7
xerces-c.x86_64 0:3.1.1-8.el7_2
Complete!
Теперь нам надо запустить и разрешить автозапуск сервера freeradius при загрузке системы.
# systemctl start radiusd.service
# systemctl enable radiusd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/radiusd.service to /usr/lib/systemd/system/radiusd.service.
Проверим статус службы:
# systemctl status radiusd.service
Так-же необходимо разрешить в Вашем файерволе доступ к портам, на которых запущен сервер freeradius
– по умолчанию используются порты udp 1812 и 1813.
Проверим, запущен-ли наш сервер freeradius.
И запустим его для отладки с параметром -X
# ss -tunlp | grep radiusd
Если сервер запущен, то запуск в режиме отладки не получится, сначала нам необходимо завершить все запущенные процессы freeradius, используя команду:
# pkill radius
Затем запустим его в режиме отладки:
# radiusd -X
Настройка FreeRADIUS
Для настройки FreeRADIUS на использование базы данных MariaDB, пройдите по следующим шагам.
- Импортируем файл sql со стандартным содержимым базы данных freeradius
# mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
- Перейдем к настройке freeradius
– Создадим ссылку /etc/raddb/mods-enabled
# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
Настроим модуль SQL /raddb/mods-available/sql и поменяем параметры доступа к базе данных в соответствии с нашими настройками:
# vim /etc/raddb/mods-available/sql
- секция SQL должна выглядеть следующим образом.
sql {
driver = "rlm_sql_mysql"
dialect = "mysql"
# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "radiuspassword"
# Database table configuration for everything except Oracle
radius_db = "radius"
}
# Установите параметр read_clients в ‘yes’ для получения списка клиентов и базы данных (таблица ‘nas’)
# Клиенты будут загружаться ТОЛЬКО при запуске сервера freeradius.
read_clients = yes
# Укажем название таблицы для поиска клиентов
client_table = “nas”
Поменяем группу пользователей для доступа к файлу /etc/raddb/mods-enabled/sql на radiusd:
# chgrp -h radiusd /etc/raddb/mods-enabled/sql
Устанавливаем и настраиваем Daloradius
Устанавливаем Daloradius
Веб-интерфейс Daloradius используется для управлением базой данных сервера freeradius.
Загрузка с Github:
# wget https://github.com/lirantal/daloradius/archive/master.zip
# unzip master.zip
# mv daloradius-master/ daloradius
Загрузка с Sourceforge:
# wget http://liquidtelecom.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
# tar zxvf daloradius-0.9-9.tar.gz
# mv daloradius-0.9-9 daloradius
Перейдем в папку Daloradius для дальнейшей настройки
# cd daloradius
Настраиваем daloradius
- Импортируем дамп таблиц Daloradius в базу данных
# mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
# mysql -u root -p radius < contrib/db/mysql-daloradius.sql
- Настраиваем параметры подключения к базе данных daloRADIUS:
# cd ..
# mv daloradius /var/www/html/
Даем разрешение на веб папку и устанавливаем привилегии на конфигурационный файл daloradius.
# chown -R apache:apache /var/www/html/daloradius/
# chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
Для настройки подключения к базе данных Daloradius, внесем изменения в файл daloradius.conf.php.
# vim /var/www/html/daloradius/library/daloradius.conf.php
Изменять следует переменные:
CONFIG_DB_USER
CONFIG_DB_PASS
CONFIG_DB_NAME
Для того, что бы убедить что всё работает, перезапустим службы radiusd,httpd и mysql:
# systemctl restart radiusd.service
# systemctl restart mariadb.service
# systemctl restart httpd
Если всё перезапустилось без ошибок, пробуем перейти на веб-интерфейс по адресу Вашего сервера, например:
http://192.168.1.10/daloradius/login.php
Для входа в интерфейс первый раз, необходимо использовать следующие учётные данные:
Имя пользователя: administrator
Пароль: radius
Заключение
Поздравляем! Теперь у Вас есть сервер FreeRadius работающий с базой данных MySQL и веб-интерфейсом Daloradius. Удачного администрирования!