Raspberry Pi を Netflow Capture として使う

Raspberry Pi を Netflow Capture として使う

前回は、Netflow対応機器がない場合でも Vyosで手軽に Netflow を取得できる話でした。 kodamap.hatenablog.com

今回は Raspberry Pi を使って Netflow をCaptureする方法です。

参考サイト: NetFlow probe using Raspberry

https://blog.pandorafms.org/netflow-probe-using-raspberry/

L2SWの Port Mirroring を有効にして ターゲットポート を Raspberry Pi の 有線ポート(eth0(*))と接続します。

netflow dashboard

  1. Raspberry pi で パケットを Netflow Capture フローを生成 , Logstash へ 送る
  2. Logstash で 解析して Elasticsearch に送る 
  3. Elasticsearch にデータを格納する
  4. kibana で可視化する

(*) 現状(2017/7現在) Raspberry では 1Gbpsのポートがありません。USBも2.0。 Raspberry pi has no 1Gpbs NIC and USB 2.0 interfaces.

今回使ったもの

Tools Role
Raspberry Pi Zero W (RASPBIAN JESSIE LITE) Netflow capture and prober
Buffalo USB LAN adapter 1Gpbs NIC (*)
Netgear GS105E L2SW (port mirroring enabled)
Logstash(5.5.0) Netflow collector
Elasticsearch(5.5.0) Search engine
Kibana(5.5.0) Virtualizer

Install and Configure (fprobe)

  • install
sudo apt install fprobe
sudo apt install nfdump
  • configure
sudo vi /etc/default/fprobe
#fprobe default configuration file

#INTERFACE="wlan0"
INTERFACE="eth0"
FLOW_COLLECTOR="<Netflow Collector IP>:2055 127.0.0.1:9995"

#fprobe can't distinguish IP packet from other (e.g. ARP)
OTHER_ARGS="-fip"
  • modify /etc/rc.local

起動時にIPアドレス割り当てをflushする

ip addr flush dev eth0

こんな感じになりました。

netflow raspz