Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 39 Next »




Замечания по установкe операционной системы

  • При разбиении диска на разделы крайне рекомендуется отвести для раздела /var не менее 10 Гигабайт. Если планируется высокая нагрузка, это значение можно увеличить.

  • Рекомендованный дистрибутив FreeBSD 11.0-RELEASE (http://freebsd.org/)

  • Про установку FreeBSD можно почитать здесь FreeBSD Handbook

Скачать образы: Официальный FTP

Скачать FreeBSD 11.0 AMD64

Скачать FreeBSD 11.0 i386

Установка операционной системы

Пошаговая настройка

Обновляем систему и софт 

pkg update && pkg upgrade -y

Загрузить пакет можно по адресу.

ABillS

Также на сайте с дистрибутивамы может уже находиться более новая версия чем в инструкции.

fetch https://sourceforge.net/projects/abills/files/abills/0.76/abills-0.76.45.tgz


При проблемах с сертификатами, можно: 
а) Обновить сертификаты и попробовать снова (рекомендуется) 

pkg install -y ca_root_nss && fetch https://sourceforge.net/projects/abills/files/abills/0.76/abills-0.76.45.tgz


б) Запустить без их проверки

fetch --no-verify-peer https://sourceforge.net/projects/abills/files/abills/0.76/abills-0.76.45.tgz


Разархивирование:

tar zxvf abills-0.76.45.tgz
cp -Rf abills /usr/

Создаем конфигурационный файл системы :

cp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl

в нем выставляем все под свои нужды

#DB configuration 
$conf{dbhost}='localhost';
$conf{dbname}='abills'; 
$conf{dblogin}='abills';
$conf{dbpasswd}='sqlpassword'; 
$conf{ADMIN_MAIL}='info@your.domain'; 

При изменении значения в $conf{secretkey} поменяйте его также в файле abills.sql 


Вносим в cron периодические процессы /etc/crontab. Данные программы занимаются контролем состояния сессий (billd), месячной и дневной абонплатой, тарифных планов по расписанию (periodic) 

*/5   *      *    *     *   root    /usr/abills/libexec/billd -all
1     0      *    *     *   root    /usr/abills/libexec/periodic daily
1     1      *    *     *   root    /usr/abills/libexec/periodic monthly

Установить права на чтение и запись веб-сервером для файлов веб-интерфейса

mkdir /usr/abills/backup
chown -Rf www /usr/abills/cgi-bin /usr/abills/Abills/templates /usr/abills/backup
mkdir -p /usr/abills/var/log
touch /usr/abills/var/log/sql_errors
chmod 666 /usr/abills/var/log/sql_errors
chown nobody /usr/abills/var/log/sql_errors

MySQL

Устанавливаем пакет:

pkg install -y mysql56-server mysql56-client

Автостарт после перезагрузки. /etc/rc.conf

echo mysql_enable=\"YES\" >> /etc/rc.conf

Запускаем MySQL

/usr/local/etc/rc.d/mysql-server start

Очищаем пароль для комфортной установки (только для 5.7)

mysqladmin -u root --password=`tail -1 /root/.mysql_secret` -h localhost password ""

mysql –connect-expired-password -u root -p`tail -1 /root/.mysql_secret` -e 'ALTER USER `root`@`localhost` IDENTIFIED BY "" ' 

Создаём пользователя и базу. 

mysql --default-character-set=utf8 -u root

В консоли mysql делаем (Если меняли пароль в /usr/abills/libexec/config.pl, меняем и в запросе): 

GRANT ALL ON abills.* TO `abills`@localhost IDENTIFIED BY "sqlpassword";  
  CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE  utf8_general_ci;
  quit;

Загружаем таблицы в базу.

mysql --default-character-set=utf8 -D abills < /usr/abills/db/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 -D abills < /usr/abills/db/abills.sql

Perl modules

Для работы системы нужны Perl модули.

cd /usr/abills/misc/
perl perldeps.pl pkg

Создаём симлинк для исполнительного файла perl

ln -s /usr/local/bin/perl /usr/bin/perl

Web Server (Apache)

Устанавливаем Apache

pkg install -y apache24

Копируем конфиг apache

cp /usr/abills/misc/apache/abills_httpd.conf /usr/local/etc/apache24/Includes/

Раскомментируем модули /usr/local/etc/apache24/httpd.conf

LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule cgi_module libexec/apache24/mod_cgi.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
LoadModule include_module libexec/apache24/mod_include.so

По умолчанию работаем на HTTPS, поэтому нужны сертификаты.

/usr/abills/misc/certs_create.sh apache 

Для автоматического запуска apache внести изменения в rc.conf

echo apache24_enable=\"YES\" >> /etc/rc.conf   

Создаем каталог для логов веб-сервера Abills

mkdir /var/log/httpd/Запускаем apache
/usr/local/etc/rc.d/apache24 start

Freeradius

cd /usr/ports/net/freeradius3 && make && make install clean

Ручная конфигурация

копируем конфигурацию

cd /usr/abills/
rm /usr/local/etc/raddb/sites-enabled/*
cp misc/freeradius/v3/mods-enabled/perl /usr/local/etc/raddb/mods-enabled/perl
cp misc/freeradius/v3/mods-enabled/sql /usr/local/etc/raddb/mods-enabled/sql
cp misc/freeradius/v3/sites-enabled/abills_default /usr/local/etc/raddb/sites-enabled/abills_default
cp misc/freeradius/v3/users /usr/local/etc/raddb/users

В файле /usr/local/etc/raddb/mods-enabled/sql пропишите данные доступа к базе

sql {
        database = "mysql"
        driver = "rlm_sql_${database}"
        server = "localhost"
        #port = 3306
        login = "abills"
        password = "sqlpassword"
        radius_db = "abills"
        
В самом конце файла
        '%secretkey%' меняем на 'test12345678901234567890'

Автоконфигурация

cd /usr/abills/misc/
./autoconf PROGRAMS=freeradius FREERADIUS=3

нажимаем всюду yes

Запуск

Для автоматического запуска радиуса внести изменения в /etc/rc.conf

echo radiusd_enable=\"YES\" >> /etc/rc.conf

запускаем радиус :

/usr/local/etc/rc.d/radiusd start

Удаление

cd /usr/ports/net/freeradius3 && make deinstall clean
 rm -r /usr/local/etc/raddb

При переустановке очистите конфиг

make clean config

Сборка ядра

Ядро нужно собирать, если планируете шейпить трафик (использовать как сервер доступа) на текущем сервере 
Сборка ядра для управления трафиком :

Перезагружаем сервер и приступаем к установке необходимого софта.

Настройка веб-интерфейса Abills

Открываем веб интерфейс https://your.host:9443/admin/
Логин администратора по умолчанию abills пароль abills
Прежде всего надо сконфигурировать сервера доступа NAS (Network Access Server). 

Переходим в меню Configuration→NAS

Параметры

IP

IP адрес NAS сервера

NameНазвание
Radius NAS-IdentifierИдентификатор сервера (можно не вписывать)
DescribeОписание сервера
TypeТип сервера. В зависимости от типа по разному обрабатываются запросы на авторизацию
AuthorizationТип авторизации. SYSTEM - при хранении паролей в UNIX базе (/etc/passwd)
SQL - при хранении паролей SQL базе (MySQL, PosgreSQL)
AliveПериод отправки Alive пакетов
DisableОтключить
:Manage: Секция менеджмента NAS сервера
IP:PORTIP адрес и порт для контроля соединения. Например, для отключения пользователя из веб-интерфейса
UserПользователь для контроля
PasswordПароль
RADIUS ParametersДополнительные параметры которые передаются NAS серверу после успешной авторизации

После заведения сервера доступа добавьте ему пул адресов IP POOLs.

FIRST IPПервый адрес в пуле
COUNTКоличество адресов

К примеру 10.1.0.1 количество 60 000 (хватит на всех :)
Одному серверу доступа может принадлежать несколько пулов адресов. 

Создание тарифного плана меню: System configuration → Internet → Tarif Plans 


Регистрация пользователя: Customers → Users → Add

Заведение сервиса Internet на пользователя: Customers → Users → Information → Services → Internet 

Проверяем RADIUS

cd /usr/abills/libexec/
./radtest.sh auth -rad

если всё прошло нормально в вы увидите что-то типа:

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=192, length=44
      Acct-Interim-Interval = 300
      Session-Timeout = 1607940
      Framed-IP-Address = 10.0.0.216
      Framed-IP-Netmask = 255.255.255.255

и в журнале ошибок /Отчёт/Internet/Ошибка/ должна появиться строка 

2013-02-23 12:55:55 LOG_INFO: AUTH [test] NAS: 1 (xxx.xxx.xxx.xxx) GT: 0.03799

Если нет информации попробуйте запустить в соседней консоли RADIUS в режиме отладки

radiusd -X

Настройка серверов доступа

Настройка шейпера и маскарада


В системе реализированно несколько вариантов выбирать предпочтительный

Установка ABillS автоинсталятором



  • No labels