pmacct

wget http://www.pmacct.net/pmacct-1.5.3.tar.gz

yum groupinstall "Development Tools"

yum install libpcap libpcap-devel

./configure 

make

make install

[root@nfa01 config]# cat as.conf

! включить отладочный режим

!!!debug: true

!

! уходить в фон?

daemonize: true

!!!daemonize: false

!

! куда писать лог файл

logfile: /opt/pmacct/logs/net_as.conf.log

!

maps_refresh: true

!

!

! базовая настройка для nfacctd

!

! какой IP и порт слушать

nfacctd_ip: 10.77.127.29

nfacctd_port: 50009

!

! чтобы убрать проверку/logging out-or-order пакетов (Sequence checks)

!!!nfacctd_disable_checks: true

!

! метод агрегации IP префиксов

nfacctd_net: netflow

!

!populate 'peer_dst_ip' field from NetFlow IP next hop field if BGP next-hop is not available

use_ip_next_hop: true

!

! makes 'nfacctd' to ignore timestamps included in NetFlow header and build new ones

nfacctd_time_new: true

!

!если true добавляет 2 новых поля timestamp_min и timestamp_max:

!   timestamp_min - timestamp первого элемента, попадающего в определённый агрегат,

!   timestamp_max - timestamp последнего элемента

!nfacctd_stitching: true

! nfacctd_pro_rating не совместимо с nfacctd_stitching

!!!nfacctd_pro_rating: true

!

!брать ASNs из BGP RIB пира, ассоциированного с NetFlow exporter 

nfacctd_as_new: bgp

!

! автоматически ренормализует счётчики пакетов/байт с учётом семплинга , приходящие в потоках netflow

nfacctd_renormalize: true

! коэффициенты семплирования - переопределяют сообщаемые роутерами

sampling_map: /opt/pmacct/config/sampling.map

!

! файл соответствий между route-distinguisher и экспортёром netflow

flow_to_rd_map: /opt/pmacct/config/flow_to_rd.map

!

!!!plugins: memory[a1], print[p1], print[p2], amqp, amqp[a1], amqp[a2]

!!plugins: mysql[5m], mysql[1h], print[p5m]

plugins: print[p5m]

!

! настройки print плагина(ов) (в основном нужны при отладке, если не хотим писать в SQL базу)

!

! [p1]

plugin_pipe_size[p5m]: 10024000

plugin_buffer_size[p5m]: 10240

print_output[p5m]: csv

print_output_file[p5m]: /opt/pmacct/out/%Y-%m-%d/$peer_src_ip/p5m.%H%M.csv

print_output_file_append[p5m]: true

print_refresh_time[p5m]: 300

print_history[p5m]: 5m

print_history_roundoff[p5m]: m

!print_cache_entries[p5m]: 64007

print_cache_entries[p5m]: 1000000

!aggregate[p5m]: peer_src_ip, peer_dst_ip, in_iface, out_iface, src_net, src_mask, dst_net, dst_mask, src_as, peer_src_as, peer_dst_as, dst_as, mpls_vpn_rd

!aggregate[p5m]: peer_src_ip, peer_dst_ip, in_iface, out_iface, src_as, peer_src_as, peer_dst_as, dst_as, mpls_vpn_rd

!

!aggregate[p5m]:  in_iface, out_iface, src_as, peer_src_as, peer_dst_as, dst_as

!aggregate[p5m]: peer_src_ip, peer_dst_ip, in_iface, out_iface, src_net, src_mask, dst_net, dst_mask, src_as, peer_src_as, peer_dst_as, dst_as

aggregate[p5m]: peer_src_ip, peer_dst_ip, in_iface, out_iface, src_net, src_mask, dst_net, dst_mask, src_as, peer_src_as, peer_dst_as, dst_as,src_port, dst_port, tos, proto

!

!print_trigger_exec[p5m]: /root/pmacct/bin/print_trigger.sh

!

! настройки для BGP daemon

!

! включать BGP daemon/пиринг?

!!!bgp_daemon: false

bgp_daemon: true

!

! на каком IP адресе слушать BGP connect-ы от пиров (напр., адрес eth0 интерфейса)

bgp_daemon_ip: 10.77.127.29

! обычно сам выставляется = bgp_daemon_ip, но чтоб наверняка...

bgp_daemon_id: 10.77.127.29

!

! максимальное число разрешенных пиринговых сессий

bgp_daemon_max_peers: 20

!

!full pathname to a file to map source IP address of NetFlow agents to source IP address or Router ID of BGP peers

bgp_agent_map: /opt/pmacct/config/bgp_agent.map

!

!file to write a list of the BGP neighbors in the established state

bgp_neighbors_file: /opt/pmacct/out/bgp_neighbors.out

! в какой файл писать BGP protocol messages

!bgp_daemon_msglog_file: /root/pmacct/out/bgp_msglog.$peer_src_ip.out

!

bgp_daemon_pipe_size: 16777216

! если хотим получать дампы BGP RIB

! в какой файл(ы) писать дампы BGP таблиц

!bgp_table_dump_file: /opt/pmacct/out/%Y-%m-%d/$peer_src_ip/bgp_table.%H%M.dump

! как часто делать дамп

!bgp_table_dump_refresh_time: 3600

!

!bgp_table_dump_output:json // надо проверять

!

!

! метод сопоставления входящего трафика с source peer ASN. bgp - делает нативный lookup в BGP RIB (предполагая, что трафик симметричный)

bgp_peer_src_as_type: bgp

!

bgp_src_as_path_type: bgp

bgp_src_local_pref_type: bgp

bgp_src_med_type: bgp

!

bgp_follow_default: 1

!