Narzędzia użytkownika

Narzędzia witryny


zsk:netflow

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
zsk:netflow [2017/10/27 19:10]
jkonczak utworzono
zsk:netflow [2017/10/28 09:47] (aktualna)
jkonczak [MRTG]
Linia 1: Linia 1:
-==== Konfiguracja potrzeba do drugiej części ​zajęć ​==== +Tematem przewodnim ​zajęć ​jest zbieranie informacji o ruchu sieciowym. \\
 Do części zajęć przyda się ruch sieciowy wygenerowany w trakcie zajęć. \\ Do części zajęć przyda się ruch sieciowy wygenerowany w trakcie zajęć. \\
 Stąd na początku zajęć skonfiguruj zbieranie informacji o ruchu. Stąd na początku zajęć skonfiguruj zbieranie informacji o ruchu.
  
-  ​- Skonfiguruj ​mikrotik:+==== Konfiguracja potrzeba do drugiej części zajęć ==== 
 + 
 +  ​- Skonfiguruj ​router Mikrotik:
     * stwórz mostek na 2 interfejsach (eth2 i eth3)     * stwórz mostek na 2 interfejsach (eth2 i eth3)
-    * dodaj klienta ​dhcp do eth1 +    * dodaj klienta ​DHCP na interfejsie ​eth1 
-    * dodaj adres IP z sieci lokalnej do mostka +    * dodaj adres IP z wybranej przez siebie ​sieci lokalnej do mostka 
-    * serwer ​dhcp na mostku:+    * uruchom ​serwer ​DHCP na mostku:
       * stwórz pulę adresów w ''​IP''​ / ''​Pool''​       * stwórz pulę adresów w ''​IP''​ / ''​Pool''​
         * dodaj sieć lokalną w ''​IP''​ / ''​DHCP Server''​ / ''​Networks''​ z bramą przez router         * dodaj sieć lokalną w ''​IP''​ / ''​DHCP Server''​ / ''​Networks''​ z bramą przez router
-        * dodaj serwer ​dhcp na mostku przydzielający adresy z wcześniej stworzonej puli +        * dodaj serwer ​DHCP na mostku przydzielający adresy z wcześniej stworzonej puli 
-    * ustaw maskaradęw ''​IP''​ / ''​Firewall''​ / ''​NAT''​ dodaj regułę z celem masquarade ​dla pakietów wychodzących po eth1 +    * ustaw maskaradę ​– w ''​IP''​ / ''​Firewall''​ / ''​NAT''​ dodaj regułę z celem ''​masquerade'' ​dla pakietów wychodzących po eth1 
-    * włącz klienta ​ntp: ''​System''​ / ''​NTP Client''​ +    * włącz klienta ​NTP: ''​System''​ / ''​NTP Client''​ 
-  - Wepnij router między sieć a komputer (lub: dwa komputery)+  - Wepnij router między sieć a komputer (lub: sieć a dwa komputery)
   - Skonfiguruj router tak, żeby wysyłał flowy do dwóch celi:   - Skonfiguruj router tak, żeby wysyłał flowy do dwóch celi:
-     * ''​ip''​ / ''​traffic flow''​ / ''​targets''​ / ''​add''​+    ​* ''​IP''​ / ''​Traffic Flow''​ / ''​Targets''​ / ''​Add'' ​\\ wersja 9, port np. 2055 \\ Uwaga: jeśli używasz jednego komputera, musisz oczywiście wysyłać ruch na różne porty \\ <​html><​small>​(da się wysłać na grupę multicastową,​ ale wymaga to więcej konfiguracji ​kolektorów)</​small></​html>​ 
-    * wersja 9, port np. 2055 \\ Uwaga: jeśli używasz jednego komputera, musisz oczywiście wysyłać ruch na różne porty <​html><​small>​(da się skonfigurować grupę multicastową,​ ale wymaga to więcej konfiguracji)</​small></​html>​ +    * ''​IP''​ / ''​Traffic Flow'':​ zaznacz ​''​enabled''​ 
-    * ''​ip''​ / ''​traffic flow'':​ zaznacz enabled +  - Użyj dockera, aby uruchomić program ​''​nfsen'' ​''​nfcapd'' ​[[https://​hub.docker.com/​r/​koprajs/​nfsen/​]]:<​code>​
-  - Użyj dockera, aby uruchomić program nfsen i nfcapd [[https://​hub.docker.com/​r/​koprajs/​nfsen/​]]:<​code>​+
 systemctl start docker systemctl start docker
 docker pull koprajs/​nfsen docker pull koprajs/​nfsen
Linia 25: Linia 25:
 docker run --detach --name nfsen -e NFSEN_SOURCES="​router,​2055,#​0000ff"​ -p 8080:​80 ​ -p 2055:​2055/​udp -v `pwd`/​nfsenData:/​data koprajs/​nfsen docker run --detach --name nfsen -e NFSEN_SOURCES="​router,​2055,#​0000ff"​ -p 8080:​80 ​ -p 2055:​2055/​udp -v `pwd`/​nfsenData:/​data koprajs/​nfsen
 </​code>​ </​code>​
-  - Zainstaluj i uruchom: <​code>​+  - Zainstaluj i uruchom ​program ''​ntop''​: <​code>​
 zypper addrepo https://​download.opensuse.org/​repositories/​server:/​monitoring/​openSUSE_Leap_42.3/​server:​monitoring.repo zypper addrepo https://​download.opensuse.org/​repositories/​server:/​monitoring/​openSUSE_Leap_42.3/​server:​monitoring.repo
 zypper in ntop zypper in ntop
Linia 32: Linia 32:
 ntop --interface none --http-server 3000 --daemon ntop --interface none --http-server 3000 --daemon
 </​code>​ </​code>​
-  - skonfiguruj program ntop: +  - skonfiguruj program ​''​ntop''​
-    * wejdź w przeglądarce na adres localhost:​3000+    * wejdź w przeglądarce na adres http://localhost:​3000
     * wybierz ''​plugins''​ / ''​netflow''​ / ''​activate''​     * wybierz ''​plugins''​ / ''​netflow''​ / ''​activate''​
     * podaj port i zatwierdź kliknięciem ''​set port''​     * podaj port i zatwierdź kliknięciem ''​set port''​
Linia 41: Linia 41:
 MRTG jest prostym i klasycznym((czytaj:​ bardzo przestarzałym)) narzędziem do zbierania statystyk o natężeniu ruchu sieciowego korzystając z protokołu SNMP. MRTG jest prostym i klasycznym((czytaj:​ bardzo przestarzałym)) narzędziem do zbierania statystyk o natężeniu ruchu sieciowego korzystając z protokołu SNMP.
  
-MRTG periodycznie odpytuje OIDy podane w konfiguracji,​ zbiera dane w bazie danych (np. [[https://​en.wikipedia.org/​wiki/​RRDtool|RRD]] i może na tej podstawie narysować wykresy zużycia łącza. Wykresy są typowo udostępniane ​jako strona ​www.+MRTG periodycznie odpytuje OIDy podane w konfiguracji,​ zbiera dane w bazie danych (np. [[https://​en.wikipedia.org/​wiki/​RRDtool|RRD]]i może na tej podstawie narysować wykresy zużycia łącza. Wykresy są typowo udostępniane ​na stronie ​www.
  
   - Uruchom serwer apache:<​code>​   - Uruchom serwer apache:<​code>​
Linia 62: Linia 62:
 indexmaker /​tmp/​mrtg.cfg > /​srv/​www/​htdocs/​mrtg/​index.html indexmaker /​tmp/​mrtg.cfg > /​srv/​www/​htdocs/​mrtg/​index.html
 wget http://​my14all.sourceforge.net/​14all-1.1.txt -O /​srv/​www/​cgi-bin/​14all.cgi wget http://​my14all.sourceforge.net/​14all-1.1.txt -O /​srv/​www/​cgi-bin/​14all.cgi
-</​code>​ Uwaga: skrypt CGI w OpenSUSE potrzebuje łatki poprawiającej ścieżki do plików:<​code>​+chmod a+x /​srv/​www/​cgi-bin/​14all.cgi 
 +cp /​tmp/​mrtg.cfg /​srv/​www/​cgi-bin 
 +</​code>​ Uwaga: skrypt CGI w OpenSUSE potrzebuje łatki poprawiającej ścieżki do plików:<​code ​diff 01_14all.cgi_opensuse_paths.patch>
 --- 14all.cgi.orig 2017-10-27 11:​45:​40.820157082 +0200 --- 14all.cgi.orig 2017-10-27 11:​45:​40.820157082 +0200
 +++ 14all.cgi 2017-10-27 11:​46:​29.328157992 +0200 +++ 14all.cgi 2017-10-27 11:​46:​29.328157992 +0200
Linia 74: Linia 76:
  # if RRDs (rrdtool perl module) is not in the module search path (@INC)  # if RRDs (rrdtool perl module) is not in the module search path (@INC)
  # uncomment the following line and change the path appropriatly  # uncomment the following line and change the path appropriatly
-</​code>​ + 
-  - Przejrzyj konfgurację MRTG (plik ''/​tmp/​mrtg.cfg''​).+</code><​html><​small></​html>​Automatyczna aplikacja łatki: ''​patch /​srv/​www/​cgi-bin/​14all.cgi < 01_14all.cgi_opensuse_paths.patch''​ <​html></​small></​html
 +  - Przejrzyj konfgurację MRTG (plik ''/​tmp/​mrtg.cfg''​)
     * Jakie OID są używne do odpytywania o zajętość łącza?     * Jakie OID są używne do odpytywania o zajętość łącza?
     * Skąd MRTG wziął nazwy interfejsów i adresy IP?     * Skąd MRTG wziął nazwy interfejsów i adresy IP?
 +  - Podejrzyj wiresharkiem zapytania wygenerowane przez MRTG
   - Wejdź przeglądarką na stworzoną przez siebie stronę: http://​localhost/​mrtg/​   - Wejdź przeglądarką na stworzoną przez siebie stronę: http://​localhost/​mrtg/​
  
Linia 90: Linia 94:
 (adres sieciowy, protokół, numer portu, …) do tego samego celu (adres sieciowy, protokół, numer portu, …). (adres sieciowy, protokół, numer portu, …) do tego samego celu (adres sieciowy, protokół, numer portu, …).
  
-Protokół NetFlow w wyniku rozwoju doczekał się 9 wersji, z których 2 są w tej chwili używane - wersja 5 i 9.+Protokół NetFlow w wyniku rozwoju doczekał się 9 wersji, z których 2 są w tej chwili używane - wersja 5 i 9. \\
 Podobne (często nie do odróżnienia) rozwiązania są używane przez inne firmy produkujące sprzęt sieciowy, np. Podobne (często nie do odróżnienia) rozwiązania są używane przez inne firmy produkujące sprzęt sieciowy, np.
 [[https://​www.juniper.net/​us/​en/​local/​pdf/​app-notes/​3500204-en.pdf|J-Flow]] (Juniper) [[https://​www.juniper.net/​us/​en/​local/​pdf/​app-notes/​3500204-en.pdf|J-Flow]] (Juniper)
Linia 98: Linia 102:
  
 <​html><​small></​html>​ <​html><​small></​html>​
-Inne rozwiązanie do analizy co się dzieje w sieci wykorzystuje próbkowanie ruchu sieciowego – [[https://​en.wikipedia.org/​wiki/​SFlow|sFlow]].+Inne rozwiązanie do analizy co się dzieje w sieci wykorzystuje próbkowanie ruchu sieciowego – [[https://​en.wikipedia.org/​wiki/​SFlow|sFlow]]. ​\\
 NetFlow dostarcza informacji wszystkich przepływach w sieci, natomiast sFlow zbiera próbki ruchu (początki pakietów) i pozwala analizować ich zawartość. NetFlow dostarcza informacji wszystkich przepływach w sieci, natomiast sFlow zbiera próbki ruchu (początki pakietów) i pozwala analizować ich zawartość.
 <​html></​small></​html>​ <​html></​small></​html>​
Linia 108: Linia 112:
  
 Informacje te są eksportowane – wysyłane z użyciem protokołu NetFlow. \\ Informacje te są eksportowane – wysyłane z użyciem protokołu NetFlow. \\
-Protokół NetFlow używa UDP((co pozwala na użycie multicastu)), nie ma jednego standardowego portu.+Protokół NetFlow używa UDP, nie ma jednego standardowego portu.
  
 Informacje są następnie odbierane i gromadzone przez **kolektor**. Informacje są następnie odbierane i gromadzone przez **kolektor**.
Linia 114: Linia 118:
 Zgromadzone dane można analizować odpowiednimi narzędziami. Zgromadzone dane można analizować odpowiednimi narzędziami.
  
-[[http://​etutorials.org/​Networking/​network+management/​Part+II+Implementations+on+the+Cisco+Devices/​Chapter+7.+NetFlow/​Fundamentals+of+NetFlow/​|Szczegółowy opis i różnice między wersjami]] +<​html><​small></​html>​ 
 +Szczegółowy opis działania NetFlow i różnice między wersjami: ​[[http://​etutorials.org/​Networking/​network+management/​Part+II+Implementations+on+the+Cisco+Devices/​Chapter+7.+NetFlow/​Fundamentals+of+NetFlow/​|[1] ]] 
 +[[http://​etutorials.org/​Networking/​network+management/​Part+II+Implementations+on+the+Cisco+Devices/​Chapter+7.+NetFlow/​New+Features+Supported+with+NetFlow+Version+9/​|[2] ]] 
 +<​html></​small></​html>​
 ==== Prosta próba i kolektor ==== ==== Prosta próba i kolektor ====
  
Linia 130: Linia 136:
 </​code>​ </​code>​
   - Generuj ruch sieciowy przez 2 minuty   - Generuj ruch sieciowy przez 2 minuty
-  - Zobacz przy pomocy programu nfdump jak wyglądają zebrane dane: <​code>​+  - Zobacz przy pomocy programu ​''​nfdump'' ​jak wyglądają zebrane dane: <​code>​
 cd /tmp/flows/ cd /tmp/flows/
 nfdump -r nfcapd.… nfdump -r nfcapd.…
-</​code>​ +</​code><​html><​small></​html>​W pliku ''​nfcapd.current.*''​ nie należy spodziewać się zawartości.<​html></​small></​html>​
-<​html><​small></​html>​W pliku ''​nfcapd.current.*''​ nie należy spodziewać się zawartości.<​html></​small></​html>​+
  
 Przykładowy wynik:<​html><​small></​html><​code>​ Przykładowy wynik:<​html><​small></​html><​code>​
Linia 185: Linia 190:
  
   - Przeanalizuj konfigurację kolektora NetFlow programu ntop.   - Przeanalizuj konfigurację kolektora NetFlow programu ntop.
-  - Znajdź:+  - W sebranych danych znajdź:
     * wykres bieżącego użycia sieci     * wykres bieżącego użycia sieci
     * listę połączeń które wymienają najwięcej danych     * listę połączeń które wymienają najwięcej danych
Linia 223: Linia 228:
 ip flow-export destination 150.254.32.68 2055 ip flow-export destination 150.254.32.68 2055
  
-też nie łapie flow na mostku :/+nie łapie flow na mostku :/
  
 show ip cache flow show ip cache flow
zsk/netflow.1509124240.txt.gz · ostatnio zmienione: 2017/10/27 19:10 (edycja zewnętrzna)