Inloggen
Inloggen

Hoe bestanden downloaden met cURL

Hoe bestanden downloaden met cURL
Emmanuel Oyibo
Technisch schrijver
Linux-systeem
20.10.2025
Reading time: 8 min

Het downloaden van inhoud van externe servers is een veelvoorkomende taak voor zowel beheerders als ontwikkelaars. Hoewel er veel tools voor deze taak bestaan, onderscheidt cURL zich door zijn flexibiliteit en eenvoud. Het is een opdrachtregelprogramma dat protocollen zoals HTTP, HTTPS, FTP en SFTP ondersteunt, wat het onmisbaar maakt voor automatisering, scripting en efficiënte bestandsoverdrachten.

Je kunt cURL rechtstreeks op je computer uitvoeren om bestanden op te halen. Je kunt het ook in scripts opnemen om gegevensbeheer te stroomlijnen, waardoor handmatige fouten en inspanning worden verminderd. Deze gids laat verschillende manieren zien om bestanden te downloaden met cURL. Aan de hand van deze voorbeelden leer je hoe je omgaat met omleidingen, bestanden hernoemt en de voortgang van downloads bewaakt. Aan het einde zul je cURL zelfverzekerd kunnen gebruiken voor taken op servers of in cloudomgevingen.

Basis cURL-commando voor het downloaden van bestanden

Het commando curl werkt met meerdere protocollen, maar wordt voornamelijk gebruikt met HTTP en HTTPS om verbinding te maken met webservers. Indien nodig kan het ook communiceren met FTP- of SFTP-servers.

Standaard haalt cURL een bron op van een opgegeven URL en toont deze in je terminal (standaarduitvoer). Dit is handig om de inhoud van een bestand te bekijken zonder het op te slaan, vooral bij kleine tekstbestanden.

Voorbeeld: om de inhoud van een tekstbestand te bekijken dat wordt gehost op https://example.com/file.txt, voer je uit:

curl https://example.com/file.txt

Voor korte tekstbestanden is deze methode geschikt. Voor grote of binaire bestanden kan het scherm echter worden overspoeld met onleesbare gegevens, dus meestal wil je ze opslaan in plaats van weergeven.

Externe bestanden opslaan

Vaak is het hoofddoel om het gedownloade bestand lokaal op te slaan in plaats van het in de terminal te bekijken. cURL maakt dit eenvoudig met de optie -O (hoofdletter O), die de originele bestandsnaam behoudt.

curl -O https://example.com/file.txt

Dit haalt file.txt op en slaat het op in de huidige map met dezelfde naam. Deze methode is snel en behoudt de oorspronkelijke bestandsnaam, wat handig kan zijn als de naam betekenisvol is.

Een andere bestandsnaam kiezen

Soms is het belangrijk om het gedownloade bestand een andere naam te geven om conflicten te vermijden of een duidelijk naamgevingssysteem te hanteren. Gebruik in dat geval de optie -o (kleine o):

curl -o mijnbestand.txt https://example.com/file.txt

Hier downloadt cURL het externe bestand file.txt maar slaat het lokaal op als mijnbestand.txt. Dit helpt bij het organiseren van bestanden en voorkomt onbedoelde overschrijvingen. Dit is vooral nuttig in scripts die beschrijvende bestandsnamen vereisen.

Omleidingen volgen

Wanneer een bestand wordt opgevraagd, kan de server de client instrueren om naar een andere URL te gaan. Het begrijpen en volgen van omleidingen is essentieel voor succesvolle downloads.

Waarom omleidingen belangrijk zijn

Omleidingen worden vaak gebruikt op herschikte websites, verplaatste bestanden of mirrorlinks. Zonder ondersteuning voor omleidingen stopt cURL na een “verplaatst”-reactie, en ontvang je het bestand niet.

Gebruik van -L of --location

Om cURL een reeks omleidingen te laten volgen tot het einddoel, gebruik je -L (of --location):

curl -L -O https://example.com/redirected-file.jpg

Hierdoor kan cURL het juiste bestand ophalen, zelfs als de oorspronkelijke URL elders naar verwijst. Als je -L weglaat, zal cURL alleen het omleidingsbericht weergeven en stoppen, wat problematisch is voor sites met meerdere omleidingen.

Meerdere bestanden downloaden

cURL kan ook meerdere bestandsdownloads tegelijk verwerken, zodat je het commando niet herhaaldelijk hoeft uit te voeren.

Gebruik van accolades en patronen

Als bestandsnamen een patroon delen, kun je accolades {} gebruiken om ze beknopt op te geven:

curl -O https://example.com/files/{file1.jpg,file2.jpg,file3.jpg}

cURL haalt elk bestand opeenvolgend op, wat handig is voor geautomatiseerde workflows.

Gebruik van reeksen

Voor een reeks genummerde of alfabetisch gelabelde bestanden kun je een bereik opgeven tussen rechte haken:

curl -O https://example.com/files/file[1-5].jpg

cURL doorloopt automatisch de bestanden file1.jpg tot file5.jpg. Dit is ideaal voor reeksen bestanden met consistente namen.

Meerdere downloads koppelen

Als je verschillende URL’s hebt voor elk bestand, kun je ze aan elkaar koppelen:

curl -O https://example1.com/file1.jpg -O https://example2.com/file2.jpg

Met deze aanpak downloadt cURL file1.jpg van de eerste site en file2.jpg van de tweede, zonder meerdere commando’s uit te voeren.

Snelheidsbeperking en time-outs

In sommige situaties wil je mogelijk de downloadsnelheid beperken of voorkomen dat cURL te lang wacht op een niet-reagerende server.

Beheer van bandbreedte

Om te voorkomen dat je netwerk overbelast raakt of om trage omstandigheden te simuleren, kun je de downloadsnelheid beperken met --limit-rate:

curl --limit-rate 2M -O https://example.com/bigfile.zip

2M staat voor 2 megabyte per seconde. Je kunt ook K voor kilobytes of G voor gigabytes gebruiken.

Time-outs

Als een server te traag is, kun je cURL na een bepaalde tijd laten stoppen. De optie --max-time doet precies dat:

curl --max-time 60 -O https://example.com/file.iso

Hier stopt cURL na 60 seconden, wat handig is in scripts die snel moeten mislukken.

Stille en uitgebreide modus

cURL kan de uitvoer aanpassen om minimale of uitgebreide informatie weer te geven.

Stille downloads

Voor batchtaken of cronjobs waarbij je geen voortgangsbalk nodig hebt, gebruik je -s (of --silent):

curl -s -O https://example.com/file.jpg

Dit verbergt voortgang en fouten, wat zorgt voor schonere logbestanden. Probleemoplossing is echter moeilijker bij een stille fout.

Uitgebreide modus

In tegenstelling hiermee geeft -v (of --verbose) gedetailleerde informatie over verzoeken en antwoorden:

curl -v https://example.com

De uitgebreide uitvoer is waardevol bij het oplossen van problemen zoals ongeldige SSL-certificaten of onjuiste omleidingen.

Authenticatie en beveiliging

Sommige downloads vereisen inloggegevens of een beveiligde verbinding.

HTTP/FTP-authenticatie

Wanneer een server een gebruikersnaam en wachtwoord vereist, gebruik je -u:

curl -u username:password -O https://example.com/protected/file.jpg

Het direct opnemen van inloggegevens kan riskant zijn, omdat ze zichtbaar kunnen zijn in logboeken of proceslijsten. Overweeg om omgevingsvariabelen of .netrc-bestanden te gebruiken voor veiliger beheer.

HTTPS en certificaten

Standaard controleert cURL SSL-certificaten. Als het certificaat ongeldig is, blokkeert cURL de overdracht. Je kunt deze controle overslaan met -k of --insecure, maar dat brengt beveiligingsrisico’s met zich mee. Gebruik indien mogelijk een vertrouwde certificaatautoriteit om geverifieerde verbindingen te behouden.

Gebruik van een proxy

In sommige omgevingen moet het verkeer via een proxyserver lopen voordat het de bestemming bereikt.

Downloaden via een proxy

Gebruik de optie -x of --proxy om de proxy te specificeren:

curl -x http://proxy_host:proxy_port -O https://example.com/file.jpg

Vervang proxy_host en proxy_port door de juiste gegevens. cURL stuurt het verzoek naar de proxy, die vervolgens het bestand namens jou ophaalt.

Proxy-authenticatie

Als je proxy inloggegevens vereist, voeg deze dan toe aan de URL:

curl -x https://proxy.example.com:8080 -U myuser:mypassword -O https://example.com/file.jpg

Ook hier geldt: het opslaan van gevoelige gegevens in platte tekst is gevaarlijk. Gebruik in plaats daarvan omgevingsvariabelen of configuratiebestanden.

Downloadvoortgang volgen

Het volgen van de voortgang is belangrijk bij grote bestanden of trage verbindingen.

Standaard voortgangsmeter

Standaard toont cURL een voortgangsmeter met de totale grootte, overdrachtsnelheid en geschatte resterende tijd. Bijvoorbeeld:

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0   2243      0 --:--:-- --:--:-- --:--:--  2246

Dit overzicht helpt je te beoordelen hoeveel er nog resteert en of de overdrachtsnelheid acceptabel is.

Compacte voortgangsbalk

Als je minder details wilt, voeg dan -# toe:

curl -# -O https://example.com/largefile.iso

Een eenvoudigere balk toont de algemene voortgang in procenten. Deze is overzichtelijker, maar bevat geen gedetailleerde statistieken zoals de huidige snelheid.

Voortgang registreren in scripts

Wanneer je cURL in scripts gebruikt, wil je de voortgangsgegevens mogelijk vastleggen. Normaal gesproken stuurt cURL deze informatie naar stderr, dus je kunt dit omleiden:

curl -# -O https://example.com/largefile.iso 2>progress.log

Hier bevat progress.log de statusupdates, die je later kunt analyseren of opslaan.

Conclusie

cURL is een flexibel opdrachtregelprogramma voor het downloaden van bestanden via verschillende protocollen en omgevingen. Of je nu complexe omleidingen moet afhandelen, bestanden dynamisch wilt hernoemen of de bandbreedte wilt beperken – cURL biedt alle nodige opties. Door de belangrijkste parameters en modi onder de knie te krijgen, kun je cURL naadloos integreren in je dagelijkse workflow voor scripting, automatisering en efficiënte bestandsoverdrachten.

Linux-systeem
20.10.2025
Reading time: 8 min

Vergelijkbaar

Linux-systeem

Bestanden en mappen kopiëren in Linux

Wanneer je begint met Linux, is bestandbeheer een van de eerste essentiële taken waar je mee te maken krijgt. Of je nu je persoonlijke documenten organiseert, systeem­bestanden migreert of volledige back-ups voorbereidt — het is belangrijk om te weten hoe je bestanden nauwkeurig dupliceert. Centraal in dit proces staat het cp-commando: een krachtig hulpprogramma dat bestanden en mappen moeiteloos kan repliceren. Deze handleiding helpt je het cp-commando onder de knie te krijgen. We behandelen alles: van het kopiëren van eenvoudige bestanden tot het recursief dupliceren van volledige directorystructuren, met tips om metadata te behouden en onbedoeld gegevensverlies te voorkomen. Dankzij duidelijke voorbeelden, realistische scenario’s en best practices kun je cp al snel gebruiken als een ervaren Linux-gebruiker. En als je op zoek bent naar een betrouwbare, krachtige en betaalbare oplossing voor je workflows, biedt Hostman Linux VPS Hosting-opties zoals Debian VPS, Ubuntu VPS en CentOS VPS. Dieper ingaan op het cp-commando In Linux fungeert het cp-commando als je belangrijkste tool voor het kopiëren van gegevens. De veelzijdigheid ervan maakt het mogelijk om alles te doen: van het kopiëren van één enkel bestand tot het spiegelen van complexe mapstructuren met geneste submappen. In tegenstelling tot grafische bestandsbeheerders werkt cp volledig via de terminal, waardoor je nauwkeurige controle hebt over elk aspect van het kopieerproces. Hoe het werkt In de eenvoudigste vorm neemt cp een bronbestand (of map) en dupliceert het naar een nieuwe locatie. De flexibiliteit zit echter in de opties — vlaggen waarmee je het gedrag kunt aanpassen aan jouw behoeften. Of je nu bestandsrechten wilt behouden, onbedoelde overschrijvingen wilt voorkomen of hele mapstructuren wilt kopiëren, cp heeft een optie voor elke situatie. Basisstructuur van het commando Het cp-commando volgt een eenvoudig format. Dit is de standaard syntaxis: cp [options] source destination cp: het commando dat de kopieeractie start. [options]: extra parameters (vlaggen) die het gedrag van het kopieerproces beïnvloeden. source: het bestand of de map die je wilt dupliceren. destination: de doelbestemming of bestandsnaam van de kopie. Deze eenvoudige structuur maakt cp populair bij zowel systeembeheerders als normale gebruikers. Belangrijke opties verkennen De echte kracht van cp komt naar voren dankzij de vele opties die het ondersteunt. Hier zijn enkele van de meest nuttige mogelijkheden: Recursief kopiëren (-r of -R): wanneer je een volledige map — inclusief alle submappen en bestanden — wilt kopiëren, is de recursieve optie onmisbaar. Deze vertelt cp dat het de volledige mappenstructuur moet doorlopen. Interactieve modus (-i): veiligheid eerst! Deze optie vraagt om bevestiging voordat een bestaand bestand wordt overschreven. Dat is cruciaal wanneer je met belangrijke gegevens werkt. Geforceerd kopiëren (-f): soms moet je waarschuwingen negeren en ervoor zorgen dat het bestand hoe dan ook wordt gekopieerd. Deze optie vervangt bestaande bestanden zonder te vragen om bevestiging. Gebruik dit voorzichtig. Attributen behouden (-p): bestandsintegriteit is belangrijk — vooral bij permissies, tijdstempels en eigendomsinformatie. Met deze optie blijven alle attributen van het originele bestand behouden. Uitgebreide uitvoer (-v): als je precies wilt zien wat er tijdens het kopiëren gebeurt, toont deze optie elk verwerkte bestand in de terminal. Handig bij grote hoeveelheden bestanden of bij het debuggen. Praktische voorbeelden: bestanden kopiëren Laten we nu enkele praktische voorbeelden bekijken om te zien hoe deze opties in de dagelijkse praktijk werken. Een enkel bestand kopiëren Stel dat je een bestand hebt genaamd notes.txt en je wilt een back-up maken in dezelfde map. Voer dan uit: cp notes.txt notes_backup.txt Deze opdracht maakt een identieke kopie met de naam notes_backup.txt. Als er al een bestand met die naam bestaat en je een overschrijving wilt voorkomen zonder bevestiging, gebruik je: cp -i notes.txt notes_backup.txt De optie -i zorgt ervoor dat je om bevestiging wordt gevraagd voordat een bestand wordt overschreven. Bestanden tussen mappen kopiëren Wil je een bestand naar een andere locatie kopiëren? Geef dan de doelmap op. Om bijvoorbeeld report.pdf naar een map genaamd archive te kopiëren, gebruik je: cp report.pdf /home/username/archive/ Zorg ervoor dat de doelmap al bestaat; cp maakt deze niet automatisch aan. Als dat nodig is, kun je de map eerst aanmaken met mkdir. Meerdere bestanden tegelijk kopiëren Soms wil je meerdere bestanden in één keer dupliceren. Om file1.txt, file2.txt en file3.txt naar een map genaamd backup te kopiëren, typ je: cp file1.txt file2.txt file3.txt /home/username/backup/ Deze opdracht verwerkt meerdere bestanden ineens. Als je werkt met veel bestanden die hetzelfde patroon volgen — bijvoorbeeld alle logbestanden — kun je een wildcard gebruiken: cp *.log /home/username/logs/ Hiermee zeg je tegen cp dat alle bestanden die eindigen op .log moeten worden gekopieerd naar de map logs. Recursief kopiëren van mappen onder de knie krijgen Vaak gaat de taak verder dan één bestand: soms moet je volledige mappen kopiëren. Recursief kopiëren is dan noodzakelijk. Een map recursief dupliceren Stel dat je de inhoud van een website in /var/www/html wilt dupliceren om een back-up te maken. De opdracht is dan: cp -r /var/www/html /backup/html_backup Hier vertelt de optie -r aan cp dat het alles in /var/www/html moet kopiëren — inclusief submappen en verborgen bestanden. Recursief kopiëren combineren met het behouden van attributen Wanneer je back-ups maakt van mappen, is het vaak belangrijk om permissies, tijdstempels en andere metadata te behouden. In zulke gevallen kun je de recursieve optie combineren met de optie om attributen te bewaren: cp -rp /var/www/html /backup/html_backup Deze opdracht zorgt ervoor dat elk bestand in /var/www/html wordt gekopieerd naar /backup/html_backup, inclusief alle oorspronkelijke attributen. Dit is ideaal voor gevoelige gegevens of belangrijke systeemconfiguraties. Tips, trucs en geavanceerde technieken Nu je de basis beheerst, bekijken we enkele geavanceerde strategieën en best practices voor het effectief gebruiken van het cp-commando. Opties combineren voor extra veiligheid Het is gebruikelijk om meerdere opties tegelijk te gebruiken om het gedrag van cp te verfijnen. Bijvoorbeeld, om een map veilig te kopiëren terwijl je attributen behoudt en bevestiging vraagt bij overschrijvingen, gebruik je: cp -rpi /data/source_directory /data/destination_directory Deze krachtige combinatie zorgt voor een grondig en veilig kopieerproces. Omgaan met bestandsnamen met speciale tekens Bestandsnamen in Linux kunnen spaties of speciale tekens bevatten. Om ervoor te zorgen dat deze correct worden verwerkt, plaats je ze tussen aanhalingstekens. Bijvoorbeeld: cp "My Important Document.txt" "My Important Document Copy.txt" Dit voorkomt dat de shell spaties interpreteert als scheidingstekens tussen verschillende argumenten. Onbedoelde overschrijvingen vermijden Bij batchprocessen of geautomatiseerde scripts wil je mogelijk voorkomen dat bestaande bestanden worden overschreven. De optie -n (no-clobber) is hiervoor bedoeld: cp -n *.conf /backup/configs/ Deze opdracht kopieert configuratiebestanden alleen als er in de doelmap nog geen bestand met dezelfde naam bestaat. Uitgebreide modus gebruiken voor debugging Bij een groot aantal bestanden of wanneer je een kopieerproces wilt analyseren, kan de uitgebreide modus (-v) zeer handig zijn: cp -rv /source/folder /destination/folder In deze modus wordt elk verwerkt bestand weergegeven, zodat je precies ziet wat er gebeurt en eventuele problemen gemakkelijker kunt opsporen. Toepassingen en scenario’s uit de praktijk Het cp-commando is niet alleen handig voor incidenteel gebruik; het is een belangrijke tool in veel professionele omgevingen. Systeembeheer en back-ups Systeembeheerders gebruiken cp vaak om back-ups te maken voordat ze kritieke wijzigingen aanbrengen in systeemconfiguraties. Bijvoorbeeld: cp -rp /etc /backup/etc_backup Deze opdracht maakt een volledige back-up van de map /etc, inclusief alle instellingen en machtigingen. In geval van fouten of systeemstoringen zijn dergelijke back-ups van onschatbare waarde. Gegevensmigratie en serveroverdrachten Bij het verplaatsen van gegevens tussen servers of verschillende delen van een netwerk zorgt cp ervoor dat alle bestanden correct worden overgezet. In combinatie met tools zoals rsync kan het deel uitmaken van robuuste migratieoplossingen. Ontwikkeling en testen Ontwikkelaars dupliceren vaak mappen om testomgevingen of sandbox-kopieën van projecten te maken. Of je nu een nieuwe functie test of een probleem debugt, het kopiëren van de volledige projectmap met behoud van attributen kan tijd besparen en fouten voorkomen. Best practices voor effectief gebruik van cp Doelpaden dubbel controleren: controleer altijd of de doelmap bestaat om fouten tijdens het kopiëren te voorkomen. Interactieve modus gebruiken voor kritieke bestanden: wanneer je met belangrijke gegevens werkt, kan de optie -i onbedoelde overschrijvingen voorkomen door om bevestiging te vragen. Bestandsnamen met spaties tussen aanhalingstekens plaatsen: zorg ervoor dat bestandsnamen met spaties of speciale tekens correct worden geciteerd. Een back-upstrategie plannen: maak regelmatig back-ups van essentiële mappen met behulp van de recursieve en attribuutbehoudende opties. Opties doordacht combineren: combineer opties zoals -r, -p en -v om cp af te stemmen op jouw specifieke behoeften, met maximale veiligheid en duidelijkheid. Conclusie Het cp-commando is een fundament van efficiënt bestandsbeheer in Linux. Ondanks zijn eenvoud beschikt het over krachtige functies dankzij de vele beschikbare opties. Door cp onder de knie te krijgen, verbeter je niet alleen je workflow, maar bescherm je ook je gegevens via zorgvuldig attribuutbeheer, recursief kopiëren en doordachte automatisering. Of je nu een beginner in de Linux-wereld bent of een ervaren gebruiker die zijn vaardigheden wil verfijnen, de technieken en voorbeelden in deze handleiding bieden een betrouwbare referentie voor al je kopieertaken. Raadpleeg zeker de handleiding (man cp) voor extra details en geavanceerde opties. Maak gebruik van de veelzijdigheid van cp, en al snel wordt het beheren van bestanden en mappen in Linux een tweede natuur.
28 November 2025 · 9 min to read
Webmail-Dienste

Hoe je e-mails verstuurt in Linux via de opdrachtregel met Sendmail en Mailx

Voor iedereen die servers beheert of met automatisering werkt, is het essentieel om te weten hoe je e-mails vanuit de Linux-terminal verstuurt. Het geeft volledige controle over e-mailfunctionaliteit en maakt zware mailprogramma’s overbodig. Dit is vooral handig in situaties waarin snelheid en eenvoud belangrijk zijn. Veelgebruikte tools zoals sendmail en mailx zijn ideaal voor het verzenden van berichten, controleren van SMTP-instellingen, automatiseren van meldingen en integratie met scripts. Ze zijn eenvoudig maar krachtig en perfect voor taken zoals het informeren van teams over serverupdates, het genereren van automatische rapporten of het testen van e-mailconfiguraties. Deze handleiding is bedoeld voor gebruikers die hun e-mail direct via de terminal willen beheren. Het behandelt de installatie van essentiële tools en gaat verder met geavanceerde taken zoals het verzenden van bijlagen en het configureren van e-mailtools. Waarom e-mailtools via de command line gebruiken? De twee meest gebruikte tools — sendmail en mailx — zijn betrouwbare opties voor e-mailverzending op Linux en bieden diverse voordelen: Efficiëntie Traditionele e-mailsoftware kan traag en zwaar zijn. Deze tools zijn lichtgewicht en versturen e-mails razendsnel vanuit de terminal. Automatisering Ze integreren naadloos met shellscripts, cronjobs en monitoringtools. Hierdoor kunnen terugkerende acties automatisch meldingen versturen. SMTP-problemen oplossen SMTP-configuraties worden eenvoudiger te debuggen. Deze tools geven inzicht in bezorgstatussen, logs en fouten. Flexibiliteit Of het nu gaat om waarschuwingen, interne meldingen of geautomatiseerde rapporten: sendmail en mailx zijn veelzijdig inzetbaar. Vereisten Zorg dat je het volgende hebt voordat je deze Linux e-mailcommando’s gebruikt: Terminaltoegang: In sommige gevallen zijn rootrechten vereist. SMTP-server: Een uitgaande mailserver is nodig voor tests. Geïnstalleerde tools: Controleer of sendmail en mailx correct zijn geïnstalleerd. Een SMTP-server instellen SMTP-servers zijn essentieel voor het verzenden van e-mails. Ze zijn onderverdeeld in: Externe SMTP-servers Lokale SMTP-servers Externe SMTP-servers Dit zijn mailservers van een externe provider. Ze versturen e-mails via het internet naar ontvangers buiten je netwerk en bieden: Wereldwijde aflevering Authenticatie Versleuteling Spampreventie Voorbeelden Gmail Adres: smtp.gmail.com Poort: 587 (TLS) of 465 (SSL) Outlook Adres: smtp.office365.com Poort: 587 Ze vereisen correcte authenticatie (gebruikersnaam, wachtwoord of app-wachtwoord) en encryptie (TLS/SSL). Opmerking: we hebben al een handleiding voor externe SMTP-instellingen. De verzendopdrachten blijven hetzelfde. Configureer simpelweg de SMTP-instellingen en gebruik je Gmail- of andere provideraccounts. Lokale SMTP-servers Deze servers functioneren binnen een intern netwerk. Ideaal voor: Interne e-mails (bijv. tom@office.local → jerry@office.local) Lokale tests en ontwikkeling Interne communicatie Geen internet nodig Lokale SMTP-server instellen Stap 1 — Installeer Postfix sudo apt install postfix Stap 2 — Configureer Postfix sudo nano /etc/postfix/main.cf Belangrijke instellingen: myhostname = mail.office.local mydomain = office.local myorigin = $mydomain inet_interfaces = loopback-only local_recipient_maps = proxy:unix:passwd.byname mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain Sla op en herstart Postfix: sudo systemctl restart postfix Stap 3 — Gebruikers aanmaken sudo adduser linux sudo adduser hostman Hiermee maak je adressen zoals linux@office.local aan. Overzicht van sendmail sendmail is een bekende mail transfer agent (MTA) op Linux. Het werkt goed met SMTP-servers en kan e-mails verzenden vanaf lokale systemen of scripts. sendmail installeren Debian/Ubuntu sudo apt install sendmail CentOS/Red Hat sudo yum install sendmail Dienst starten en inschakelen sudo systemctl start sendmail sudo systemctl enable sendmail Configuratie testen echo "Testing sendmail setup" | sendmail -v your-email@example.com Inkomende e-mail controleren: mail Installeer mailutils als mail ontbreekt: sudo apt install mailutils Of bekijk lokale mailbox: cat /var/mail/user sendmail configureren sudo nano /etc/mail/sendmail.mc Voorbeeld: domeinnaam instellen: define(`confDOMAIN_NAME', `your_domain.com')dnl Nieuwe configuratie genereren: sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf Bij permissiefouten: sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf" sendmail herstarten: sudo systemctl restart sendmail E-mail verzenden met sendmail 1 — Maak een bestand aan nano email.txt Inhoud: Subject: Test Email from Hostman This is a test email sent using sendmail on Linux. 2 — E-mail versturen sendmail recipient@example.com < email.txt 3 — Controleren mail Bijlagen verzenden sendmail ondersteunt geen bijlagen standaard, maar met uuencode kan dit wel: sudo apt install sharutils Met een bijlage sturen: ( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com Controleren: mail Overzicht van mailx mailx is een eenvoudige maar efficiënte terminaltool voor e-mailbeheer. Het maakt deel uit van mailutils op de meeste distributies. mailx installeren Debian/Ubuntu sudo apt install mailutils Red Hat sudo yum install mail E-mail verzenden met mailx echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com E-mail met bijlage echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com Conclusie E-mails verzenden via de Linux-opdrachtregel is een krachtige manier om communicatie te automatiseren, servers te debuggen of configuraties te testen. Met tools zoals sendmail en mailx kun je zowel eenvoudige berichten als complexere e-mails met bijlagen beheren. Deze gids biedt duidelijke stappen om meteen aan de slag te gaan en je workflow te verbeteren.
26 November 2025 · 5 min to read
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

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