Potrzebowałem wyeksportować ruch do analizy w postaci pakietów NetFlow z przełączników, które nie posiadają takiej opcji. Po przeszukaniu Internetu padło na rozwiązanie w postaci serwera z Centos 6 i pakietem Softflowd oraz sklonowaniem całego ruchu(mam nadzieję, że ten zwrot jest poprawny :)) z jednego portu przełącznika na interfejs serwera, który nie ma przypisanego adresu ip z wykorzystaniem port mirroringu na przełączniku.
Serwer wyposażony w 2 karty sieciowe:
- eth0 – interfejs, z którego będą generowane flowy
- eth1 – interfejs do zarządzania serwerem
Konfiguracja Centos 6:
- Instalacja Centos 6 w wersji “Basic Server”
- Konfiguracja eth0
DEVICE="eth0" ONBOOT=yes TYPE=Ethernet BOOTPROTO=no
- Konfiguracja eth1
DEVICE="eth1" ONBOOT=yes TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes
- Wykonanie aktualizacji poleceniem yum update
- Instalacji Development tools poleceniem yum groupinstall Development tools
- Wydanie polecenia yum install *pcap*
- Pobranie Softflowd poleceniem wget http://softflowd.googlecode.com/files/softflowd-0.9.8.tar.gz
- Wypakowanie Softflowd tar xvzf softflowd-0.9.8.tar.gz
- Przejście do katalogu Softflowd poleceniem cd softflowd-0.9.8
- Wydanie polecenia ./configure
- Wydanie polecenia make
- Wydanie polecenia make install
Przełącznik użyty w tym przypadku to 3com 5500G. Port, który będzie monitorowany to GigabitEthernet1/0/1, a port, na który będzie mirrorowany ruch to GigabitEthernet1/0/2.
Konfiguracja przełącznika 5500G:
<5500G>system System View: return to User View with Ctrl+Z. [5500G]interface GigabitEthernet1/0/2 [5500G-GigabitEthernet1/0/2]stp disable [5500G-GigabitEthernet1/0/2]stp edged-port disable [5500G-GigabitEthernet1/0/2]quit [5500G]mirroring-group 1 local [5500G]mirroring-group 1 mirroring-port GigabitEthernet1/0/1 both [5500G]mirroring-group 1 monitor-port GigabitEthernet1/0/2 [5500G]display mirroring-group all mirroring-group 1: type: local status: active mirroring port: GigabitEthernet1/0/1 both monitor port: GigabitEthernet1/0/2 [5500G]
Użycie softflowd
W celu testowego wyeksportowania pakietów NetFlow wydajemy polecenie na serwerze softflowd -i eth1 -m 30 -v 5 -n ip:port -L 64 -D
Aby eksport startował automatycznie po stracie systemu należy dodać do pliku /etc/rc.local linię z poleceniem:
/usr/local/sbin/softflowd -i eth1 -m 30 -v 5 -n ip:port -L 64
Do analizy polecam NetFlow Analyzer lub ntop.
Sklonowanie ruchu raczej nie bedzie poprawnym zwrotem. Mam tez watpliwosc czy bedzie to faktyczny ruch.