Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:manual:install_centos:ru [2017/07/07 09:47] anton [Дополнительная конфигурация системы] |
abills:docs:manual:install_centos:ru [2019/02/14 13:42] (текущий) asmodeus |
||
---|---|---|---|
Строка 13: | Строка 13: | ||
Обновляем систему и ставим дополнительные пакеты: | Обновляем систему и ставим дополнительные пакеты: | ||
# yum update -y | # yum update -y | ||
- | # yum install -y wget gcc make nano perl | + | # yum install -y wget gcc make nano perl ntp ntpdate |
| | ||
В файле конфига изменяем ''SELINUX=enforcing'' на ''SELINUX=disabled'' (Если не знаете что делать потом с SELINUX) | В файле конфига изменяем ''SELINUX=enforcing'' на ''SELINUX=disabled'' (Если не знаете что делать потом с SELINUX) | ||
Строка 44: | Строка 44: | ||
При изменении значения в $conf{secretkey} поменяйте его также в файле **/usr/abills/db/abills.sql** | При изменении значения в $conf{secretkey} поменяйте его также в файле **/usr/abills/db/abills.sql** | ||
| | ||
- | ==== Установка MySQL: ==== | + | ==== Установка MySQL ==== |
- | === *CentOS 7.xx (MariaDB) === | + | |
Подключаем репозиторий | Подключаем репозиторий | ||
# yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm | # yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm | ||
Строка 78: | Строка 77: | ||
# systemctl is-enabled mysql || systemctl enable mysql | # systemctl is-enabled mysql || systemctl enable mysql | ||
- | ==== Установка модулей Perl: ==== | + | === Настройка === |
+ | **Заливаем БД ABillS** (пароль тот же что и в **config.pl** и **sql.conf** ) | ||
+ | # mysql --default-character-set=utf8 -u root | ||
+ | |||
+ | use mysql; | ||
+ | SET GLOBAL validate_password_policy=0; | ||
+ | GRANT ALL ON abills.* TO `abills`@localhost IDENTIFIED BY "sqlpassword"; | ||
+ | CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; | ||
+ | flush privileges; | ||
+ | quit; | ||
+ | |||
+ | Добавляем базу данных abills: | ||
+ | # cd /usr/abills/db/ | ||
+ | # mysql --default-character-set=utf8 -D abills < abills.sql | ||
+ | |||
+ | **Если возникает Invalid default value for 'registration'**\\ | ||
+ | Выполняем | ||
+ | # sed -i -e "1 s/^/SET SQL_MODE='NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO';/;" /usr/abills/db/abills.sql | ||
+ | # mysql --default-character-set=utf8 -u root -p -D abills < /usr/abills/db/abills.sql | ||
+ | ==== Установка модулей Perl ==== | ||
Запускаем скрипт установки зависимостей Perl | Запускаем скрипт установки зависимостей Perl | ||
# cd /usr/abills/misc/ && perl perldeps.pl rpm -batch | # cd /usr/abills/misc/ && perl perldeps.pl rpm -batch | ||
Строка 93: | Строка 111: | ||
==== Установка и настройка Apache ==== | ==== Установка и настройка Apache ==== | ||
Устанавливаем | Устанавливаем | ||
- | # yum -y install httpd httpd-devel httpd-tools | + | # yum -y install httpd httpd-devel httpd-tools mod_ssl |
| | ||
Создаём сертификат (можно использовать значения по умолчанию) | Создаём сертификат (можно использовать значения по умолчанию) | ||
Строка 113: | Строка 131: | ||
==== Установка и настройка Freeradius ==== | ==== Установка и настройка Freeradius ==== | ||
Устанавливаем пакеты, необходимые для сборки | Устанавливаем пакеты, необходимые для сборки | ||
- | # yum -y install gdbm gdbm-devel install perl-ExtUtils-Embed gcc | + | # yum -y install gdbm gdbm-devel install perl-ExtUtils-Embed gcc libtalloc-devel |
| | ||
Ищем куда установились библиотеки perl | Ищем куда установились библиотеки perl | ||
Строка 120: | Строка 138: | ||
Устанавливаем сам Freeradius | Устанавливаем сам Freeradius | ||
- | # wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.9.tar.gz | + | # cd /tmp |
- | # tar zxvf freeradius-server-2.2.9.tar.gz | + | # wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.17.tar.gz |
- | # cd freeradius-server-2.2.9 | + | # tar zxvf freeradius-server-3.0.17.tar.gz |
+ | # cd freeradius-server-3.0.17 | ||
Здесь используем ранее найденную папку с библиотекой (**/usr/lib64/perl5/CORE/**) | Здесь используем ранее найденную папку с библиотекой (**/usr/lib64/perl5/CORE/**) | ||
Строка 130: | Строка 149: | ||
Копируем конфигурационные скрипты (выполнять построчно): | Копируем конфигурационные скрипты (выполнять построчно): | ||
<code> | <code> | ||
- | # cp /usr/abills/misc/freeradius/v2/radiusd.conf /usr/local/freeradius/etc/raddb/radiusd.conf | + | |
# rm -f /usr/local/freeradius/etc/raddb/sites-enabled/* | # rm -f /usr/local/freeradius/etc/raddb/sites-enabled/* | ||
- | # cp /usr/abills/misc/freeradius/v2/default_rlm_perl /usr/local/freeradius/etc/raddb/sites-enabled/abills_default | + | # cp /usr/abills/misc/freeradius/v3/default_rlm_perl /usr/local/freeradius/etc/raddb/sites-enabled/abills_default |
- | # cp /usr/abills/misc/freeradius/v2/users_perl /usr/local/freeradius/etc/raddb/users | + | # cp /usr/abills/misc/freeradius/v3/users_perl /usr/local/freeradius/etc/raddb/users |
- | # cp /usr/abills/misc/freeradius/v2/perl /usr/local/freeradius/etc/raddb/modules/ | + | # cp /usr/abills/misc/freeradius/v3/perl /usr/local/freeradius/etc/raddb/modules/ |
| | ||
ln -s /usr/local/freeradius/sbin/radiusd /usr/sbin/radiusd | ln -s /usr/local/freeradius/sbin/radiusd /usr/sbin/radiusd | ||
Строка 147: | Строка 166: | ||
group = freerad | group = freerad | ||
- | В файле ''/usr/local/freeradius/etc/raddb/clients.conf'' удалить всё и вписать: | + | Благодаря модулю ''sql'', можно хранить сервера доступа в базе данных (всё равно необходим перезапуск радиуса после добавления/изменения серверов, но не надо править **clients.conf**). \\ |
- | + | Очищаем список серверов доступа из **/usr/local/freeradius/etc/raddb/clients.conf** (чтоб не было дупликатов из-за записей в базе) | |
- | client 127.0.0.1 { | + | # echo '' > /usr/local/freeradius/etc/raddb/clients.conf |
- | secret = secretpass | + | # cp /usr/abills/misc/freeradius/v2/sql.conf /usr/local/freeradius/etc/raddb/ |
- | shortname = shorrname | + | |
- | } | + | |
- | + | ||
- | Создание user и group если freeradius ранее не был установлен то без этого не стартует: | + | |
+ | Заполняем нужные нам параметры соединения с БД | ||
+ | # nano /usr/local/freeradius/etc/raddb/sql.conf | ||
+ | <code> | ||
+ | sql { | ||
+ | database = "mysql" | ||
+ | driver = "rlm_sql_${database}" | ||
+ | server = "localhost" | ||
+ | #port = 3306 | ||
+ | login = "abills" | ||
+ | password = "sqlpassword" | ||
+ | radius_db = "abills" | ||
+ | | ||
+ | # В самом конце файла | ||
+ | '%secretkey%' меняем на 'test12345678901234567890' | ||
+ | </code> | ||
+ | |||
+ | Создаём user и group. (если freeradius ранее не был установлен то без этого не стартует) | ||
# groupadd freerad | # groupadd freerad | ||
# useradd -g freerad -s /bash/bash freerad | # useradd -g freerad -s /bash/bash freerad | ||
# chown -R freerad:freerad /usr/local/freeradius/etc/raddb | # chown -R freerad:freerad /usr/local/freeradius/etc/raddb | ||
- | # mkdir /var/run/radiusd/ | ||
- | # chown freerad:freerad /var/run/radiusd/ | ||
- | |||
- | Запускаем Radius в режиме отладки: | ||
- | # /usr/local/freeradius/sbin/radiusd -X | ||
- | | ||
- | Если нет ошибок, включаем radiusd в автозагрузку:\\ | ||
- | Делаем ссылку на скрипт запуска в каталог /etc/init.d\\ | ||
- | # ln -s /usr/local/freeradius/sbin/rc.radiusd /etc/init.d/radiusd | ||
- | Вставляем в конец первого комментария ''/etc/init.d/radiusd'' (описание программы, под"# Copyright...", **вставляем комментарием**):\\ | + | Запуск radius в режиме отладки |
- | # nano /etc/init.d/radiusd | + | |
<code> | <code> | ||
- | # chkconfig: - 58 74 | + | # /usr/sbin/radiusd -X |
- | # description: radiusd is service access provider Daemon. | + | </code> |
+ | или | ||
+ | <code> | ||
+ | # radiusd -X | ||
</code> | </code> | ||
- | Даем права на запись в каталог run: | + | Если нет ошибок, включаем radiusd в автозагрузку:\\ |
- | # chown freerad:freerad /usr/local/freeradius/var/run/radiusd/ | + | Скачиваем systemd скрипт |
+ | # wget http://abills.net.ua/misc/centos7.radiusd | ||
+ | # mv centos7.radiusd /etc/systemd/system/radiusd.service | ||
+ | # systemctl daemon-reload | ||
+ | # systemctl enable radiusd | ||
Проверяем: | Проверяем: | ||
# service radiusd start | # service radiusd start | ||
# ps ax | grep rad | # ps ax | grep rad | ||
- | В списке запущенных процесов ищем наш /usr/local/freeradius/bin/radiusd\\ | + | В списке запущенных процесов ищем наш **/usr/local/freeradius/bin/radiusd**\\ |
| | ||
- | Включаем в автозапуск:\\ | + | Добавляем сервис в файрвол |
- | # chkconfig radiusd on | + | |
- | + | ||
- | **Важно** | + | |
- | В CentOS 7.2 Для корректной работы, необходимо добавить сервис в файрвол | + | |
# firewall-cmd --permanent --zone=public --add-service=radius | # firewall-cmd --permanent --zone=public --add-service=radius | ||
| | ||
| | ||
- | ==== Настройка базы данных ==== | ||
- | # mysql --default-character-set=utf8 -u root -p | ||
- | |||
- | use mysql; | ||
- | GRANT ALL ON abills.* TO `abills`@localhost IDENTIFIED BY "sqlpassword"; | ||
- | CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; | ||
- | flush privileges; | ||
- | quit; | ||
- | | ||
- | Добавляем базу данных abills: | ||
- | # cd /usr/abills/db/ | ||
- | |||
- | # mysql --default-character-set=utf8 -D abills < abills.sql -p | ||
- | | ||
- | | ||
====Периодические процесы==== | ====Периодические процесы==== | ||
- | Вносим в cron периодические процессы **/etc/crontab**. Данные программы занимаются контролем состояния сессий (billd), месячной и дневной абонплатой, тарифных планов по расписанию (periodic) \\ | + | Вносим в cron периодические процессы ( в конец файла **/etc/crontab** ). Данные программы занимаются контролем состояния сессий (billd), месячной и дневной абонплатой, тарифных планов по расписанию (periodic) \\ |
<code> | <code> | ||
- | */5 * * * * root /usr/abills/libexec/billd -all | + | */5 * * * * root /usr/abills/libexec/billd -all |
- | 1 0 * * * root /usr/abills/libexec/periodic daily | + | 1 0 * * * root /usr/abills/libexec/periodic daily |
- | 1 1 * * * root /usr/abills/libexec/periodic monthly | + | 1 1 * * * root /usr/abills/libexec/periodic monthly |
</code> | </code> | ||
Если нет файла, устанавливаем: | Если нет файла, устанавливаем: | ||
# yum -y install crontab | # yum -y install crontab | ||
- | ==== Установка и настройка accel-ppp: ==== | + | |
- | [[abills:docs:nas:linux:accel_pptp:ru?&#centos| Установка и настройка accel-ppoe]] | + | |
==== Тестирование ==== | ==== Тестирование ==== | ||
Тестирование Freeradius: | Тестирование Freeradius: | ||
Строка 227: | Строка 236: | ||
# ./radtest test 123456 127.0.0.1:1812 0 secretpass 0 127.0.0.1 | # ./radtest test 123456 127.0.0.1:1812 0 secretpass 0 127.0.0.1 | ||
| | ||
+ | При правильной конфигурации БД и Freeradius, получим | ||
+ | <code> | ||
+ | Sending Access-Request of id 200 to 127.0.0.1 port 1812 | ||
+ | User-Name = "test" | ||
+ | User-Password = "123456" | ||
+ | NAS-IP-Address = 127.0.0.1 | ||
+ | NAS-Port = 0 | ||
+ | Message-Authenticator = 0x00000000000000000000000000000000 | ||
+ | rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=200, length=44 | ||
+ | Acct-Interim-Interval = 300 | ||
+ | Session-Timeout = 2122244 | ||
+ | Framed-IP-Address = 10.0.0.182 | ||
+ | Framed-IP-Netmask = 255.255.255.255 | ||
+ | |||
+ | </code> | ||
+ | ==== Вход в веб интерфейс ==== | ||
+ | Смотрим IP адрес | ||
+ | # ip a | ||
+ | У меня вывело: | ||
+ | <code> | ||
+ | [root@centos bin]# ip a | ||
+ | 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 | ||
+ | link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 | ||
+ | inet 127.0.0.1/8 scope host lo | ||
+ | valid_lft forever preferred_lft forever | ||
+ | inet6 ::1/128 scope host | ||
+ | valid_lft forever preferred_lft forever | ||
+ | 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 | ||
+ | link/ether 08:00:27:7e:c5:ab brd ff:ff:ff:ff:ff:ff | ||
+ | inet 192.168.1.121/24 brd 192.168.1.255 scope global dynamic enp0s3 | ||
+ | valid_lft 38566sec preferred_lft 38566sec | ||
+ | inet6 fe80::a00:27ff:fe7e:c5ab/64 scope link | ||
+ | valid_lft forever preferred_lft forever | ||
+ | </code> | ||
+ | Мой локальный адрес: | ||
+ | 192.168.1.121 | ||
+ | |||
+ | Открываем браузер | ||
+ | https://192.168.1.121:9443/admin/ | ||
+ | | ||
+ | Логин ''abills'', пароль ''abills''\\ | ||
+ | |||
==== Настройка серверов доступа ==== | ==== Настройка серверов доступа ==== | ||
В интерфейсе администратора надо сконфигурировать сервера доступа NAS (Network Access Server). | В интерфейсе администратора надо сконфигурировать сервера доступа NAS (Network Access Server). | ||
- | Выбираем свой в меню справа. | + | Выбираем свой в меню справа (Вверху этой страницы блок ''Сервера доступа''). |
+ | |||
+ | ==== Установка и настройка accel-ppp: ==== | ||
+ | [[abills:docs:nas:linux:accel_pptp:ru?&#centos| Установка и настройка accel-ppoe]] |