Страница 1 из 1
ng_netflow
Добавлено: 2009-03-26 16:48:17
maniackiller
Написал такую штуку. Скажите это правильно? Трафик будет считаться корректно? или нужно для каждого интерфейса сделать???
Напомню что две сетевухи имеются. На одной висит провайдер. С ним поднято бгп. А на второй сетевухе висят сети. В выводе описана та сетевуха на которой висят сети:
Код: Выделить всё
#!/bin/sh
kldload ng_netflow
kldload ng_ether
kldload ng_tee
kldload ng_one2many
ngctl -f- <<-SEQ
mkpeer rl0: tee lower left
connect rl0: rl0:lower upper right
mkpeer rl0:lower one2many left2right many0
connect rl0:lower.left2right rl0:lower many1 right2left
name rl0: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.2.184:4444
И как можно сделать чтобы нетфлоу лилось еще на один комп?
Re: ng_netflow
Добавлено: 2009-03-26 17:06:03
LMik
maniackiller писал(а):Написал такую штуку. Скажите это правильно? Трафик будет считаться корректно? или нужно для каждого интерфейса сделать???
Напомню что две сетевухи имеются. На одной висит провайдер. С ним поднято бгп. А на второй сетевухе висят сети. В выводе описана та сетевуха на которой висят сети:
Код: Выделить всё
#!/bin/sh
kldload ng_netflow
kldload ng_ether
kldload ng_tee
kldload ng_one2many
ngctl -f- <<-SEQ
mkpeer rl0: tee lower left
connect rl0: rl0:lower upper right
mkpeer rl0:lower one2many left2right many0
connect rl0:lower.left2right rl0:lower many1 right2left
name rl0: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.2.184:4444
И как можно сделать чтобы нетфлоу лилось еще на один комп?
в ipfw что? чтобы на несколько ипов слать можно привенуть сюда ng_hub.
Re: ng_netflow
Добавлено: 2009-03-26 17:46:40
maniackiller
Re: ng_netflow
Добавлено: 2009-03-26 17:58:06
LMik
Двойной нетфлоу
Скрипт
Код: Выделить всё
#!/bin/sh
case "$1" in
start)
echo "Starting netflow...."
/usr/sbin/ngctl mkpeer ipfw: netflow 30 iface0
/usr/sbin/ngctl name ipfw:30 netflow
/usr/sbin/ngctl msg netflow: setdlt {iface=0 dlt=12}
/usr/sbin/ngctl msg netflow: setifindex {iface=0 index=1}
/usr/sbin/ngctl mkpeer netflow: hub export one
/usr/sbin/ngctl name netflow:export netflow0
/usr/sbin/ngctl mkpeer netflow0: ksocket two inet/dgram/udp
/usr/sbin/ngctl msg netflow0:two connect inet/xxx.xxx.xxx.xxx:9996
/usr/sbin/ngctl mkpeer netflow0: ksocket three inet/dgram/udp
/usr/sbin/ngctl msg netflow0:three connect inet/yyy.yyy.yyy.yyy:9996
echo "Ok."
exit 0
;;
stop)
echo "Stopping netflow...."
/usr/sbin/ngctl shutdown netflow:
/usr/sbin/ngctl shutdown netflow0:
echo "Ok."
exit 0
;;
restart)
sh $0 stop
sleep 5
sh $0 start
;;
*)
echo "Usage: `basename $0` { start | stop | restart }"
exit 64
;;
esac
В ipfw для удобного руления того что дложно обсчитываться
Код: Выделить всё
ipfw add ngtee 30 ip from any to any out via rl0
ipfw add ngtee 30 ip from any to any in via rl0
Re: ng_netflow
Добавлено: 2009-03-30 7:56:52
maniackiller
А как сделать чтоб при старте эти правила загружались?
Re: ng_netflow
Добавлено: 2009-03-30 8:27:54
zingel
Re: ng_netflow
Добавлено: 2009-03-30 10:11:23
maniackiller
А если у меня не через firewall??
Re: ng_netflow
Добавлено: 2009-03-30 10:24:59
zingel
ну укажите тогда файл откуда бирутся правила, чего тут сложного
Код: Выделить всё
firewall_script="/some/fucking/path/to/you/script"
Re: ng_netflow
Добавлено: 2009-04-02 11:17:17
maniackiller
добавил в rc.firewall следующие записи:
Код: Выделить всё
fwcmd="/sbin/ipfw"
${fwcmd} -f flush
#Loopback
#${fwcmd} add 100 pass all from any to any via lo0
#${fwcmd} add 200 deny all from any to 127.0.0.0/8
#${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
${fwcmd} add deny all from any to me 22
${fwcmd} add pass ip from any to any
/usr/sbin/ngctl mkpeer dc0: tee lower left
/usr/sbin/ngctl connect dc0: dc0:lower upper right
/usr/sbin/ngctl mkpeer dc0:lower one2many left2right many0
/usr/sbin/ngctl connect dc0:lower.left2right dc0:lower many1 right2left
/usr/sbin/ngctl name dc0:lower.right2left o2m
/usr/sbin/ngctl mkpeer o2m: netflow one iface0
/usr/sbin/ngctl name o2m:one netflow
/usr/sbin/ngctl mkpeer netflow: hub export one
/usr/sbin/ngctl name netflow:export netflow0
/usr/sbin/ngctl mkpeer netflow0: ksocket two inet/dgram/udp
/usr/sbin/ngctl msg netflow0:two connect inet/xx.xx.xx.x2:9996
/usr/sbin/ngctl mkpeer netflow0: ksocket three inet/dgram/udp
/usr/sbin/ngctl msg netflow0:three connect inet/xx.xx.xx.x2:9996
добавил в rc.conf чтоб подгружался данный скрипт. При загрузке msg ругается на то что недоступны узлы на которые нетфлоу отсылать. Приходиться ручками снова запускать. Может подскажете как сделать чтоб после загрузки системы правила создавались????
Re: ng_netflow
Добавлено: 2009-04-02 11:55:58
iye
Как вариант сделать скриптик в /usr/local/etc/rc.d с ключами для rcorder чтобы грузилось после всего.
Re: ng_netflow
Добавлено: 2009-04-02 11:59:08
maniackiller
iye писал(а):Как вариант сделать скриптик в /usr/local/etc/rc.d с ключами для rcorder чтобы грузилось после всего.
А не подскажешь как? я в программировании не очень силен
Re: ng_netflow
Добавлено: 2009-04-02 12:13:08
iye
Идем в /usr/local/etc/rc.d/ смотрим любой скрипт и делаем по подобию ... ну и man rcorder и гугл в помощь.