Настройка netflow на FreeBSD через netgraph

Вводная:
внутренний интерфейс — vlan192
внешний интерфейс — vlan172

Чтобы получить порядковый номер интерфейса, он же index вызываем. (По всей видимости начинается с 1)

# ifconfig -l
em0 em1 lo0 vlan192 vlan176

С возможностью рулить «что снимать» через ipfw:

ngctl mkpeer ipfw: netflow 10 iface0
ngctl name ipfw:10 netflow
ngctl msg netflow: setdlt { iface=0 dlt=12 }
#ngctl msg netflow: setifindex { iface=0 index=0 }
ngctl msg netflow: settimeouts { inactive=20 active=40 }
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl name netflow:export netflow_socket
ngctl msg netflow_socket: connect inet/172.16.0.1:9996
 
ipfw add 10000 ngtee 10 ip from any to any via vlan192

Без возможности контроля:

ngctl mkpeer vlan192: split lower mixed
ngctl name vlan192:lower splitlow
ngctl mkpeer splitlow: netflow out iface1
ngctl name splitlow:out netflow
ngctl mkpeer netflow: split out1 in
ngctl name netflow:out1 splitup
ngctl connect splitup: vlan192: mixed upper
ngctl connect splitup: netflow: out iface0
ngctl connect splitlow: netflow: in out0
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl msg netflow: setifindex { iface=0 index=4 }
ngctl msg netflow:export connect inet/172.16.0.1:9996
ngctl msg netflow: settimeouts { inactive=1 active=1 }

Добавить комментарий

Ваш e-mail не будет опубликован.