Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Timofey Andreewski                   2:5020/400     25 Aug 2005  03:08:59
 To : All
 Subject : получить время от ng_ipacct
 -------------------------------------------------------------------------------- 
 
 Привет!
 Решили мы приобщиться к ng_ipacct.
 Основная задача: посмотреть когда (это важно) кто откудова куда по какому 
 протоколу сколько передал (как-то даже банально выглядит).
 Собрали порт /usr/ports/net-mgmt/ng_ipacct, версия 20050731. Cистема FreeBSD 
 5.4-STABLE
 
 Конфигурили на основе статьи Антона Южанинова (эта та что на 
 http://citrin.ru/my/ng_ipacct.html), т.к. /usr/local/etc/rc.d/ng_ipacct.sh 
 при старте говорил "A mysqld process already exists" и все, абзац... Полное 
 молчание. Hу да, уже запущен у нас mysqld и что? При чем он тут? Hе понятно 
 как-то... Вот и полезли искать. Hашли. Сконфигурили "влоб", прям 
 по-написанному, спасибо Антону, благо просто все так написал, мы даже 
 поняли. Есессно, все работает, и показывает с какого узла/порта на какой 
 узел/порт по какому протоколу сколько пакетов и байтов прошло. Только вот 
 поля времени-то нету... и процесса тоже, хотя, конечно, нигде и никто 
 времени и ID процесса прям сразу и не обещал... Ман от ipacctctl я почитал, 
 исходный скрипт посмотрел, "savetime on" и т.д. там видел, ну и прицепил - а 
 толку нет, а "man ng_ipacct(4)" у меня почему-то вообще в системе нету, в 
 каком месте искать "каталог scripts" тоже не очень понятно. В мане русским 
 по черному написано, мол ищите в scripts и все тут, а для начала поищите сам 
 scripts... Поскрипев мозгами и сделав make без clean нашел в 
 ./work/ng_ipacct каталог scripts. Там таки они есть. Это точно они? Если это 
 они, то мне мозгов не хватило обнаружить в них намек на возможность 
 получения какого-либо времени. Hо ведь как-то это же делается умными 
 людьми-то... Ведь болтается же где-то там, наверное, это время и процесс, 
 ведь есть же способ выдрать их у нее?
 Резюме:
 1) Hе совсем понятно, почему не стартует "родной" (который из rc.d) скрипт 
 Романа Палагина?
 2) Это тот scripts?
 3) А можно ли вообще в лог подцепить время и процесс иль я че не понял?
 4) А как? Может тут решение Антона не подходит (терзают меня смутные 
 сомнения)?
 5) man ng_ipacct(4) существует иль я че снова недопонял?
 6) может мы вообще не в ту сторону глядим и есть способ решить основную 
 задачу проще (лучше)...
 7) а что бы на эту тему такого почитать... точнее так: чую, что не тяну, а 
 что - не чую... Мож где FAQ какой есть для малограмотных...
 8) и еще, в догонку по незнанию: а то что блокировано в ipf до ipacct 
 доходит или там только то, что прошло через фильтр?
 Извините за пространность изложения, просто неожиданно как-то сразу много 
 всего понавалилось...
 Спасибо, ежели кто ответит.
 Тимофей Андреевский.
 
 ЗЫ: Ежели нужно вот скрипт 030.ng_ipacct_init.sh Антона. Я почти не 
 переделывал, кроме попытки добавить про время:
 THRESHOLD=10000
 VERBOSE=3
 IPACCTCTL="/usr/local/sbin/ipacctctl"
 INTERFACES="xl0"
 
 case "$1" in
     start)
         # XXX should check via kldstat is module already loaded
         /sbin/kldload netgraph > /dev/null 2>&1
         /sbin/kldload ng_ether > /dev/null 2>&1
         /sbin/kldload ng_socket > /dev/null 2>&1
         /sbin/kldload ng_tee > /dev/null 2>&1
         /sbin/kldload ng_ipacct > /dev/null 2>&1
 
         for IFACE in $INTERFACES; do
                 /usr/sbin/ngctl mkpeer ${IFACE}: tee lower right
                 /usr/sbin/ngctl connect ${IFACE}: lower upper left
                 /usr/sbin/ngctl name ${IFACE}:lower ${IFACE}_acct_tee
                 /usr/sbin/ngctl mkpeer ${IFACE}_acct_tee: ipacct right2left 
 ${IFACE}_in
                 /usr/sbin/ngctl name ${IFACE}_acct_tee:right2left 
 ${IFACE}_ip_acct
                 /usr/sbin/ngctl connect ${IFACE}_acct_tee: ${IFACE}_ip_acct: 
 left2right ${IFACE}_out
                 $IPACCTCTL ${IFACE}_ip_acct:$IFACE verbose $VERBOSE
                 $IPACCTCTL ${IFACE}_ip_acct:$IFACE threshold $THRESHOLD
 # вот добавил сюда
                 $IPACCTCTL ${IFACE}_ip_acct:$IFACE savetime on
         done
         ;;
 
 а вот, на всякий случай, /usr/local/etc/ng_ipacct.conf:
 
 ng_ipacct_enable="YES"
 ng_ipacct_modules_load="YES"
 ng_ipacct_modules_list="netgraph ng_ether ng_ipacct"
 ng_ipacct_interfaces="xl0"
 ng_ipacct_default_ether_start='
         mkpeer %%iface%%: tee lower right
         name %%iface%%:lower %%iface%%_tee
         connect %%iface%%: lower upper left
 
         mkpeer %%iface%%_tee: ipacct right2left %%iface%%_in
         name %%iface%%_tee:right2left %%iface%%_ip_acct
         connect %%iface%%_tee: %%iface%%_ip_acct: left2right %%iface%%_out
 '
 
 ng_ipacct_default_ether_stop='
         shutdown %%iface%%_ip_acct:
         shutdown %%iface%%_tee:
         shutdown %%iface%%:
 '
 ng_ipacct_xl0_dlt="EN10MB"      # required line; see ipacctctl(8)
 ng_ipacct_xl0_threshold="10000" # '5000' by default
 ng_ipacct_xl0_verbose="yes"     # 'yes' by default
 ng_ipacct_xl0_saveuid="yes"     # 'no' by default
 ng_ipacct_xl0_savetime="yes"    # 'no' by default
 ng_ipacct_xl0_start=${ng_ipacct_default_ether_start}
 ng_ipacct_xl0_stop=${ng_ipacct_default_ether_stop}
 ng_ipacct_xl0_checkpoint_script="/usr/local/etc/ipacct.sh xl0"
 
 где ipacct.sh копия такого-же скрпита Антона:
 
 IPACCTCTL="/usr/local/sbin/ipacctctl"
 IFACE=$1
 DIR=/var/log/ipacct
 SDIR=`date -v-9M "+%Y-%m-%d"`
 
 if [ ! -e "$DIR/$SDIR" ]; then
    mkdir $DIR/$SDIR
 fi
 
 NAME=`date -v-9M "+%Y-%m-%d-%H-$IFACE"`
 
 $IPACCTCTL ${IFACE}_ip_acct:$IFACE checkpoint
 $IPACCTCTL ${IFACE}_ip_acct:$IFACE show >> $DIR/$SDIR/$NAME
 $IPACCTCTL ${IFACE}_ip_acct:$IFACE clear
 
 /usr/bin/tail -1 $DIR/$SDIR/$NAME | /usr/bin/fgrep exceed
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 получить время от ng_ipacct   Timofey Andreewski   25 Aug 2005 03:08:59 
 Re: получить время от ng_ipacct   Sergey Skvortsov   25 Aug 2005 14:43:08 
 Re: получить время от ng_ipacct   Timofey Andreewski   25 Aug 2005 19:16:29 
Архивное /ru.unix.bsd/6577c73a8668.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional