Różnice pomiędzy wersjami 1 i 4 (Spinanie 3 wersji)
⇤ ← Wersja 1 z 2018-06-10 16:54:32 →
Rozmiar: 2765
Edytor: wtps0n
Komentarz: *** KREACJA ***
← Wersja 4 z 2018-07-17 14:40:47 → ⇥
Rozmiar: 7994
Edytor: wtps0n
Komentarz: + konfiguracja dla apache, rozbudowa o potrzebne polecenia w systemie, rozbudowa o ręczną instalację modułów systemu, poprawki w panelu webowym
Usunięcia zostały oznaczone w ten sposób. Dodatki zostały oznaczone w ten sposób.
Linia 9: Linia 9:
System FreeBSD posiada możliwość monitorowania netflows za pomocą mechanizmu '''netgraph'''. Bardzo dobrze jest to wyjaśnione System [[https:/www.FreeBSD.org/|FreeBSD|target="_blank"]] posiada możliwość monitorowania netflows za pomocą mechanizmu '''netgraph'''. Bardzo dobrze jest to wyjaśnione na [[https://forums.freebsd.org/threads/howto-monitor-network-traffic-with-netflow-nfdump-nfsen-on-freebsd.49724/|forum|target="_blank"]] [[https:/www.FreeBSD.org/|FreeBSD|target="_blank"]].
Linia 17: Linia 17:
== Ręczna instalacja bibliotek, modułów oraz programów ==
Jeżeli nie została zablokowana opcja w pliku `/etc/src.conf`, to można ręcznie dograć potrzebne moduły, biblioteki do systemu:
{{{#!highlight bash numbers=off
cd /usr/src/lib/libnetgraph/
make all install

cd /usr/src/sys/modules/netgraph
make all install

cd /usr/src/usr.sbin/ngctl
make all install
}}}

Po zainstalowaniu wszystkich potrzebnych rzeczy, można przejść dalej do komnfigurowania systemu.

== /boot/loader.conf ==
Odpowiednie moduły powinien już załadować skrypt startowy `ng_netflow`, ale można dopisać do [[LoaderConf|konfiguracji bootowania]]:
{{{#!highlight bash numbers=off
# NetGraph
netgraph_load="YES"
ng_netflow_load="YES"
ng_ksocket_load="YES"
ng_ether_load="YES"
}}}

== Wgranie modułów ręcznie ==
{{{#!highlight bash numbers=off
kldload netgraph ng_netflow ng_ksocket ng_ether
}}}

== Zainstalowanie pakietów ==
Za pomocą własnego [[PoudriereBinaryPkg|repozytorium pakietów]] należy zainstalować potrzebne pakiety (nfdump zostanie doinstalowany jako zależność)
{{{#!highlight bash numbers=off
pkg install -Uy nfsen
}}}
Linia 18: Linia 54:
Ze względu na fakt, że syslog facility ''local3'' jest wykorzystywany przez bazę [[SerwerBazDanychPgsql|PostgreSQL]], zatem trzeba zmienić, aby mieć logi w `/var/log/messages` lub innym dedykowanym pliku.
Linia 22: Linia 60:
--- /usr/local/etc/nfsen-dist.conf 2018-06-10 18:08:03.000000000 +0200
+++ /usr/local/etc/nfsen.conf 2018-06-10 18:22:02.532974000 +0200
--- /usr/local/etc/nfsen-dist.conf 2018-07-11 22:14:08.000000000 +0200
+++ /usr/local/etc/nfsen.conf 2018-07-17 16:20:41.493438000 +0200
Linia 48: Linia 86:
@@ -183,7 +181,7 @@ $low_water = 90;
 # Note: nfsen is very chatty for level 'debug' and 'info'
 # For normal operation, you may set the logging level in syslog.conf
 # to warning or error unless you want to debug NfSen
-$syslog_facility = 'local3';
+$syslog_facility = 'local4';

 #
 # SYSLOG mess
Linia 54: Linia 101:

 # Use this SMTP server
 $SMTP_SERVER = 'localhost';
Linia 60: Linia 110:
Jeżeli zostały wykonane zmiany w nfsen.conf, to trzeba również poprawić skrypt startowy (powinna być zmienna deklarowana na początku i nic nie trzeba by zmieniać):
{{{#!highlight diff numbers=off
--- /usr/local/etc/rc.d/nfsen.orig 2018-06-10 18:08:03.000000000 +0200
+++ /usr/local/etc/rc.d/nfsen 2018-06-10 18:19:43.650752000 +0200
@@ -32,10 +32,10 @@ nfsen_start_precmd()
        # the perl install script that we're bypassing.
        # It also is better because you don't have to reinstall
        # to get this file back
- if [ ! -e /usr/local/var/nfsen/profiles-stat/live/profile.dat ]; then
+ if [ ! -e /var/db/nfsen/profiles-stat/live/profile.dat ]; then
                time=$(/bin/date +%s);
                timeu=$(/bin/expr $time - 300);
- profile_dat=/usr/local/var/nfsen/profiles-stat/live/profile.dat
+ profile_dat=/var/db/nfsen/profiles-stat/live/profile.dat
                /usr/bin/printf "name = live
                group = .
                tbegin = $time

}}}
Linia 64: Linia 133:
#ng_netgraph_iface="em0" # warto/s/c domy/slna
}}}

Dodatkowo za pomocą własnego [[UniMaster|repozytorium skryptów]] należy zainstalować konfigurację startową dla nfsen, albo też zmodyfikować sam plik `/etc/rc.conf`:
{{{#!highlight bash numbers=off
nfsen_enable="YES"
nfsen_chdir="/var/db/nfsen"
nfsen_user="www"
}}}

== Wykonanie potrzebnych katalogów ==
{{{#!highlight bash numbers=off
su -m www -c "mkdir -p /var/db/nfsen/profiles-data/live/"
su -m www -c "mkdir -p /var/db/nfsen/profiles-stat/live/"
mkdir -p /var/run/nfsen
chown www:www /var/run/nfsen
}}}

== Rekonfiguracja nfsen ==
Po wykonaniu zmian w pliku startowym dla nfsen, trzeba wykonać jego konfigurację:
{{{#!highlight bash numbers=off
nfsen reconfig
}}}

== Aktualizacja bazy dla pkg ==
Modyfikacja pliku startowego wymaga, aby poprawić bazę sum kontrolnych plików dla `pkg`:
{{{#!highlight bash numbers=off
pkg check -r nfsen
}}}

= Uruchomienie potrzebnych usług =
{{{#!highlight bash numbers=off
service ng_netflow start
service nfsen start
}}}

= Uruchomienie panelu webowego =

== apache24 ==
Za pomocą własnego [[UniMaster|repozytorium skryptów]] należy zainstalować plik konfiguracyjny `019-nfsen.conf`. W konfiguracji globalnej lub danego wirtualnego hosta należy dodać konfigurację:
{{{#!highlight apache numbers=off
    Alias /nfsen/ /usr/local/www/nfsen/
}}}
a następnie wykonać przeładowanie serwera ''httpd''.

== nginx ==
Za pomocą własnego [[UniMaster|repozytorium skryptów]] należy zainstalować plik konfiguracyjny `019-nfsen.conf`, a następnie dołączyć go w konfiguracji wirtualnego serwera.

Ponieważ pakiet [[https://sourceforge.net/projects/nfsen/|nfsen|target="_blank"]] może doinstalować w ramach zależności moduł ''phpNN-sockets'', zatem warto wykonać restart usług:
{{{#!highlight bash numbers=off
service php-fpm restart
service nginx restart
}}}

== Modyfikacja pliku konfiguracyjnego ==
W pliku `/usr/local/www/nfsen/conf.php` należy zmienić ścieżkę:
{{{#!highlight php numbers=off
$COMMSOCKET = "/var/run/nfsen/nfsen.comm"
Linia 68: Linia 195:
 * [[url2||target="_blank"]]
 * [[url3||target="_blank"]]
 * [[https://sourceforge.net/projects/nfsen/||target="_blank"]]
 * [[https://github.com/phaag/nfdump||target="_blank"]]

{{{#!wiki comment
Linia 72: Linia 201:
{{{#!wiki comment

Wydrukuj tę dokumentację Pokaż jako slajdy

Konfiguracja moniforingu Netflows

System FreeBSD posiada możliwość monitorowania netflows za pomocą mechanizmu netgraph. Bardzo dobrze jest to wyjaśnione na forum FreeBSD.

Włączenie netgraph w systemie

Z konfiguracji do źródeł należy zablokować linie, które powodują pominięcie budowania netgraph:

##WITHOUT_NETGRAPH=     true

Ręczna instalacja bibliotek, modułów oraz programów

Jeżeli nie została zablokowana opcja w pliku /etc/src.conf, to można ręcznie dograć potrzebne moduły, biblioteki do systemu:

cd /usr/src/lib/libnetgraph/
make all install

cd /usr/src/sys/modules/netgraph
make all install

cd /usr/src/usr.sbin/ngctl
make all install

Po zainstalowaniu wszystkich potrzebnych rzeczy, można przejść dalej do komnfigurowania systemu.

/boot/loader.conf

Odpowiednie moduły powinien już załadować skrypt startowy ng_netflow, ale można dopisać do konfiguracji bootowania:

# NetGraph
netgraph_load="YES"
ng_netflow_load="YES"
ng_ksocket_load="YES"
ng_ether_load="YES"

Wgranie modułów ręcznie

kldload netgraph ng_netflow ng_ksocket ng_ether

Zainstalowanie pakietów

Za pomocą własnego repozytorium pakietów należy zainstalować potrzebne pakiety (nfdump zostanie doinstalowany jako zależność)

pkg install -Uy nfsen

Zmiany w nfsen.conf

Ze względu na fakt, że syslog facility local3 jest wykorzystywany przez bazę PostgreSQL, zatem trzeba zmienić, aby mieć logi w /var/log/messages lub innym dedykowanym pliku.

diff -udp /usr/local/etc/nfsen-dist.conf /usr/local/etc/nfsen.conf

--- /usr/local/etc/nfsen-dist.conf      2018-07-11 22:14:08.000000000 +0200
+++ /usr/local/etc/nfsen.conf   2018-07-17 16:20:41.493438000 +0200
@@ -44,10 +44,10 @@ $DOCDIR="${HTMLDIR}/doc";

 #
 # Var space for NfSen
-$VARDIR="${BASEDIR}/var/nfsen";
+$VARDIR="/var/db/nfsen";

 # directory for all pid files
-# $PIDDIR="$VARDIR/run";
+$PIDDIR="/var/run/nfsen";
 #
 # Filter directory
 # FILTERDIR="${VARDIR}/filters";
@@ -166,9 +166,7 @@ $PROFILERS = 6;
 # Ident strings must be 1 to 19 characters long only, containing characters [a-zA-Z0-9_].

 %sources = (
-    'upstream1'    => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
-    'peer1'        => { 'port' => '9996', 'IP' => '172.16.17.18' },
-    'peer2'        => { 'port' => '9996', 'IP' => '172.16.17.19' },
+    'freebsd'    => { 'port' => '4444', 'col' => '#0000ff', 'type' => 'netflow' },
 );

 #
@@ -183,7 +181,7 @@ $low_water = 90;
 # Note: nfsen is very chatty for level 'debug' and 'info'
 # For normal operation, you may set the logging level in syslog.conf
 # to warning or error unless you want to debug NfSen
-$syslog_facility = 'local3';
+$syslog_facility = 'local4';

 #
 # SYSLOG mess
@@ -239,7 +237,7 @@ $syslog_facility = 'local3';
 #
 # Alert module: email alerting:
 # Use this from address
-$MAIL_FROM   = 'your@from.example.net';
+$MAIL_FROM   = 'root@bsdserwis.com';

 # Use this SMTP server
 $SMTP_SERVER = 'localhost';

Instalacja skryptów startowych

Za pomocą własnego repozytorium skryptów instalujemy skrypt startowy dla netgraph: /usr/local/etc/rc.d/ng_netflow

Modyfikacja skryptów startowych

Jeżeli zostały wykonane zmiany w nfsen.conf, to trzeba również poprawić skrypt startowy (powinna być zmienna deklarowana na początku i nic nie trzeba by zmieniać):

--- /usr/local/etc/rc.d/nfsen.orig      2018-06-10 18:08:03.000000000 +0200
+++ /usr/local/etc/rc.d/nfsen   2018-06-10 18:19:43.650752000 +0200
@@ -32,10 +32,10 @@ nfsen_start_precmd()
        # the perl install script that we're bypassing.
        # It also is better because you don't have to reinstall
        # to get this file back
-       if [ ! -e /usr/local/var/nfsen/profiles-stat/live/profile.dat ]; then
+       if [ ! -e /var/db/nfsen/profiles-stat/live/profile.dat ]; then
                time=$(/bin/date +%s);
                timeu=$(/bin/expr $time - 300);
-               profile_dat=/usr/local/var/nfsen/profiles-stat/live/profile.dat
+               profile_dat=/var/db/nfsen/profiles-stat/live/profile.dat
                /usr/bin/printf "name = live
                group = .
                tbegin = $time

Zmiany w rc.conf

ng_netgraph_enable="YES"
#ng_netgraph_iface="em0" # warto/s/c domy/slna

Dodatkowo za pomocą własnego repozytorium skryptów należy zainstalować konfigurację startową dla nfsen, albo też zmodyfikować sam plik /etc/rc.conf:

nfsen_enable="YES"
nfsen_chdir="/var/db/nfsen"
nfsen_user="www"

Wykonanie potrzebnych katalogów

su -m www -c "mkdir -p /var/db/nfsen/profiles-data/live/"
su -m www -c "mkdir -p /var/db/nfsen/profiles-stat/live/"
mkdir -p /var/run/nfsen
chown www:www /var/run/nfsen

Rekonfiguracja nfsen

Po wykonaniu zmian w pliku startowym dla nfsen, trzeba wykonać jego konfigurację:

nfsen reconfig

Aktualizacja bazy dla pkg

Modyfikacja pliku startowego wymaga, aby poprawić bazę sum kontrolnych plików dla pkg:

pkg check -r nfsen

Uruchomienie potrzebnych usług

service ng_netflow start
service nfsen start

Uruchomienie panelu webowego

apache24

Za pomocą własnego repozytorium skryptów należy zainstalować plik konfiguracyjny 019-nfsen.conf. W konfiguracji globalnej lub danego wirtualnego hosta należy dodać konfigurację:

    Alias /nfsen/ /usr/local/www/nfsen/

a następnie wykonać przeładowanie serwera httpd.

nginx

Za pomocą własnego repozytorium skryptów należy zainstalować plik konfiguracyjny 019-nfsen.conf, a następnie dołączyć go w konfiguracji wirtualnego serwera.

Ponieważ pakiet nfsen może doinstalować w ramach zależności moduł phpNN-sockets, zatem warto wykonać restart usług:

service php-fpm restart
service nginx restart

Modyfikacja pliku konfiguracyjnego

W pliku /usr/local/www/nfsen/conf.php należy zmienić ścieżkę:

$COMMSOCKET = "/var/run/nfsen/nfsen.comm"

Źródła w sieci internet


{i}  (c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

NetGraph (ostatnio edytowane 2018-09-16 21:26:43 przez wtps0n)