URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 69001
[ Назад ]

Исходное сообщение
"ng_netflow, ng_split, ng_ipfw - не получается :("

Отправлено raven428 , 19-Сен-06 10:42 
помогите, пожалуйста, с ng_ipfw, без ng_nat. хочется выливать в коллектор трафик по всем направлениям вот таким вот образом:
add netgraph 100 ip from any to any in via ${iif}
if [ -n "${natd_interface}" ]; then
rule=30000
add divert 8666 all from any to any via ${natd_interface}
fi
add netgraph 101 ip from any to any out via ${iff}

если включить netgraph 100, то трафик считается, но связи нет - соединения все обрываются.
если включить netgraph 101, то трафик не считается, зато есть связь :) что я не так сделал?

===== кусь ======
#!/bin/sh -x

ngctl="/usr/sbin/ngctl"

case $1 in
start)
if [ `${ngctl} list | grep flowsensor | wc -l` -ne 0 ]; then
  echo "Netgraph already configured"
  exit 1
fi

${ngctl} mkpeer ipfw: split 100 mixed
${ngctl} name ipfw:100 split100

${ngctl} mkpeer ipfw: split 101 in
${ngctl} name ipfw:101 split101

${ngctl} mkpeer split101: netflow out iface0
${ngctl} name split101:out flowsensor

${ngctl} connect split100: flowsensor: out iface1
${ngctl} connect flowsensor: split100: out0 in
# ${ngctl} connect flowsensor: split101: out1 in
# иначе говорит file exists

${ngctl} msg flowsensor: setdlt { iface=0 dlt=12 }
${ngctl} msg flowsensor: setdlt { iface=1 dlt=12 }
${ngctl} msg flowsensor: setifindex { iface=0 index=0 }
${ngctl} msg flowsensor: setifindex { iface=1 index=0 }
${ngctl} msg flowsensor: settimeouts { inactive=30 active=30 }

${ngctl} mkpeer flowsensor: ksocket export inet/dgram/udp
${ngctl} msg flowsensor:export connect inet/127.0.0.1:2048
;;

stop)
${ngctl} shut split100:
${ngctl} shut split101:
${ngctl} shut flowsensor:
;;

*)
echo "Usage: `basename $0` {start|stop}"
exit 2
;;
esac
===== кусь ======


Содержание

Сообщения в этом обсуждении
"ng_netflow, ng_split, ng_ipfw - не получается :("
Отправлено Аноним , 19-Сен-06 13:44 
Судя по man ng_netflow, он только слушает => не add netgraph 100 ..., а add ngtee 100

"ng_netflow, ng_split, ng_ipfw - не получается :("
Отправлено EWA , 21-Сен-06 04:12 
В данном случае, имхо использовать ng_split не нужно, т.к. в случае с ng_nat он служит, для обьеденения потоков на нетфлау. Здесь же задача сводиться к тому, что б 100е правило завернуло входящий поток на iface0 ng_netflow и отдало через out0, обратно на ipfw, а 102 заворачивало изходящий на out1 и возвращало в ipfw, через iface1...
ЗЫ. не забуть про sysctl net.inet.ip.fw.one_pass=0