Мои заслуги |
|
|
| | |
|
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 |
| |
| | |
|
|