1. Overzicht
Je moet de volgende zaken opleveren:
-
Begrip en opbouw van een klein netwerk
-
Maken van een eenvoudige netwerktekeing
-
Documenteren van je werk
-
Inrichten van een PFSense router met basis instellingen
-
Inrichten van een eenvoudige webserver (CLI)
-
Inrichten van een eenvoudige fileserver (CLI)
-
Inrichten van een eenvoudige Monitoring server (CLI)
-
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
-
Kloon je nieuwe VMWare Debian Linux werkstation (=VDLW)
-
Open een Terminal. (R.klik ergens op het bureaublad en kies in het menu "Terminal")
-
Controleer eerst je NIC (Netwerk adapter) naam. Eentje heeft de standaard naam
lo
en de andere heet waarschijnlijkens33
ofenp0s3
-
Tik:
nano /etc/network/interfaces
-
Neem de gegevens hieronder over en plak ze onder de
lo
declaraties -
Sluit het bestand met CTRL+X en daarna Y
-
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
-
Open je terminal weer als
root
gebruiker -
Tik:
hostnamectl set-hostname wwwsrv
4.4. Webserver installeren
-
Open je terminal
-
Controleer of je
root
bent -
Tik eerst: apt update
-
Voer upgrades uit met
apt upgrade
-
Als dat klaar is tik je:
apt install apache2
-
Tik op
Enter
wanneer je de[Y\n]
prompt ziet -
Open een webbrowser en tik in:
localhost
. Als het goed is zie je nu de startpagina van Apache. -
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.
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
-
Open een terminal en zorg ervoor dat je root bent:
su
-
Installeer
samba
als root:apt install samba
-
Installeer ook pakketten voor het verbinden met de samba share:
apt install samba-client cifs-utils
-
Installeer een verkenner, zodat je straks via de GUI een verbinding kunt maken:
apt install thunar
-
Bepaal een plaats in je systeem, waar de nieuwe share komt: `mkdir /home/<user>/MyFiles
-
Open het bestand
/etc/samba/smb.conf
-
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
-
Herstart samba:
systemctl restart smbd
-
Maak een nieuwe sambagebruiker aan:
smbpasswd -a joebridge
-
Het wachtwoord wat je in moet voeren, gebruik je om toegang te krijgen tot de share. Dit is
jb1945$$
-
Herstart de Samba service nog eens.
-
Test nu of je met een verkenner de share kunt koppelen: Tik in de terminal:
thunar
-
Kijk in de directory
/home/<user>/share
en test of je er een bestand in aan kunt maken en verwijderen. -
Test de connectie ook met
smbclient //192.168.100.3/myfiles -U joebridge
-
Probeer nu met een Windows machine hetzelfde te doen. Gebruik de optie
Map Network drive
-
Typ in de adresbalk:
\\192.168.100.3\myfiles
-
Vink
Use different credentials
aan. Belangrijk! -
Bij gebruiker tik je
joebridge
en bij passwordjb1945$$
-
Vink ook
Reconnect at login
aan. -
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.
-
apt update
-
apt install -y mariadb-server mariadb-client
Pas een paar tweaks
toe, zodat je server beter presteert.
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:
/* 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:
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
.
6.8. Cacti installatie voorbereiden
6.8.1. Wachtwoord aanpassen
Na het inloggen in Cacti, moet je je admin 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.
6.8.4. Primary server
Selecteer New primary server
wanneer je in het onderstaande venster terechtkomt.
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.
6.8.6. 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.
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.
6.8.9. Bevestigen
Nu krijg je een scherm waarin je de installatie moet bevestigen.
6.8.10. Installatie
Volg de installatievoortgang in het onderstaande scherm:
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:
6.9.3. Verbruiksstatistieken van je server
Ga naar >>Default Tree>>Local Linux Machine om de verbruiksstatistieken van de Cacti server te bekijken.
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