Inloggen
Inloggen

Hoe je poorten opent en open poorten bekijkt in Linux

Hoe je poorten opent en open poorten bekijkt in Linux
Hostman Team
Technisch schrijver
Linux-systeem Netwerktechnologie
10.10.2025
Reading time: 6 min

Bij het werken met netwerken in Linux kan het nodig zijn een netwerkpoort te openen of te sluiten. Poortbeheer is essentieel voor de beveiliging: hoe minder poorten een systeem open heeft, hoe minder potentiële aanvalsvectoren er zijn. Bovendien kan een aanvaller geen informatie verzamelen over de service die op een specifieke poort draait als deze gesloten is.

Deze gids legt uit hoe je poorten opent of sluit en hoe je open poorten controleert op Linux-distributies zoals Ubuntu/Debian en CentOS/RHEL met behulp van firewalls zoals ufw, firewalld en iptables.

We demonstreren dit proces op twee Linux-distributies: Ubuntu 22.04 en CentOS 9, draaiend op een Hostman VPS. Alle hier gegeven commando’s werken op elke Debian- of RHEL-gebaseerde distributie.

Wat is een netwerkpoort?

Poorten worden gebruikt om toegang te krijgen tot specifieke applicaties en protocollen. Een server kan bijvoorbeeld zowel een webserver als een database hosten — poorten leiden het verkeer naar de juiste service. Technisch gezien is een netwerkpoort een niet-negatief geheel getal tussen 0 en 65535.

  • Gereserveerde poorten (0–1023): Gebruikt door bekende protocollen en netwerkservices zoals SSH (poort 22), FTP (poort 21), HTTP (poort 80) en HTTPS (poort 443).

  • Geregistreerde poorten (1024–49151): Kunnen worden gebruikt door specifieke applicaties voor communicatie.

  • Dynamische poorten (49152–65535): Worden gebruikt voor tijdelijke verbindingen en kunnen dynamisch worden toegewezen aan applicaties.

Poorten openen op Debian-gebaseerde Linux-distributies

Op Debian-gebaseerde systemen (Ubuntu, Debian, Linux Mint, enz.) kun je ufw (Uncomplicated Firewall) gebruiken.

ufw is vooraf geïnstalleerd op de meeste APT-gebaseerde distributies. Controleer of het is geïnstalleerd:

ufw version

Als een versie wordt weergegeven, is ufw geïnstalleerd. Zo niet, installeer het dan met:

apt update && apt -y install ufw

Standaard is ufw inactief, wat betekent dat alle poorten open zijn. Je kunt de status controleren met:

ufw status

Om het te activeren:

ufw enable

Je moet bevestigen met y. Houd er rekening mee dat het inschakelen van ufw actieve SSH-verbindingen kan onderbreken. Standaard blokkeert ufw al het inkomende verkeer en staat al het uitgaande verkeer toe.

Om het standaardbeleid te controleren:

cat /etc/default/ufw

Image7

Poorten openen met ufw

Om een poort te openen:

ufw allow <port_number>

Voorbeeld — poort 22 openen voor SSH:

ufw allow 22

Je kunt meerdere poorten openen door ze te scheiden met komma’s en het protocol (tcp of udp) te specificeren:

ufw allow 80,443,8081,8443/tcp
ufw allow 80,443,8081,8443/udp

In plaats van poortnummers kun je ook de servicenaam gebruiken (zoals gedefinieerd in /etc/services). 

Image8

Voorbeeld — Telnet (poort 23) openen:

ufw allow telnet

Opmerking: Je kunt niet meerdere servicenames tegelijk specificeren; anders geeft ufw een foutmelding:

Image1 (1)

Om een poortbereik te openen:

ufw allow <start_port>:<end_port>/<protocol>

Voorbeeld:

ufw allow 8000:8080/tcp

Poorten sluiten met ufw

Om een poort te sluiten:

ufw deny <port_number>

Voorbeeld — poort 80 sluiten:

ufw deny 80

Je kunt ook de servicenaam gebruiken. Voorbeeld — FTP (poort 21) sluiten:

ufw deny ftp

Open poorten weergeven met ufw

Om alle open en gesloten poorten te tonen:

ufw status

Image18

Of voor een gedetailleerdere weergave:

ufw status verbose

Een poort openen op RHEL-gebaseerde Linux-distributies

RHEL-gebaseerde distributies (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) gebruiken standaard firewalld.

Poorten openen met firewalld

Controleer of firewalld is geïnstalleerd:

firewall-offline-cmd -V

Als een versie wordt weergegeven, is firewalld geïnstalleerd. Zo niet, installeer het:

dnf install firewalld

Standaard is firewalld uitgeschakeld. Controleer de status:

firewall-cmd --state

Om het in te schakelen:

systemctl start firewalld

Poort 8080 openen voor TCP:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • --zone=public: specificeert de zone voor de regel.
  • --add-port=8080/tcp: specificeert de poort en het protocol.
  • --permanent: slaat de regel permanent op.

Image12

Je kunt ook een service openen door de naam te gebruiken, bijvoorbeeld HTTP (poort 80):

firewall-cmd --zone=public --add-service=http --permanent

Wijzigingen toepassen:

firewall-cmd --reload

Poorten sluiten met firewalld

Om een poort te sluiten op nummer:

firewall-cmd --zone=public --remove-port=8080/tcp --permanent

Image4

Of op servicenaam:

firewall-cmd --zone=public --remove-service=http --permanent

Herlaad altijd na wijzigingen:

firewall-cmd --reload

Open poorten weergeven met firewalld

Om alle open poorten te tonen:

firewall-cmd --list-ports

Poorten beheren met iptables

In tegenstelling tot ufw en firewalld is iptables vooraf geïnstalleerd op veel distributies (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux).

Poorten openen met iptables

Om poort 8182 te openen voor inkomende verbindingen:

iptables -A INPUT -p tcp --dport 8182 -j ACCEPT
  • -A INPUT: voegt een regel toe aan de INPUT-keten.
  • -p tcp: specificeert het protocol.
  • --dport 8182: specificeert de te openen poort.
  • -j ACCEPT: staat verkeer via deze poort toe.

Voor uitgaande verbindingen:

iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPT

Om een poortbereik te openen:

iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPT

Poorten sluiten met iptables

Om een poort te sluiten:

iptables -A INPUT -p tcp --dport 8182 -j DROP

Een poortbereik sluiten:

iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROP

iptables-regels opslaan

Standaard zijn iptables-regels alleen van kracht tot de server opnieuw wordt opgestart. Om ze permanent op te slaan, installeer iptables-persistent:

Voor APT-gebaseerde systemen:

apt update && apt -y install iptables-persistent

Voor DNF-gebaseerde systemen:

dnf -y install iptables-persistent

Huidige regels opslaan:

iptables-save

De regels worden automatisch opnieuw geladen bij de volgende herstart.

Open poorten bekijken met iptables

Alle huidige regels en open poorten weergeven:

iptables -L -v -n

Alleen IPv4-regels tonen:

iptables -S

IPv6-regels tonen:

ip6tables -S

Conclusie

In deze gids hebben we laten zien hoe je netwerkpoorten opent en sluit in Linux en hoe je de momenteel open poorten controleert met drie verschillende tools: ufw, firewalld en iptables. Een goed poortbeheer vermindert het risico op potentiële netwerkaanvallen en helpt informatie over de services die deze poorten gebruiken te verbergen.

Linux-systeem Netwerktechnologie
10.10.2025
Reading time: 6 min

Vergelijkbaar

Linux-systeem

Een poort openen op Linux

Het openen van poorten in Linux is een essentiële taak die bepaalde diensten of applicaties in staat stelt om gegevens via het netwerk uit te wisselen. Poorten fungeren als communicatiekanalen, waarbij ze toegang bieden tot geautoriseerde services en ongeautoriseerde verbindingen blokkeren. Een correcte poortbeheer zorgt voor veiligheid, stabiele werking en betrouwbare prestaties van het systeem. Wat zijn poorten en wat is hun functie? Poorten zijn logische eindpunten van netwerkcommunicatie waar apparaten informatie kunnen verzenden en ontvangen. Enkele voorbeelden: HTTP gebruikt poort 80 HTTPS gebruikt poort 443 SSH gebruikt poort 22 Een open poort betekent dat een service actief luistert naar inkomend verkeer via die poort. Een gesloten poort blokkeert daarentegen alle communicatie. Een goed beheer van open poorten is cruciaal voor beschikbaarheid en netwerkbeveiliging in Linux. Controleren welke poorten open zijn Voordat je een nieuwe poort opent, is het verstandig eerst te controleren welke poorten al actief zijn. Er zijn verschillende Linux-commando’s die je hiervoor kunt gebruiken. Met netstat Gebruik het volgende commando om open poorten te bekijken: netstat -tuln De optie -tuln toont alleen TCP- en UDP-poorten zonder hostnamen op te lossen. netstat biedt een realtime overzicht van actieve netwerkverbindingen. Opmerking: Als netstat niet is geïnstalleerd: sudo apt install net-tools Met ss Het ss-commando is moderner en sneller dan netstat. Gebruik: ss -tuln Het toont actieve poorten en bijbehorende socketinformatie. Met nmap Voor een meer gedetailleerde analyse van open poorten: nmap localhost nmap scant de opgegeven host (in dit geval localhost) en zoekt naar open poorten. Handig om te controleren welke services extern toegankelijk zijn. Opmerking: Installeer nmap met: sudo apt install nmap Poorten openen op Linux Om toegang via een specifieke poort toe te staan, moet je de firewallinstellingen aanpassen. Linux biedt verschillende tools, waaronder iptables, ufw en firewalld. Hieronder worden de drie methoden uitgelegd. Methode 1: via iptables iptables is een krachtig low-level firewallhulpmiddel dat gedetailleerde controle over netwerkverkeer mogelijk maakt. Regel toevoegen om verkeer via een bepaalde poort toe te staan Voorbeeld: HTTP-toegang via poort 8080 inschakelen: sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT Uitleg: sudo: voert het commando uit met rootrechten -A INPUT: voegt de regel toe aan de inkomende-verkeerketen -p tcp: specificeert TCP-verkeer --dport 8080: doelpoort 8080 -j ACCEPT: accepteert inkomend verkeer dat aan de regel voldoet Deze wijziging is niet permanent en verdwijnt na een herstart. Configuratie permanent opslaan sudo apt install iptables iptables-persistent sudo netfilter-persistent save Hiermee worden de huidige regels opgeslagen zodat ze automatisch bij het opstarten worden geladen. Regels herladen sudo netfilter-persistent reload Methode 2: via ufw (Uncomplicated Firewall) ufw is een vereenvoudigde interface voor iptables waarmee je regels snel kunt toevoegen of verwijderen. Ufw inschakelen sudo ufw enable Indien niet geïnstalleerd: sudo apt install ufw Verkeer via een bepaalde poort toestaan Voorbeeld: SSH-verbindingen via poort 22 toestaan: sudo ufw allow 22/tcp Dit staat TCP-verkeer toe op poort 22, waardoor externe SSH-toegang mogelijk wordt. Status van de firewall controleren sudo ufw status Geeft een overzicht van alle actieve regels en toegestane poorten. Methode 3: via firewalld firewalld is een dynamische firewallservice die eenvoudiger aan te passen is dan iptables. Permanente regel toevoegen Voorbeeld: HTTPS (poort 443) inschakelen: sudo firewall-cmd --permanent --add-port=443/tcp Installeer en start firewalld met: sudo apt install firewalld sudo systemctl enable firewalld sudo systemctl start firewalld Regels herladen sudo firewall-cmd --reload Controleren of de poort open is sudo firewall-cmd --list-all Toont alle actieve zones en regels, inclusief open poorten. De geopende poort testen Na het openen van een poort is het belangrijk om te controleren of deze echt bereikbaar is. Met telnet telnet localhost port_number Een succesvolle verbinding betekent dat de poort openstaat en reageert. Met nmap nmap -p port_number localhost Controleert of de opgegeven poort bereikbaar is. Met curl curl localhost:port_number Geeft een antwoord als de service actief is op die poort. Veelvoorkomende problemen en oplossingen Als het openen van een poort niet lukt: Controleer firewallregels: iptables -L ufw status Controleer servicestatus: systemctl status <servicenaam> Poorten openen op basis van protocol Sommige diensten gebruiken TCP, andere UDP. Het is belangrijk om het juiste protocol te kiezen. TCP-poort openen Voorbeeld: MySQL-verkeer via poort 3306 toestaan: sudo ufw allow 3306/tcp UDP-poort openen Voorbeeld: SNMP-verkeer via poort 161 toestaan: sudo ufw allow 161/udp UDP biedt snellere, verbindingloze communicatie — ideaal voor monitoringtools. Poorttoegang beheren Toegang beperken tot een specifiek IP-adres sudo ufw allow from 192.168.1.100 to any port 22 Hiermee wordt SSH-toegang toegestaan alleen vanaf het opgegeven IP-adres, wat de beveiliging verhoogt. Een poort sluiten sudo ufw deny 80/tcp Blokkeert inkomend verkeer op poort 80 (HTTP). Conclusie Het controleren en openen van poorten in Linux is essentieel om netwerkdiensten correct te configureren en verkeer veilig te beheren. Met tools zoals iptables, ufw en firewalld kun je de toegang tot je systeem nauwkeurig regelen. Test altijd met nmap, curl of telnet om te bevestigen dat je instellingen werken. Een goed poortbeheer vormt de basis voor betrouwbare servers, veilige verbindingen en stabiele prestaties.
29 October 2025 · 5 min to read
Linux-systeem

Linux-toetsencombinaties: de beste sneltoetsen voor gebruikers

Toetsencombinaties in Linux zijn een handig hulpmiddel om efficiënter te werken. In plaats van met de muis door menu’s te navigeren, kun je vaak met een paar toetsaanslagen hetzelfde resultaat veel sneller bereiken. Linux-besturingssystemen ondersteunen een breed scala aan sneltoetsen. Houd er rekening mee dat elke distributie eigen combinaties kan hebben die mogelijk niet op andere systemen werken. Dat is echter eenvoudig aan te passen – gebruikers kunnen nieuwe sneltoetsen toevoegen of bestaande aanpassen in de systeeminstellingen. In dit artikel behandelen we universele toetscombinaties die in de meeste desktopomgevingen werken. De nadruk ligt op sneltoetsen voor het terminalvenster. Basis Linux-sneltoetsen Laten we beginnen met de algemene combinaties die dagelijkse handelingen versnellen. Veel van deze sneltoetsen gebruiken de Super-toets, die overeenkomt met de Windows-toets in Windows of de Cmd-toets in macOS. Bijvoorbeeld: Super + Spatie om toetsenbordindelingen te wisselen is vergelijkbaar met Windows + Spatie of Cmd + Spatie. Belangrijke combinaties: Alt + Tab of Super + Tab – Wisselt tussen vensters (zoals in Windows). Super + Spatie – Wisselt tussen meerdere toetsenbordindelingen. Super + A – Opent het toepassingsmenu (meestal linksonder). F2 – Hernoemt bestanden. Selecteer een bestand, druk op F2 en voer een nieuwe naam in. Ctrl + Alt + T – Opent een terminalvenster (een van de belangrijkste Linux-sneltoetsen). Alt + F2 – Opent een opdrachtvenster in het midden van het scherm om programma’s te starten. Super + D – Minimaliseert alle vensters en toont het bureaublad. Ctrl + Alt + Del – Toont een venster met “Annuleren” of “Afmelden”. Als je niets kiest, wordt na 60 seconden automatisch afgemeld. Deze combinaties helpen elke gebruiker om productiever te werken in Linux. Laten we nu de meer geavanceerde terminal-sneltoetsen bekijken. Linux-terminal sneltoetsen De terminal is het belangrijkste hulpmiddel om met de Linux-shell te communiceren. De volgende combinaties helpen je sneller en efficiënter te werken. Beheer van terminalvensters Gebruik deze sneltoetsen om tabs en vensters snel te openen, te wisselen of te sluiten: Ctrl + Shift + Q – Sluit het volledige terminalvenster. Ctrl + Shift + T – Opent een nieuwe terminaltab. Ctrl + Shift + W – Sluit de huidige tab (of het venster als er slechts één tab is). Ctrl + Shift + D – Scheidt de huidige tab af naar een nieuw venster. Ctrl + PgUp / PgDown – Wisselt tussen tabs (vorige/volgende). Cursornavigatie binnen een regel Omdat Linux-gebruikers vooral met het toetsenbord werken, besparen deze sneltoetsen tijd bij het navigeren door commando’s: Ctrl + A (of Home) – Verplaatst de cursor naar het begin van de regel. Ctrl + E (of End) – Verplaatst de cursor naar het einde van de regel. Ctrl + X, X – Wisselt tussen het begin van de regel en de oorspronkelijke positie. Ctrl + → / ← of Alt + F / B – Verplaatst de cursor één woord vooruit of achteruit. Invoer en bewerking Naast cursorbewegingen versnellen deze sneltoetsen het bewerken van commando’s: Tab – Autovoltooiing van commando’s of paden.Eén keer drukken voltooit automatisch, twee keer drukken toont alle opties. Ctrl + T – Verwisselt de laatste twee tekens voor de cursor. Alt + T – Verwisselt de laatste twee woorden voor de cursor. Alt + Backspace – Verwijdert het woord vóór de cursor. Alt + D – Verwijdert alles na de cursor tot het volgende spatie. Alt + U / Alt + L – Zet tekst rechts van de cursor om naar hoofdletters of kleine letters. Klembordbewerkingen Gebruik deze toetsen om tekst te knippen, kopiëren en plakken in de terminal: Ctrl + W – Verwijdert het woord vóór de cursor. Ctrl + U – Verwijdert alles van de cursor tot het begin van de regel. Ctrl + K – Verwijdert alles van de cursor tot het einde van de regel. Ctrl + Y – Plakt de laatst verwijderde tekst weer in. Geschiedenis van opdrachten Met deze combinaties kun je door de commandohistorie navigeren en eerder gebruikte opdrachten snel terughalen. Om de lijst met uitgevoerde commando’s te zien: history Andere nuttige combinaties: Ctrl + R – Zoekt naar eerder gebruikte commando’s.Druk op Enter om uit te voeren of op Esc om te annuleren. Ctrl + O – Voert het gevonden commando uit. Alt + < – Gaat naar het eerste commando in de geschiedenis. Scherm- en procesbeheer Deze combinaties regelen de uitvoer van de terminal en het gedrag van actieve processen: Ctrl + C – Onderbreekt het actieve proces onmiddellijk (SIGINT-signaal). Ctrl + D – Sluit de terminal (alternatief voor exit). Ctrl + Z – Pauzeert het actieve proces en stuurt het naar de achtergrond.Gebruik fg om het terug te brengen, of jobs om achtergrondprocessen te zien. Ctrl + L – Maakt het terminalscherm leeg (alternatief voor clear). Ctrl + S / Ctrl + Q – Pauzeert (S) of hervat (Q) de uitvoer van het scherm. Handig om informatie tijdelijk te bekijken of te kopiëren. Nieuwe sneltoetsen toevoegen of aanpassen In sommige Linux-distributies werken bepaalde sneltoetsen niet of ontbreken ze.Elke omgeving heeft een eigen standaardlijst, maar je kunt deze naar wens aanpassen. Zo doe je dat: Druk op Super + A om het toepassingsmenu te openen. Zoek en open Instellingen. Ga naar het tabblad Apparaten → Toetsenbord. Rechts zie je de lijst met standaard sneltoetsen. Klik op een opdracht om deze te wijzigen of een nieuwe combinatie toe te wijzen. Klik op het ‘+’ onderaan om een aangepaste sneltoets toe te voegen.Vul de naam, de opdracht en de gewenste toetsencombinatie in. Conclusie Dit artikel heeft de belangrijkste Linux-sneltoetsen behandeld die het werk van gebruikers versnellen en vereenvoudigen. Dit is uiteraard geen volledige lijst – er bestaan nog veel meer combinaties voor verschillende Linux-distributies. Met deze sneltoetsen kun je je dagelijkse taken in Linux aanzienlijk efficiënter uitvoeren en de productiviteit in het terminalvenster verhogen.
28 October 2025 · 5 min to read
Linux-systeem

Wat is een daemon in de informatica?

De term daemon komt uit de oude Griekse mythologie en verwees naar een immaterieel wezen dat invloed had op de menselijke wereld. In de informatica, vooral in UNIX-achtige besturingssystemen, is een daemon een achtergrondproces dat draait zonder directe interactie van de gebruiker. Het is niet afhankelijk van een terminal of gebruikersinterface en wordt meestal gestart bij het opstarten van het systeem of onder bepaalde voorwaarden. Wat is een daemon De hoofdtaak van een daemon is het leveren van specifieke diensten aan andere processen of gebruikers. Een daemon kan bijvoorbeeld luisteren op netwerkpoorten en wachten op verbindingen, systeemgebeurtenissen monitoren en reageren wanneer aan bepaalde voorwaarden wordt voldaan, geplande taken beheren (zoals cron), e-mails verzenden (sendmail) en nog veel meer. In Windows is de dichtstbijzijnde tegenhanger van een daemon een service. Het verschil ligt voornamelijk in hoe ze worden gestart, geregistreerd, beheerd en geconfigureerd binnen het besturingssysteem. Hun doel is echter hetzelfde: zorgen voor een continue werking van bepaalde functies of diensten op de achtergrond. Belangrijkste kenmerken van een daemon Draait op de achtergrond: gebruikers zien meestal geen interface van de daemon; hij schrijft niet naar de standaarduitvoer (of leidt die om naar logbestanden) en vraagt geen toetsenbordinvoer. Autonoom: een daemon wordt gestart bij het opstarten van het systeem, wanneer hij wordt geactiveerd door een init-systeem (zoals systemd), of handmatig door de gebruiker (via scripts, cron, enz.). Langdurig actief: idealiter blijft een daemon onbeperkt draaien, tenzij zich een kritieke fout voordoet of een expliciet stopsignaal wordt ontvangen. Geïsoleerd: draait meestal onder een apart gebruikers- of groepsaccount met beperkte rechten, wat diensten veiliger en eenvoudiger te beheren maakt. Logging: in plaats van standaardinvoer/-uitvoer te gebruiken, schrijft de daemon informatie naar logbestanden of naar de systeemlogger (journald, syslog, enz.), wat nuttig is voor debugging en diagnose. Daemons in Linux Historisch gezien worden bijna alle systeemachtergrondtaken in Linux geïmplementeerd als daemons. Het besturingssysteem bevat er tientallen, elk verantwoordelijk voor een specifieke functie. Enkele voorbeelden: sshd (Secure Shell Daemon): luistert standaard op poort 22 en maakt het mogelijk voor externe gebruikers om verbinding te maken via versleutelde SSH. Zonder sshd is externe terminaltoegang vrijwel onmogelijk. cron: een taakplanner-daemon. Controleert crontab-vermeldingen en voert scripts of opdrachten uit volgens een schema, zoals logopschoning, rapportverzending of systeemcontroles. syslogd / rsyslog / journald: systeemlog-daemons die berichten verzamelen van de kernel, hulpprogramma’s, andere daemons en toepassingen, en deze opslaan in logbestanden of het journal. NetworkManager of Wicd: daemons die netwerkconfiguraties beheren — ze automatiseren verbindingen met bekabelde/draadloze netwerken, schakelen tussen netwerken, configureren VPN’s en meer. Deze daemons worden gestart bij het opstarten van het systeem en geregistreerd bij de systeemservicemanager (bijv. systemd). Ze blijven actief tot het systeem wordt uitgeschakeld of opnieuw wordt opgestart. Gebruikers interageren indirect met hen — via configuratiebestanden, terminalopdrachten (service, systemctl) of netwerkverzoeken (als de daemon een HTTP/S-, SSH- of andere netwerkinterface biedt). Hoe je daemons maakt en beheert Om een daemon te implementeren, volg je deze stappen: Proces forken: het ouderproces roept fork() aan en blijft de daemoncode uitvoeren in het kindproces. Loskoppelen van de besturingsterminal (setsid): om gebruikersinterferentie te voorkomen (bijv. sluiten van de terminal), roept de daemon setsid() aan om een nieuwe sessie te starten en de leider ervan te worden. Standaardinvoer/-uitvoerdescriptoren sluiten: omdat de daemon niet naar het scherm moet schrijven of op invoer wachten, worden stdin, stdout en stderr gesloten of omgeleid naar logbestanden. Signalen en logging afhandelen: om een nette afsluiting of herladen van configuraties te ondersteunen, moet de daemon signalen (SIGTERM, SIGHUP, enz.) afhandelen. Logging gebeurt meestal via syslog of bestanden. Hoofdlus: na initialisatie gaat de daemon de hoofdlus in: wachten op gebeurtenissen, ze afhandelen en herhalen totdat hij wordt gestopt. Laten we zien hoe je een daemon maakt op Ubuntu 22.04 met een Hostman cloudserver. 1. De daemon schrijven in C Maak een bestand genaamd mydaemon.c en voeg de volgende code toe: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <syslog.h> int main() { // Syslog openen     openlog("mydaemon", LOG_PID, LOG_DAEMON); syslog(LOG_NOTICE, "Daemon started"); // Oneindige hoofdlus     while (1) { // Achtergrondtaken: monitoring, wachtrijverwerking, enz. syslog(LOG_NOTICE, "Performing task..."); sleep(60); } // Als de lus ooit wordt verlaten     syslog(LOG_NOTICE, "Daemon stopped"); closelog(); return 0; } 2. Het programma compileren Werk eerst de pakketten bij: sudo apt update && sudo apt upgrade Installeer de GCC-compiler als die nog niet is geïnstalleerd: sudo apt install gcc Compileer de daemon: gcc mydaemon.c -o mydaemon 3. Het uitvoerbare bestand verplaatsen Verplaats het binaire bestand naar /usr/local/bin/, een standaardlocatie voor aangepaste hulpprogramma’s: mv mydaemon /usr/local/bin/mydaemon 4. Een systemd-service maken Maak een unitbestand genaamd mydaemon.service: sudo nano /etc/systemd/system/mydaemon.service Voeg de volgende inhoud toe: [Unit] Description=My Daemon After=network.target [Service] Type=simple ExecStart=/usr/local/bin/mydaemon Restart=on-failure [Install] WantedBy=multi-user.target Uitleg van de velden: Description: beschrijving die wordt weergegeven in systemctl status. After=network.target: zorgt ervoor dat de daemon start nadat het netwerk actief is. Type=simple: de daemon forkt niet; hij draait als één enkel proces. ExecStart: pad naar het uitvoerbare bestand van de daemon. Restart=on-failure: start automatisch opnieuw als de daemon crasht. WantedBy=multi-user.target: zorgt ervoor dat de service start in de standaard multi-user omgeving. 5. De daemon starten en monitoren sudo systemctl daemon-reload # Herlaad systemd-configuratie sudo systemctl start mydaemon # Start de daemon sudo systemctl status mydaemon # Controleer de status Als alles werkt, toont de status active. Om logs te bekijken: journalctl -u mydaemon.service -e Voorbeelden van gebruik van daemons Webservers Hun taak is te luisteren op een netwerkpoort (meestal 80 of 443), HTTP/HTTPS-verzoeken te accepteren, een antwoord te genereren (zoals een HTML-pagina of JSON-gegevens) en dit terug te sturen naar de client. In de meeste gevallen start een webserver bij het opstarten en blijft draaien tot de server wordt uitgeschakeld of gestopt (bijv. systemctl stop nginx). Databasedaemons MySQL/MariaDB, PostgreSQL, MongoDB — dit zijn allemaal daemons. Ze starten met het systeem en draaien op de achtergrond terwijl ze verzoeken van clienttoepassingen of webservices accepteren. Deze daemons loggen activiteiten, ondersteunen configuratie via bestanden en worden beheerd met hulpprogramma’s (of systemd). Taakplanners (cron, atd) De cron-daemon controleert de planningslijst (crontab) en voert programma’s uit op door de gebruiker gespecificeerde tijden of intervallen. Dit maakt het mogelijk om back-ups, systeemupdates, controles en vele andere routinetaken te automatiseren. atd is een vergelijkbare daemon, maar voert taken slechts één keer uit op een bepaald moment (in tegenstelling tot cron, die ze regelmatig uitvoert). Toegangs- en controlediensten (sshd, xrdp) sshd (Secure Shell Daemon) biedt externe toegang via het SSH-protocol. xrdp maakt externe desktopverbindingen mogelijk via het RDP-protocol. Het werkt als een daemon die luistert naar netwerkverbindingen op een opgegeven poort. Init-systeemdaemons (systemd, init, Upstart) In moderne systemen wordt de rol van de “hoofd-daemon” vervuld door systemd (dat het oudere SysV-init-systeem vervangt). systemd is het eerste proces dat start na de kernel en is verantwoordelijk voor het starten en beheren van alle andere diensten en processen. Het start ze parallel en behandelt hun afhankelijkheden. Simpel gezegd, systemd is zelf een daemon die alle andere in het systeem “orkestreert”. Voordelen en nadelen van daemons Voordelen: Automatisering: daemons maken het mogelijk om systeemgedrag te automatiseren — van het reageren op netwerkverzoeken tot het plannen van taken — zonder gebruikersinterventie. Isolatie: door te draaien onder aparte gebruikers- of groepsaccounts en losgekoppeld van terminals, wordt de beveiliging verhoogd door potentiële schade te beperken in geval van een inbreuk. Continue werking: een daemon kan doorgaan met het leveren van diensten (zoals een webserver) zonder onderbreking, zelfs als de gebruiker uitlogt of de console sluit. Beheerbaarheid: Linux biedt systeemtools (zoals systemd, init-scripts) om alle daemons centraal te beheren: starten, stoppen, herstarten en loggen. Nadelen: Complexe foutopsporing: omdat daemons op de achtergrond draaien en niets naar de console schrijven, vereist debugging uitgebreide logging en complexere instellingen (debug-flags, tracing, enz.). Beveiligingsrisico’s: als een daemon draait met verhoogde rechten (bijv. als root), kan een kwetsbaarheid het hele systeem compromitteren. Het is beter om daemons uit te voeren met beperkte accounts. Afhankelijkheidsbeheer: sommige daemons kunnen falen als ze bijvoorbeeld netwerktoegang nodig hebben voordat het netwerk actief is. Moderne init-systemen lossen dit op, maar met klassieke SysV-init-scripts was dit een veelvoorkomend probleem. Hogere resourceconsumptie: elk voortdurend draaiend achtergrondproces verbruikt systeembronnen (geheugen, CPU-tijd). Te veel daemons kunnen de prestaties beïnvloeden, vooral op systemen met beperkte middelen. Conclusie Daemons vormen een essentieel onderdeel van de architectuur van Linux-besturingssystemen en bieden uitgebreide mogelijkheden voor automatisering en achtergrondservices. Ze stellen beheerders in staat om netwerkoperaties, geplande taken, logging, beveiligingssystemen en vele andere componenten flexibel te configureren. Het schrijven van je eigen daemon vereist begrip van processen, signalen, systeemaanroepen en zorgvuldige aandacht voor logging en beveiliging. Moderne init-systemen (vooral systemd) hebben het beheer van daemons en de servicelogica vereenvoudigd, waardoor het maken van aangepaste services gestructureerder en flexibeler is geworden. Toch blijft het een complex vakgebied dat zorgvuldige planning, debugging en voortdurend onderhoud vereist. Als je op zoek bent naar een betrouwbare, krachtige en betaalbare oplossing voor je workflows, biedt Hostman Linux VPS-hostingopties, waaronder Debian VPS, Ubuntu VPS en VPS CentOS.
23 October 2025 · 9 min to read

Heb je vragen,
opmerkingen of zorgen?

Onze professionals staan altijd klaar om je te helpen,
of je nu hulp nodig hebt of gewoon niet weet waar te beginnen
E-mail ons
Hostman's Support