Cacti - отрисовка IPFW counter

Версия для печатиОтправить другуPDF version

Cacti logo

Иногда возникает необходимость из основного потока трафика "выхватить" какой-то протокол или IP-адресс и отобразить это на графиках. В таком случае на помощь приходит cacti-скрипт, который строит графики, исходя из счетчиков IPFW.

Локальный сервер

Итак, рассмотрим на конкретном примере... Предположим, что нужно отрисовать графики трафика для групы IP-адресов. Соответственно в rc.firewall внесены такие правила:

${fwcmd} table 25 add 10.2.207.70
${fwcmd} table 25 add 10.2.207.96
${fwcmd} table 25 add 10.22.207.97
${fwcmd} add 250 count ip from "table(25)" to any in via em0
${fwcmd} add 251 count ip from any to "table(25)" out via em0

В выводе правил IPFW соответственно:

# ipfw show | grep count

00250         8061         1150756 count ip from table(25) to any in via em0
00251         9045         2905706 count ip from any to table(25) out via em0

Архив с необходимыми файлами можно скачать по этой ссылке.

Для установки необходимо выполнить следующие пункты:

  1. Необходимо извлечь скрипт ipfw_bidirectional.pl в каталог scripts (в настройках по умолчанию это путь /usr/local/share/cacti/scripts)
  2. Необходимо выполнить через веб-интерфейс  импорт темплейта (Console->Import/Export->Import Templates) из файла cacti_graph_template_freebsd_ipfw_bidirectional_rule_counter.xml.
  3. В консоли web-управления Cacti создаем новый график: Console->Devices->Device_name_here->Create Graphs for this Host. Выбираем тип Graph Templates: FreeBSD - IPFW bidirectional rule counter и жмем кнопку "Create". В следующем окне необходимо вписать номера входящего и исходящего правила IPFW. В моем случае номер правила для входящих пакетов будет 251, а для исходящих - 250.

Пример получаемых графиков:

 Cacti IPFW graph

Примечание. В скрипте ipfw_bidirectional.pl используется вывод правил файрвола. Если в cron-е запуск poller.php выполняется от имени непривилегированого пользователя (например cacti), то графики отрисовываться не будут. Для решения проблемы необходимо либо выполнять запуск poller.php от имени root, либо же через sudo дать необходимые права пользователю и подкорректировать скрипт на вывод правил IPFW через sudo.

Удаленный сервер

Итак, опять же все рассмотрим на конкретном примере... Предположим, что нужно отрисовать графики трафика для групы IP-адресов. Соответственно в rc.firewall внесены такие правила:

 

# Room 400

${fwcmd} table 25 add 10.2.207.70
${fwcmd} table 25 add 10.2.207.96
${fwcmd} table 25 add 10.22.207.97
${fwcmd} add 250 count ip from "table(25)" to any in via em0
${fwcmd} add 251 count ip from any to "table(25)" out via em0

В выводе правил IPFW удаленного сервера соответственно:

 

# ipfw show | grep count

00250         8061         1150756 count ip from table(25) to any in via em0
00251         9045         2905706 count ip from any to table(25) out via em0

Архив с необходимыми файлами можно скачать по этой ссылке.

Для установки необходимо выполнить следующие пункты:

  1. Необходимо извлечь скрипт ipfw_bidirectional_remote.pl в каталог scripts (в настройках по умолчанию это путь /usr/local/share/cacti/scripts)
  2. Необходимо выполнить через веб-интерфейс  импорт темплейта (Console->Import/Export->Import Templates) из файла cacti_graph_template_freebsd_ipfw_bidirectional_rule_counter_remote.xml.
  3. Поскольку  скрипт ipfw_bidirectional_remote.pl требует подключения по ssh, настраиваем ssh-авторизацию по ключам для подключения к удаленному серверу.
  4. Для вывода правил IPFW на удаленном сервере с помощью sudo разрешаем выполнения необходимой команды. Тоесть, используя visudo, добавляем такое правило:
     
                          remoteuser1     ALL= (root) NOPASSWD: /sbin/ipfw show *
  5. В консоли web-управления Cacti создаем новый график: Console->Devices->Device_name_here->Create Graphs for this Host. Выбираем тип Graph Templates: FreeBSD - remote IPFW bidirectional rule counter и жмем кнопку "Create". В следующем окне необходимо вписать номера входящего и исходящего правила IPFW. В моем случае номер правила для входящих пакетов будет 251, а для исходящих - 250.

Пример получаемых графиков:

 

Cacti IPFW graph 

 

Ваша оценка: Нет Средняя: 5 (3 голоса)

Вставай, Україно!

Литература