помогите, пожалуйста, с 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 -xngctl="/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
===== кусь ======
Судя по man ng_netflow, он только слушает => не add netgraph 100 ..., а add ngtee 100
В данном случае, имхо использовать ng_split не нужно, т.к. в случае с ng_nat он служит, для обьеденения потоков на нетфлау. Здесь же задача сводиться к тому, что б 100е правило завернуло входящий поток на iface0 ng_netflow и отдало через out0, обратно на ipfw, а 102 заворачивало изходящий на out1 и возвращало в ipfw, через iface1...
ЗЫ. не забуть про sysctl net.inet.ip.fw.one_pass=0