[an error occurred while processing this directive]

Экспорт Netflow средствами netgraph во FreeBSD
При сборке ядра указываем:

   options		IPFIREWALL
   options		NETGRAPH
   options		NETGRAPH_SOCKET
   options		NETGRAPH_IPFW
   options		NETGRAPH_NETFLOW
   options		NETGRAPH_KSOCKET

либо подгружаем модули:

   kldload ipfw.ko
   kldload netgraph
   kldload ng_socket
   kldload ng_ipfw
   kldload ng_netflow
   kldload ng_ksocket


для их автозагрузки в /boot/loader.conf добавляем: 

   ipfw_load="YES"
   ng_netflow_load="YES"
   ng_socket_load="YES"
   ng_ksocket_load="YES"
   ng_ipfw_load="YES"


в ipfw правила

   ipfw add 02210 netgraph 100 ip from any to any via vlan108
   ipfw add 02220 netgraph 100 ip from any to any via vlan208

Скрипт, для поднятия netflow:

#!/bin/sh
. /etc/rc.subr
 
name="ngnetflow"
rcvar=`set_rcvar`

load_rc_config $name
: ${ngnetflow_enable="NO"}
: ${ngnetflow_src="127.0.0.1:9999"}
: ${ngnetflow_dst="127.0.0.1:9996"}

start_cmd="ngnetflow_start"
stop_cmd="ngnetflow_stop"

ngnetflow_start() {

/usr/sbin/ngctl -f- <<-SEQ
mkpeer ipfw: netflow 100 iface0
name ipfw:100 netflow
connect ipfw: netflow: 108 out0
msg netflow: setdlt { iface=0 dlt=12 }
msg netflow: settimeouts { inactive=30 active=600 }
mkpeer netflow: ksocket export inet/dgram/udp
name netflow:export flowexp
msg flowexp: bind inet/${ngnetflow_src}
msg flowexp: connect inet/${ngnetflow_dst}
SEQ

}

ngnetflow_stop() {
/usr/sbin/ngctl -f- <<-SEQ
shutdown netflow:
SEQ
}

run_rc_command "$1"
 
07.10.2008 , Автор: VS
Ключи: netgraph, ifpw, freebsd, netflow, traffic / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетный фильтр в FreeBSD: ipfw, IP-Filter

[an error occurred while processing this directive]

[an error occurred while processing this directive]