Подскажите плз, как выглядит скрипт для ngctl для снятия in|out трафика по _нескольким_ интерфейсам?Рабочий вариант по одному интерфейсу: съем статистики и отдача
--------
#!/bin/sh
ngctl -f- <<-SEQ
mkpeer msk0: tee lower left
connect msk0: msk0:lower upper right
mkpeer msk0:lower one2many left2right many0
connect msk0:lower.left2right msk0:lower many1 right2left
name msk0:lower.right2left o2m
mkpeer o2m: netflow one iface0
name o2m:one netflow
mkpeer netflow: ksocket export inet/dgram/udp
msg netflow:export connect inet/192.168.1.210:9996
---------
FreeBSD 7.0
Смотрю через NetFLow Analyzer
man flowctl ?
или я чет не понял
>man flowctl ?
>или я чет не понялэто модно сейчас к манам отправлять? я понимаю если человек владеет вопросом и уверен что в мане есть ответ.. я потому и задаю вопрос, что с моим скудоумием не асилил сам =)
man это скорее намек куда надо посмотреть
думаю если вы наберете у себя
то прочитав несколько строк от туда
сразу впрос от падета на новичков фраза man както действует не так
они считают что их куда то отправляют далеко
типа послаливообщем странно
потому как эта фраза man
возникла в кругу спецов
дабы не тратить времея на обьяснения
а как бы намекнуть куда посмотреть
>man flowctl ?
>или я чет не понялчел видимо не умеет скрипты писать
тут надо man rc, man rc.d, man sh, man ngctl %)
>Подскажите плз, как выглядит скрипт для ngctl для снятия in|out трафика по
>_нескольким_ интерфейсам?вот мой скрипт, слабал когда-то давно за полчаса
# cat /usr/local/etc/rc.d/ng_flow.sh
#!/bin/shsub_start_ng_flow () {
iflist=`ifconfig -l ether`
count=0
named=no# Compiled into kernel
# kldload ng_ether > /dev/null 2>&1if [ "$ng_flow_auto" = "YES" -a ! -z "$iflist" ]
then
for if in $iflist
do
ngctl mkpeer $if: tee lower right
ngctl name $if:lower ${if}_tee
ngctl connect $if: $if:lower upper left
if [ "$named" = "no" ]
then
ngctl mkpeer $if:lower netflow left2right iface$count
ngctl name $if:lower.left2right netflow
named=yes
else
ngctl connect $if:lower netflow: left2right iface$count
fi
count=$(( $count + 1 ))
ngctl connect $if:lower netflow: right2left iface$count
count=$(( $count + 1 ))
done
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl name netflow:export netflow_socket
ngctl msg netflow:export connect inet/127.0.0.1:8787
fi
}sub_stop_ng_flow () {
ngctl shutdown netflow: >/dev/null 2>&1
iflist=`ifconfig -l ether`
if [ ! -z "$iflist" ]
then
for if in $iflist
do
ngctl shutdown $if: >/dev/null 2>&1
done
fi
}. /etc/rc.conf
case $1 in
start)
if [ "$ng_flow_enable" = "YES" ]
then
#sub_stop_ng_flow
sub_start_ng_flow
echo "ng_flow "
fi
exit 0
;;
stop)
sub_stop_ng_flow
exit 0
;;
*)
echo "usage: `basename $0` start|stop"
;;
esac
> iflist=`ifconfig -l ether`получаем список всех езернет интерфейсов
>[оверквотинг удален]
>
> named=yes
> else
> ngctl connect $if:lower netflow:
>left2right iface$count
> fi
> count=$(( $count + 1 ))
> ngctl connect $if:lower netflow: right2left iface$count
>
> count=$(( $count + 1 ))в цикле подключаем их обеими концами к экспортеру, именуем все узлы
> ngctl mkpeer netflow: ksocket export inet/dgram/udp
> ngctl name netflow:export netflow_socket
> ngctl msg netflow:export connect inet/127.0.0.1:8787включаем собсно экспорт