Внимание!!! Сайт переезжает на babinov.com

Главная | Регистрация | Вход
Пятница, 17.05.2024, 09:37
Приветствую Вас Гость | RSS
Наш опрос
Оцените мой сайт
Всего ответов: 29
Меню сайта
Категории раздела
Linux [16]
Статьи для Linux
Windows [1]
Статьи для Windows
Мои заслуги
Статистика
Форма входа
Главная » Статьи » Linux

TraffPro часть 1 - установка

I. Установка TraffPro.

Если вы планируете использовать связку Squid + Traffpro, то уберите из автозагрузки Squid, иначе будут конфликты. При старте Traffpro сам запустит Squid.
               chkconfig --levels 345 squid off

Перед началом установки, выключите selinux.
Для этого, приведите конфигурационный файл /etc/selinux/config вот к такому виду:
               # This file controls the state of SELinux on the system.
               # SELINUX= can take one of these three values:
               # enforcing - SELinux security policy is enforced.
               # permissive - SELinux prints warnings instead of enforcing.
               # disabled - No SELinux policy is loaded.
               SELINUX=disabled
               # SELINUXTYPE= can take one of these two values:
               # targeted - Targeted processes are protected,
               # mls - Multi Level Security protection.
               SELINUXTYPE=targeted
               # SETLOCALDEFS= Check local definition changes
               SETLOCALDEFS=0

Рекомендуется перезагрузить сервер.

Добавляем репозитории

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=0
enabled=1

[CentALT]
name=CentALT Packages for Enterprise Linux 5 - $basearch
baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
enabled=1
gpgcheck=0

Установка необходимых пакетов:
               yum install make dialog httpd mysql mysql-devel mysql-server libdbi-dbd-mysql mysql-libs
               yum install iptables iptables-devel gcc gcc-c++ libstdc++-devel
               yum install php php-mysql php-mbstring php-ldap php-gd php-pecl-fileinfo
               yum install libnetfilter_queue-devel libnetfilter_queue libnfnetlink-devel

запуск необходимых служб:
               service mysqld start
               service httpd start

Установка пароля root для доступа к MySQL:
               /usr/bin/mysqladmin -u root password 'новый пароль'
Смену пароля пользователя root рекомендуется делать после установки ТраффПро,
               service mysqld restart

Распаковка архива установочного пакета системы Traffpro:
               tar -zxvf traffpro.X.X.X-XX.tar.gz -C /tmp

Переход во временную директорию и запуск установки:
               cd /tmp/traffpro.X.X.X-XX
               ./install.sh

Дальше все интуитивно понятно, процесс установки производится в стиле вопрос-ответ.
Первый вопрос, который будет это:
   Старт установки системы TRAFFPRO
Внимание!!! Не запускайте скрипт установки из путей с РУССКИМИ буквами!!!
   Укажите Ваш дистрибутив Linux
      0 - Red Hat и ему подобные Fedora, CentOS и так далее
      1 - Debian, Ubuntu
      2 - SUSE
Вам нужно выбрать какой у вас дистрибутив.

Далее будет произведена проверка установленных и недостающих пакетов, если чего-то из списка не хватает, будет предложено доустановить!!!

************************** Check Install Packeges *************************************


mysql-5.0.91-1.el5
mysql-server-5.0.91-1.el5
mysql-devel-5.0.91-1.el5
mysql-libs-5.0.91-1.el5 
iptables-1.3.5-5.3.2.el5
iptables-devel-1.3.5-5.3.2.el5
openssl-0.9.8e-12.el5_4.6    
openssl-0.9.8e-12.el5_4.6    
cpp-4.1.2-48.el5             
make-3.81-3.el5              
gcc-4.1.2-48.el5             
httpd-2.2.16-2.el5           
php-5.2.14-1.el5             
php-mysql-5.2.14-1.el5       
gcc-c++-4.1.2-48.el5         
libstdc++-devel-4.1.2-48.el5 
libstdc++-devel-4.1.2-48.el5 
dialog-1.0.20051107-1.2.2    
gd-2.0.33-9.4.el5_4.2        
gd-2.0.33-9.4.el5_4.2
php-gd-5.2.14-1.el5
libnetfilter_queue-devel
libnetfilter_queue
libnfnetlink-devel

*** Install required packages if not installed y/n ****
Если нужно отвечаем "y"
Так как у меня всё в порядке, я отвечу "n"

Следующий вопрос:
   Собирать демона контроля (y) или использовать уже собранный (n)
В случае сборки необходимы пакеты mysql-devel и iptables-devel
Я рекомендую собирать, но для этого нужно установить большее количество программ.
Наберитесь терпения и до установите не достающие.
Если видим эту строку:
              Finished building target: billing
то сборка прошла успешно.

На следующий вопрос, отвечаем да
   Продолжить установку? y/n

Следующий вопрос:
   Собрать демон маршрутизации (y) или использовать уже собранный (n)?
отвечаем "y"

На следующий вопрос, отвечаем да
   Продолжить установку? y/n

Следующий вопрос:
   Собрать демон Планировщик заданий (y) или использовать уже собранный (n)?
Если ставим первый раз отвечаем "y"
В случае сборки необходимы пакеты mysql-devel

На следующий вопрос, отвечаем да

   Продолжить установку? y/n


Следующий пункт:
   Сохранить предыдущие настройки TraffPro? [y/n] (/var/traffpro_back)
так как установка делается первый раз то отвечаем "n"  

Следующий вопрос:
   Обновляем систему (y) или устанавливаем (n)?
Внимание при перестановке база не удаляется а просто обновляется!!
Если обновляем, то нажимаем y, если первый раз ставим то n.

В нашем случае ответ будет "n"

Еще один вопрос:
   Настроить систему сейчас (y) или оставить настройки по-умолчанию (n)?
Я нажал, да.
Это позволит сразу задать нужные параметры для
конфигурационного файла /etc/traffpro/traffpro.cfg

 На вопрос ввести путь установки, рекомендую оставить по умолчанию
   Укажите путь установки TraffPro (по-умолчанию - /opt/traffpro):
Нажмите просто Enter

Следующий вопрос:
   Запускать TraffPro в режиме демона? [y/n]:
отвечаем "y"

Следующий вопрос:
   Укажите расположение базы данных (по-умолчанию - localhost):
Нажмите просто Enter

На вопрос, введите имя пользователя введите нужное имя.
   Введите имя пользователя базы данных MySQL (по-умолчанию - root):
Учтите что данного пользователя нужно заранее создать и указать пароль.
В конце статьи я расскажу как это сделать, пока оставьте root
Нажмите просто Enter

На вопрос, введите пароль, укажите нужный пароль.
Учтите, что по умолчанию пароль для root к серверу mysql такой же как и системный,
если вы его сменили то укажите его.
   Введите пароль пользователя базы данных MySQL (по-умолчанию - пустой):
вводим нужный пароль.

На вопрос, ввести имя базы данных mysql просьба ввести желаемое имя базы.
Я рекомендую не менять, дабы избежать лишних вопросов в работе системы,
т.к. смена может повести к возникновению лишних проблем.
   Введите имя базы данных MySQL (по-умолчанию - traffpro)
Нажмите просто Enter

На вопрос о способе обновления базы данных лучше ответить, просто нажатием Enter
  Тип обновления базы данных в командном или файловом режиме command/file ,
используйте для обновления больших баз file!!! Default command

На следующий вопрос, ответ просто указав нужное время в секундах или нажмите Enter
   Введите время ожидания перед получением данных из базы данных в секундах
(оптимальное значение 10)

Следующий вопрос, это вопрос касательно как часто демон traffpro будет отправлять данные в mysql. Рекомендовано, вести число не меньше 180 секунд или нажмите Enter
   Введите время ожидания перед отправкой данных в базу данных в секундах (оптимальное значение 180)

На вопрос о способе обновления базы данных лучше ответить, просто нажатием Enter

Следующий вопрос:
   Включить контроль MAC адресов? [y/n]
На вопрос о контроле mac адресов лучше ответить "y", так как это усложнить возможность подмены ip.
А то есть ушлые пользователи. Как определить mac-адрес с сервера, это nmap или еще проще arp.
Я ответил "y"

Следующий вопрос:
   Включить детализацию по портам [y/n]?
Отвечаем "y"

Следующий вопрос:
   Включить учет трафика и защиту сервера? [y/n]
На вопрос, о включении защиты сервера лучше ответить нет, а включить ее после проверки работы системы.
Я отвечу "n"

Вопрос о выборе сетевого интерфейса:
   Укажите внешний интерфейс (по-умолчанию - eth0):
Укажите нужный вам интерфейс смотрящий в сторону интернета.
Указываем карточку с внешним интерфейсом. возможные варианты eth0 eth1 ppp1 либо другие сетевые интерфейсы
В моём случае это "eth1"

Следующий вопрос:
   Разрешить SSH доступ к серверу TraffPro? [y/n]
Я отвечу "y"

На вопрос, по детализации посещений.
Включить детализацию WWW страниц? [y/n]
Я выбрал да, меня интересует кто какие страницы посещает,
и те что посещаются очень часто и не по работе я баню посредством squidGuard
Отвечаем "y"

На вопрос Внешний IP адрес,
   Введите внешний IP-адрес для того, чтобы поднять NAT (или оставьте пустым, для того, чтобы поднять MASQUERADE):
Лучше указать адрес так как NAT быстрее и лучше чем MASQUERADE, особенно при большом количестве клиентов.
Вводим свой внешний адрес

На вопрос об адресе для прослушки монитора коллектора,
   Укажите IP-адрес для прослушивания монитора (по-умолчанию - 127.0.0.1):
укажите тот по которому вы будите слушать монитор.
Я отвечу по умолчанию  

На вопрос, о порте для прослушивания монитора,
   Укажите порт для прослушивания монитора: (по-умолчанию - 9999)
можно ответить по умолчанию и сменить только в случае, если какой то другой сервис использует данный порт.
Я отвечу по умолчанию

На вопрос, о размере очереди ответе по умолчанию.
   Укажите размер очереди пакетов (по-умолчанию - 2048000):

На вопрос, введите имя администратора введите интересующие вас логин администратора.
   Введите имя Администратора для WIN и WEB административных консолей
   По умолчанию - admin

На вопрос, о пароле введите нужный вам пароль.
   Введите пароль Администратора WIN и WEB административных консолей

Следующий вопрос:
   Настроить Traffpro на работу с прозрачным squid? [y/n]
Так как, для этого нужно настроить сквид. Лучше это делать на рабочей системе, и для начала просто проверить работу сквида.
Я отвечу "n"

Следующий вопрос:
   Загрузить модули для работы ftp сервисов? [y/n]
Я отвечу "y"

Далее начнется обновление базы данных, по окончанию будет задан вопрос
   Продолжить установку? [y/n]
Отвечаем "y"

Следующий вопрос:
   Добавить администратора в базу данных ? [y/n]
Отвечаем "y"

На следующий вопрос, отвечаем да
   Продолжить установку? y/n

Следующий вопрос:
   Запускать traffpro при загрузке системы ? [y/n]
Отвечаем "y"

Следующий вопрос:
   Запустить TraffPro прямо сейчас? [y/n]
Отвечаем "y"

по окончанию установки увидим следующее сообщение:

--------------------------------------------------------------------
Доступ к Web-админке: ВАШ_СЕРВЕР/traffpro/index.php/admin_login
Доступ к web-информеру: ВАШ_СЕРВЕР/traffpro/
Дополнительную информацию можно найти на сайте www.traffpro.ru
--------------------------------------------------------------------

Это сообщение говорит о том, что установка прошла успешно.
Теперь можно и проверить наличие путей в нужной директории.
После установки в каталоге /opt/ появится каталог /traffpro/
в этом каталоге находятся скрипты, демон траффпро, web админка и клиенты.
В /etc/ будет создан каталог /traffpro/, а в нем конфигурационные файлы.
Проверьте на наличие, для этого выполните команду
               ls -l /etc/traffpro/

-rw------- 1 root root   1 Окт 12 10:06 addr_port_forward.cfg
-rw-r--r-- 1 root root 339 Окт 26 12:28 traffpro.cfg
-rw------- 1 root root 632 Окт 26 12:28 traffpro_rule.cfg



II. После окончания установки, проверяем конфигурационные файлы TraffPro:
Содержимое файлов может отличаться, в зависимости от выбранных вами ответов во время установки системы.

Пример :

/etc/traffpro/traffpro.cfg:
# Путь установки. Тут содержаться все рабочие файлы Траффро.
to_install_dir=/opt/traffpro

# определение, в каком режиме будет запущено приложение:
# true запускается в режиме демона
# false запускается в режиме обычного консольного приложения
daemon=true
# адрес базы данных
# Возможные значения (localhost, 127.0.0.1, 10.10.0.1)
# Обычно значение отличное от localhost используется для
# распределенной схемы учета трафика.
db_url=localhost
# Порт подключения к MySQL.

#Порт необходимо указывать в том случаи, если вы сменили порт в конфигурационном файле /etc/my.cnf
# Параметр по умолчанию 3306
# Упразднен с версии 1.3.6-x
db_port=3306
# имя пользователя базы данных mysql, под чьими правами будет подключаться система
# по умолчанию это root и пустой пароль.
# Более подробно смотрите на сайте http://traffpro.ru
db_usr=root
# пароль на доступ к системе для пользователя db_usr
db_passwd=xxxxxx
# имя базы данных, к которой подключается система

# В старых версиях имя было office, в новой traffpro.
db_name=traffpro
# время ожидания перед отправкой данных в базу данных
# чем меньше этот параметр тем больше и быстрее растет база данных.
time_out=720
# Влияет на время авторизации, рекомендуемое значение 10.
# Чем больше значение, тем реже демон обращается к БД за проверкой изменений.
time_in=10
# Включение/отключение контроля MAC адресов для клиентов true/false.
# Рекомендуемое значение - true.
control_eth_addr=true
# Номер шлюза сети (применяется при распределенном учѐте трафика,
#при единственном шлюзе устанавливается в ноль 0)
net_number=0
# Детализация по портам - в случае false ограничение по портам сохраняется,
#но лог ведется общий по всем портам, т.е. в отчетах не будет деления по портам.
ports_detail=true
# Включение защиты, сервера и учета трафика самого сервера.
# При включении этого параметра, добавляем сервер в web админке.
# WEB-админка -> Система -> Серверы - Добавить Сервер.
# При добавлении указываем внешний IP.
ss_enabled=true
# Указываем карточку с внешним интерфейсом.
# Узнать можно ifconfig -a
eth_out=eth3
# Детелизация www страниц.
# Возможные значения true/false.
# С версии 1.2-ХХ и выше, сквид больше не нужен для ведения логов посещений ресурсов.
# Теперь при значении true демон ведет учет посещений своими ресурсами.
# При параметре false возможно использование squid для работы с Траффпро, но учет
# посещений будет идти только по портам идущих через прокси сервер.
url_detail=true
# Внимание демон сам подстраивает буфер но не советуем делать размер
# пакетов больше 200 так как это около 12 мегабайт и большой размер
# буфера при форс мажоре замедлит работу демона, а не ускорит
# Размер очереди пакетов
ip_queue_maxlen=2048
# Если параметр указан то поднимается NAT а если не указан то MASQUERADE
out_ip=192.168.1.200
# Включение монитора, если параметр стоит в false то ниже два параметра выключены, если в true
# то нижнее два параметра не забываем.
monitor_on=true
# Адрес прослушивания для монитора (если не указывать параметр то по умолчанию 127.0.0.1) listen_addr=192.168.1.200
# Порт прослушивания для монитора (если не указывать параметр то по умолчанию 9999)

listen_port=9999
# Упразднен с версии 1.3.3-9Х, для запуска создан отдельный скрипт /etc/init.d/tp-scheduler
# Запускать таймер true, не запускать false
# Выполнение SQL запросов или sh скриптов. Данные для запросов берутся из админки.
timer=false

# Использовать squid для учета посещений ресурсов сети пользователями.
# При значении true - прокси сервер нужно убрать из авто загрузки и тогда
# прокси сервер будет запускаться через скрипт запуска Траффпро.
# Для правильной работы нужно внести следующие данные в конфигурационный файл squid.conf
# Данные параметры нужно внести в конфиг squid, согласно структуре конфигурационного
# файла squid, так как он чувствителен к расположению параметров.
#squid_connect=true
# Данный параметр указывает местоположение файла, который будет
# использоваться для передачи файлов в базу данных mysql.
# Владельцем файла станет root, если вы решите отменить данный параметр,
# смените потом владельца файла (chown squid.squid access.log)
#squid_log_file=/var/log/squid/access.log
# Блокировка сайтов демоном. т.е. при использовании данного параметра,
# не нужно для блокировки ресурсов использовать
# сторонние сервисы, такие как squid, squidGuard, iptables.
url_block=true
# Данный параметр отвечает за учет icmp запросов и др. отличных от udp и tcp,
# т.е. без этого параметра в мониторе активности системы
# не будут отображаться. Если true параметр активен, если false выключен.
not_udptcp_control=true
# Максимально количество запросов на соединение за время time_in от клиента
antiflood=500
# Отключение обратного определения ip -> domain для отчетов о посещении
not_resolv_dn=true
# Брать данные о маршрутах, и поднятия NAT из базы данных. Данные нужно вносить через web-админку.
nat_data_in_db=true
# Вести учѐт по шлюзам, т.е. сколько трафика с какого шлюза.
log_route=true
# для плагина PPPD- говорит плагину, что если не нашел в базе traffpro
# пускай еще и секрет файлы проверит, если true, т.е. файлы где хранятся логин и пароли. secret_files=false
# Агрегация таблицы посещений ресурсов клиентами. Значение по умолчанию включено true.
# Для отключения установите в false
url_agregate=false
# Тип шейпера. true - линейный одна очередь на всех клиентов системы.
# false - распределѐнный каждый клиент имеет свою очередь (по умолчанию)
shaper_type_linear=false

# Включение/выключение, учета трафика демоном с вашей железки (Cisco).
# Возможные значения этого параметра on, off, comb.
# Включено on (учѐт только по netflows) off (отключено)
# comb (учѐт и методами ядра линукс и netflows одновременно)
enable_netflow_type=on
# Настройки netfow. Предназначен для сбора информации об IP-трафике внутри сети.
# Для подсчета трафика с Cisco.
# Адрес, по которому прослушиваются пакеты neflow с отправляемые с вашей железки netflow_addr=192.168.0.237
# Порт, по которому прослушиваются пакеты neflow с отправляемые с вашей железки
netflow_port=8818



Пример:

/etc/traffpro/traffpro_rule.cfg:
                   #Позволит не потерять контроль над сервером
                   #при включѐнной защите сервера.
                  iptables -A INPUT -m tcp -p tcp --dport 22 -j ACCEPT
                  iptables -A OUTPUT -m tcp -p tcp --sport 22 -j ACCEPT

Проверьте, создалась ли база:
   #   mysqlshow
или
   # mysqlshow -u root -p             (если был задан пароль к базе)
покажет все базы данных, если вы не меняли название базы,
то должна появиться БД TraffPro.

Если все в порядке, запускаем Traffpro:
                 service traffpro start

Проверим, запустилась ли система учета трафика:
                 ps x | grep traffpro | grep -v "grep"

Должно отобразиться следующее:
20832 ?        Ssl    0:00 /opt/traffpro/billing-daemon/bin/routerd daemon=true
20851 ?        Ssl    0:00 /opt/traffpro/billing-daemon/bin/timer daemon=true
21003 ?        Ssl    0:00 /opt/traffpro/billing-daemon/bin/billing daemon=true

Если все работает, проверяем:
будут ли запускаться сервисы при старте системы, и, при необходимости,добавляем необходимые сервисы в автозагрузку:
               chkconfig --levels 345 mysqld on
               chkconfig --levels 345 httpd on
               chkconfig --levels 345 traffpro on


III. Работа с базой данных mysql
Внимание!!! Выгрузку и восстановление нужно делать до установки traffpro, соответственно нужно полностью пересобрать traffpro и указать название уже восстановленной базы!

Процедура выгрузки дампа базы mysql (например со старого сервака)

Зайдём в панель администрирования mysql
   [root@test]# mysql -u root -p
вводим пароль для доступа в mysql

Затем посмотрим список имеющихся баз
   mysql> show databases;

+--------------------------+
| Database                         |
+--------------------------+
| information_schema        |
| mysql                               |
| test                                 |  
| oldtraffpro                     |
+--------------------------+

Выполним выгрузку дампа базы
   [root@test]# mysqldump --host=localhost --user=root --password=pass oldtraffpro > /home/backup/oldtraffpro.sql
если пароль на sql не задан можно использовать:
   [root@test]# mysqldump --user=root oldtraffpro > /home/backup/oldtraffpro.sql

Процедура восстановление заранее выгруженного дампа базы traffpro в mysql (делается на новом сервере)

Зайдём в панель администрирования mysql
   [root@test]# mysql -u root -p
вводим пароль для доступа в mysql

Затем посмотрим список имеющихся баз
   mysql> show databases;

+----------------------------+
| Database                      |
+----------------------------+
| information_schema |
| mysql                           |
| test                                |  
| traffpro                         |
+----------------------------+

Создадим новую базу
   mysql> CREATE DATABASE oldtraffpro;

Затем снова посмотрим список баз
   mysql> show databases;

+----------------------------+
| Database                     |
+----------------------------+
| information_schema |
| mysql                           |
| oldtraffpro                   |
| test                                |
| traffpro                         |
+----------------------------+
Как видно, база создалась.

Если посмотреть на путь
   /var/lib/mysql/oldtraffpro/
то увидим там почти пустую папку

Выполним восстановление дампа базы
   mysql -D имя_базы -u root -p < дамп_базы_.sql
пример:
   mysql -D oldtraffpro -u root -p < /home/backup/oldtraffpro.sql
ждём завершения восстановления (если база большая восстановление может занять несколько минут, во время восстановления на экран может ничего не выводится)

Затем снова посмотрим в
   /var/lib/mysql/oldtraffpro
теперь там появилось много всякого...
это означает что база восстановилась куда надо.

После восстановления не забываете поправить файлик /etc/traffpro/traffpro.cfg
db_usr=root                        - пользователь базы
db_passwd=                        - пароль к базе
db_name=oldtraffpro          - имя базы


Категория: Linux | Добавил: k-sudak (22.02.2010) | Автор: Бабинов Николай
Просмотров: 4964 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Рашид и компания
  • Отдых в Крыму, Судак
  • Отдых в Крыму

  • Copyright MyCorp © 2024 | Создать бесплатный сайт с uCoz