1. Overzicht

Je moet de volgende zaken opleveren:

  1. Begrip en opbouw van een klein netwerk

  2. Maken van een eenvoudige netwerktekeing

  3. Documenteren van je werk

  4. Inrichten van een PFSense router met basis instellingen

  5. Inrichten van een eenvoudige webserver (CLI)

  6. Inrichten van een eenvoudige fileserver (CLI)

  7. Inrichten van een eenvoudige Monitoring server (CLI)

  8. Gebruik een Linux GUI met browser om je servers te testen

2. De instellingen van VMWare voor je router

Stel op de LAN adapter geen DHCP in. Dus: deze NIC mag geen adressen uitdelen. .NIC’s (Netwerkkaarten in VMWare)

Connectie

Type

Ip

WAN

NAT

Via DHCP VMWare

LAN

LAN Segment ("reparatie")

192.168.100.1

3. Debian Linux werkstation maken

Maak ze volgens deze procedure:
1. Maak een snel Linux werkstation 2. Maak direct een clone van deze machine, zodat je niet steeds opnieuw de installatiestappen hoeft te doen.

4. Debian Linux werkstation configuratie

4.1. Netwerkinstellingen

  1. Kloon je nieuwe VMWare Debian Linux werkstation (=VDLW)

  2. Open een Terminal. (R.klik ergens op het bureaublad en kies in het menu "Terminal")

  3. Controleer eerst je NIC (Netwerk adapter) naam. Eentje heeft de standaard naam lo en de andere heet waarschijnlijk ens33 of enp0s3

  4. Tik: nano /etc/network/interfaces

  5. Neem de gegevens hieronder over en plak ze onder de lo declaraties

  6. Sluit het bestand met CTRL+X en daarna Y

  7. Herstart je netwerk met het cmd systemctl restart networking

auto ens33
iface ens33 inet static
address 192.168.100.7
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 192.168.100.1

4.2. Testen connectiviteit

We gaan kijken of je met je nieuwe machine connectiviteit hebt 1. Eerst naar PFSense pingen: ping 192.168.100.1 2. Wanneer de test bij 1. slaagt, gaan we kijken of je buiten je LAN kunt pingen: ping 8.8.8.8 3. Als ook deze test slaagt, weet je dat er connectiviteit met internet is. 4. Kijk nu of je DNS van PFSense goed werkt. dit kun je doen door: ping g.cn

4.3. Hostname instellen

  1. Open je terminal weer als root gebruiker

  2. Tik: hostnamectl set-hostname wwwsrv

4.4. Webserver installeren

  1. Open je terminal

  2. Controleer of je root bent

  3. Tik eerst: apt update

  4. Voer upgrades uit met apt upgrade

  5. Als dat klaar is tik je: apt install apache2

  6. Tik op Enter wanneer je de [Y\n] prompt ziet

  7. Open een webbrowser en tik in: localhost. Als het goed is zie je nu de startpagina van Apache.

  8. Open vanaf een client, die in hetzelfde subnet zit ook een webbrowser en tik: 192.168.100.7. Je krijgt weer de Apache info pagina te zien.

Je webserver werkt!

Al met al betekent dit dat je webserver werkt!

5. De fileserver

5.1. Filmpje setup fileserver

5.2. Klonen van een "schone" machine

Maak een clone van een schone Debian machine

5.3. Netwerkinstellingen

auto ens33
iface ens33 inet static
address 192.168.100.3
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 192.168.100.1
  1. Open een terminal en zorg ervoor dat je root bent: su

  2. Installeer samba als root: apt install samba

  3. Installeer ook pakketten voor het verbinden met de samba share: apt install samba-client cifs-utils

  4. Installeer een verkenner, zodat je straks via de GUI een verbinding kunt maken: apt install thunar

  5. Bepaal een plaats in je systeem, waar de nieuwe share komt: `mkdir /home/<user>/MyFiles

  6. Open het bestand /etc/samba/smb.conf

  7. Maak een nieuwe share aan (zie voorbeeld hieronder)

Tussen < > vul je de gebruiker van je systeem in.

[myfiles]
    comment = A new share
    path = /home/<user>/myfiles
    browseable = yes
    read only = no
    guest ok = no
    valid users = joebridge
  1. Herstart samba: systemctl restart smbd

  2. Maak een nieuwe sambagebruiker aan: smbpasswd -a joebridge

  3. Het wachtwoord wat je in moet voeren, gebruik je om toegang te krijgen tot de share. Dit is jb1945$$

  4. Herstart de Samba service nog eens.

  5. Test nu of je met een verkenner de share kunt koppelen: Tik in de terminal: thunar

  6. Kijk in de directory /home/<user>/share en test of je er een bestand in aan kunt maken en verwijderen.

  7. Test de connectie ook met smbclient //192.168.100.3/myfiles -U joebridge

  8. Probeer nu met een Windows machine hetzelfde te doen. Gebruik de optie Map Network drive

  9. Typ in de adresbalk: \\192.168.100.3\myfiles

  10. Vink Use different credentials aan. Belangrijk!

  11. Bij gebruiker tik je joebridge en bij password jb1945$$

  12. Vink ook Reconnect at login aan.

  13. Test de permissies door een bestand aan te maken, te wijzigen en te verwijderen.

6. Monitoring server Cacti

6.1. Installatie filmpje Cacti

6.2. Klonen van een "schone" machine

Maak een clone van een schone Debian machine

6.3. Netwerkinstellingen

auto ens33
iface ens33 inet static
address 192.168.100.16
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 192.168.100.1

6.4. Installatie van MariaDb

Voer alle commando’s uit als root user.

  1. apt update

  2. apt install -y mariadb-server mariadb-client

Pas een paar tweaks toe, zodat je server beter presteert.

Tik: nano /etc/mysql/mariadb.conf.d/50-server.cnf

Voeg toe aan de [mysqld] sectie, of maak de sectie zelf aan onderin het bestand.

collation-server = utf8mb4_unicode_ci
character-set-server  = utf8mb4
max_heap_table_size = 128M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 1GB
innodb_buffer_pool_instances = 10
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000

6.5. Installeer Apache2

apt install -y apache2 libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp php-mysql

Om te functioneren heeft Cacti een correcte tijdszone instelling nodig:

Open:
nano /etc/php/7.3/apache2/php.ini

Voeg toe of wijzig:

date.timezone = Europe/Amsterdam
memory_limit = 512M
max_execution_time = 60

Voeg/wijzig dezelfde regels als hierboven toe aan het bestand

Open:
nano /etc/php/7.3/cli/php.ini

Omdat Cacti met het Simple network message protocol (SNMP) werkt, hebben we een aantal pakketen nodig om het te laten werken:

apt install -y snmp php-snmp rrdtool librrds-perl

Herstart nu mariadb en apache2:

systemctl restart mariadb apache2

6.6. Database aanmaken

Maak de Cacti database aan:

mysql -u root -p

Voer de volgende commando’s uit. (Vergeet een commando niet af te sluiten met ; Op de plaats van `cactipassword' kun je ook een eigen wachtwoord invoeren.

create database cacti;
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
flush privileges;
exit;

Importeer de database met tijdszones in de Cacti database:

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql

Zorg nu dat je als gebruiker van de timezone database ook lees en schrijfrechten krijgt:

mysql -u root -p
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
flush privileges;
exit;

6.7. Cacti

Download de meest recente stable release van Cacti:

wget https://www.cacti.net/downloads/cacti-latest.tar.gz

Pak het bestand uit en verplaats de cacti folder naar de /opt directory:

tar -zxvf cacti-latest.tar.gz
mv cacti-1* /opt/cacti/

Importeer de default Cacti database

mysql -u root -p cacti < /opt/cacti/cacti.sql

Pas nu in het bestand config.php je gebruikersnaam en de database aan:

nano /opt/cacti/include/config.php
/* Zorg ervoor dat de gebruikersnaam en wachtwoord overeenkomen met de  database die je eerder had ingesteld voor de `host` de `user` en het `password` */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipassword";
$database_port = "3306";
$database_ssl = false;

Om de 5 minuten tijd moet cacti een actie uitvoeren. Dat stellen we hier in:

nano /etc/cron.d/cacti

Voeg de volgende regel toe aan het bestand:

*/5 * * * * www-data php /opt/cacti/poller.php > /dev/null 2>&1

Om de installatie op afstand te kunnen voltooien, moet we enkele aanpassingen in Cacti doen:

nano /etc/apache2/sites-available/cacti.conf
Alias /cacti /opt/cacti

  <Directory /opt/cacti>
      Options +FollowSymLinks
      AllowOverride None
      <IfVersion >= 2.3>
      Require all granted
      </IfVersion>
      <IfVersion < 2.3>
      Order Allow,Deny
      Allow from all
      </IfVersion>

   AddType application/x-httpd-php .php

<IfModule mod_php.c>
      php_flag magic_quotes_gpc Off
      php_flag short_open_tag On
      php_flag register_globals Off
      php_flag register_argc_argv On
      php_flag track_vars On
      # this setting is necessary for some locales
      php_value mbstring.func_overload 0
      php_value include_path .
 </IfModule>

  DirectoryIndex index.php
</Directory>

Zorg ervoor dat de configuratie actief wordt: a2ensite cacti

En herstart Apache2: systemctl reload apache2

Geef Apache2 uitvoeringsrechten op je webserver: chown -R www-data:www-data /opt/cacti/

Tot slot moet je er nog voor zorgen, dat Cacti naar logfiles kan schrijven: touch /opt/cacti/log/cacti.log

Nu kun je Cacti in je webbrowser opvragen:

Tik in de adresbalk: http://localhost/cacti (Dit kan alleen wanneer je de browser gebruikt van de machine waarop Cacti geinstalleerd is.

Werk je vanaf een ander systeem? Open dan een browser en tik het ip adres van de machine, waar Cacti op draait:

Bijvoorbeeld:

Gebruikersnaam en wachtwoord om binnen te komen is: admin en admin.

Inlogpagina Cacti

6.8. Cacti installatie voorbereiden

6.8.1. Wachtwoord aanpassen

Na het inloggen in Cacti, moet je je admin wachtwoord aanpassen.

Wachtwoord aanpassen

6.8.2. Accepteer licentie

Klik okee om de Cacti licentie te accepteren. Dit kun je rustig doen, het gaat om een GNU licentie, waarbij je in feite gestimuleerd wordt om dit programma verder te publiceren. Er zijn geen kosten aan verbonden en er worden ook geen 'Calling Home' technieken gebruikt.[1]

Onder de licentie overeenkomst heb je de mogelijkheid om een thema voor de Cacti omgeving te kiezen.

6.8.3. Pre installation check

Cacti gaat nu verder. Het inspecteert of je systeem aan alle vereisten voor Cacti voldoet. Je moet eventuele problemen oplossen.

Installatie vereisten onderzoeken

6.8.4. Primary server

Selecteer New primary server wanneer je in het onderstaande venster terechtkomt.

Primary server

6.8.5. Overzicht pakketinstallatie

Via het onderstaande scherm krijg je in beeld welke pakketten nog nodig zijn. Alles met een groene 'thumbs up' is aanwezig op je systeem en correct geinstalleerd.

Pakketoverzicht

6.8.6. Cron instellingen

Cron instellingen In dit scherm kun je je cron instellingen nog eens bekijken. Cron is in Linux een soort timer. Door regels in een cron bestand kun je een bepaalde taak om de zoveel tijd laten uitvoeren.

6.8.7. Templates

Selecteer in het volgende scherm de templates, die je wilt activeren. Wanneer je alles selecteer is dat prima. Het is niet nodig echter om de Windows template te activeren wanneer je op Linux werkt.

Templates selecteren

6.8.8. Samenvatiing

Je krijgt een samenvatting van de installatie in beeld. Je hoeft daar verder niet zoveel mee te doen. Klik op Next. Samenvatting

6.8.9. Bevestigen

Nu krijg je een scherm waarin je de installatie moet bevestigen.

Confirm

6.8.10. Installatie

Volg de installatievoortgang in het onderstaande scherm:

Installatievoorgang

6.8.11. Afronding

Na enige tijd, zal de installatie afgerond zijn. Wacht dit rustig af.

6.9. Cacti configuratie

6.9.1. Cacti toegang

Wanneer de installatie is afgerond, kun je via je browser toegang krijgen tot de Cacti interface. Gebruik daarvoor http://localhost/cacti, wanneer de cacti installatie, zich op deze computer bevindt. Gebruik anders het ip adres van de computer waarop je cacti hebt draaien. Vb. http://192.168.100.1/cacti

6.9.2. Dashboard

Het Cacti dashboard ziet er ogeveer zo uit:

Cacti dashboard

6.9.3. Verbruiksstatistieken van je server

Ga naar >>Default Tree>>Local Linux Machine om de verbruiksstatistieken van de Cacti server te bekijken.

Voorbeeld van de verbruiksstatistieken

7. Bron

Voor deze reader heb ik intensief gebruik gemaakt van: How To Install Cacti on Debian 10 / Debian 9 – A Monitoring Tool, Author: Raj

8. Meer weten?

Wil je alles uit Cacti halen? Lees dan verder op: How to Monitor Remote Linux Servers with Cacti, Author: Raj


1. Calling Home: wanneer software vanaf de gebruikers pc informatie over prestaties terug stuurt naar de ontwikkelaar(s)