Ongeautoriseerde toegang en serveraanvallen zijn serieuze bedreigingen. Daarom is een firewall een essentieel onderdeel van je netwerkbeveiliging. Weten hoe je met Iptables-regels werkt, is een van de belangrijkste manieren om deze risico's op je Linux-systemen te beperken. Deze tutorial helpt je vertrouwd te raken met de basisconcepten van firewalls, zoals het weergeven en verwijderen van iptables-regels in Ubuntu, zodat je eenvoudige commando's kunt uitvoeren om dit te doen. Voordat we bespreken hoe je iptables-regels kunt weergeven of verwijderen, leggen we eerst uit wat iptables-regels zijn en waarom we ze gebruiken.
- Wat is Iptables?
- Een volledige handleiding voor Iptables in Ubuntu
- Hoe verwijder je iptables-regels?
- Hoe verwijder je alle regels, alle ketens en stel je alles in op accepteren?
- Hoe stel je iptables in in Ubuntu?
- Wat is het verschil tussen iptables en firewalld?
- Conclusie: iptables-regels weergeven
- Veelgestelde vragen
Wat is Iptables?
iptables is een firewall-hulpprogramma voor de opdrachtregel waarmee je verkeer kunt toestaan of blokkeren via beleidsketens. Wanneer verbindingen tot stand worden gebracht op uw systeem, doorzoekt iptables de lijst met regels op een overeenkomst. Wordt er geen gevonden, dan valt het terug op de standaardactie.
iptables is bijna altijd vooraf geïnstalleerd op elke Linux-distributie. U kunt het volgende commando gebruiken om het bij te werken of te installeren:
sudo apt-get install iptables
Waarom gebruiken we Iptables?
Als Linux-opdrachtregelfirewall stelt iptables systeembeheerders in staat inkomend en uitgaand verkeer te beheren via configureerbare tabelregels. iptables maakt gebruik van tabellen met ketens die ingebouwde of gebruikergedefinieerde regels bevatten.
Zoals vermeld in het vorige gedeelte, speelt iptables een essentiële rol in de netwerkbeveiliging van de meeste Linux-systemen. De rest van dit artikel richt zich voornamelijk op het beschrijven van alle iptables-regels, inclusief concepten zoals het weergeven en verwijderen van iptables-regels.
Dit artikel bespreekt een aantal essentiële iptables-taken: regels weergeven, pakket- en byte-tellers resetten, iptables-regels verwijderen, ketens leegmaken en alle ketens verwijderen en al het verkeer accepteren.
Een volledige handleiding voor Iptables in Ubuntu
Voordat u iptables-regels bekijkt, dient u te beschikken over een Linux-server waarop het iptables-commando is geïnstalleerd, en over sudo-rechten. Let er bij het werken met firewalls op dat u zichzelf niet buitensluit door SSH-verkeer te blokkeren (standaard poort 22). Als u door uw firewallinstellingen de toegang verliest, moet u mogelijk via een out-of-band console verbinding maken om dit te herstellen.
Lees ook: Hoe je de SSH-poort wijzigt in Linux: een snelle stap-voor-stapgids
Regels weergeven per specificatie
U kunt uw actieve iptables-regels bekijken in een tabel of als een lijst met regelspecificaties. Beide methoden geven grotendeels dezelfde informatie weer, maar in een ander formaat. Om alle regels van de actieve iptables per specificatie te bekijken, voert u het iptables-commando uit met de -S optie:
sudo iptables -S
Na het uitvoeren van dit commando ziet u een uitvoer als deze:

Een specifieke keten weergeven
Als u de uitvoer wilt beperken tot een specifieke keten zoals INPUT, OUTPUT of TCP, kunt u de ketennaam direct na de optie -S opgeven. Het volgende commando geeft bijvoorbeeld de regels in de TCP-keten weer:
sudo iptables -S TCP

Zoals eerder vermeld, is er nog een manier om iptables-regels te bekijken: als een tabel. Hieronder wordt deze methode toegelicht.
Regels weergeven als tabellen
Door iptables-regels in tabelvorm weer te geven, kunt u verschillende regels gemakkelijk vergelijken. Voer het volgende iptables-commando uit met de -L optie om alle actieve regels als tabel te tonen:
sudo iptables -L
Dit commando toont alle huidige regels geordend per keten. U kunt de uitvoer beperken tot een specifieke keten zoals INPUT, OUTPUT of TCP door de ketennaam direct na de optie -L op te geven. Hieronder ziet u een voorbeeld waarbij de uitvoer wordt beperkt tot de INPUT-keten:
sudo iptables -L INPUT

De eerste regel van de uitvoer toont de ketennaam (in dit geval INPUT) en het standaardbeleid (DROP). De volgende regel bevat de kolomkoppen en de regels van de keten. Hieronder worden ze toegelicht:
- Target: Als een pakket overeenkomt met de regel, bepaalt het target wat ermee moet gebeuren. Een pakket kan worden geaccepteerd, gedropt, gelogd of doorgestuurd naar een andere keten voor verdere vergelijking.
- prot: Het protocol (zoals TCP, udp, ICMP of all)
- opt: geeft IP-opties aan (zelden gebruikt)
- source: toont het bron-IP-adres/subnet van het verkeer
- destination: toont het doel-IP-adres/subnet van het verkeer
De kolom zonder label geeft de opties van een regel weer: alles wat niet in de vorige kolommen is opgenomen. Dit kan van alles zijn, van bron- en doelpoorten tot de verbindingsstatus van een pakket.
Lees ook: OpenVPN installeren op VPS – OpenVPN-client instellen 🔑
Hoe bekijk je pakkettellingen en totale pakketgrootte?
Bij het weergeven van iptables-regels kun je het aantal pakketten en de totale omvang in bytes tonen die overeenkomen met elke specifieke iptables-regel. Dit helpt vaak om te begrijpen welke regels van toepassing zijn op bepaalde pakketten. Hiervoor gebruik je de -L en -v opties samen om dit te bereiken dit.
Hier is een voorbeeld waarbij we opnieuw de INPUT-keten gebruiken, met de -v optie:
sudo iptables -L INPUT -v

Je ziet dat de lijst nu twee extra kolommen bevat met de naam pkts en bytes. We hebben verschillende manieren besproken om alle iptables-regels op te vragen. Nu is het tijd om te leren hoe je pakketaantallen en totale omvang kunt resetten.
Hoe reset je pakkettellingen en totale pakketgrootte?
Gebruik de -Z optie om de pakket- en byte-tellers van je regels te wissen of op nul te zetten. Ze worden ook gereset bij een herstart, wat handig is als je wilt controleren of de server nieuw verkeer ontvangt dat overeenkomt met je bestaande regels.
Je kunt de tellers voor alle ketens en regels wissen met de -Z optie op zichzelf:
sudo iptables -Z
Om de tellers voor alle regels in een specifieke keten te verwijderen, gebruik je de -Z optie en geef je de keten op. Het volgende commando wist bijvoorbeeld de tellers van de INPUT-keten:
sudo iptables -Z INPUT
Als je de tellers voor een specifieke regel wilt wissen, moet je de naam van de keten en het regelnummer exact opgeven. Het volgende commando zet bijvoorbeeld de tellers van de eerste regel in de INPUT-keten op nul:
sudo iptables -Z INPUT 1
Naast het opvragen van alle iptables-regels en het resetten van pakket- en byte-tellers, is het ook nuttig om te weten hoe je een iptables-regel verwijdert.
Hoe verwijder je iptables-regels?
Je kunt meerdere commando's gebruiken om iptables-regels te verwijderen of alle regels in een keten te wissen. Hieronder bespreken we deze methoden,
Regels verwijderen per specificatie
Een manier om iptables-regels te verwijderen is via regelspecificatie. Hiermee kun je het iptables-commando uitvoeren met de -D optie en de regelspecificatie. Als je regels op deze manier wilt verwijderen, kun je de uitvoer van de regellijst, iptables -S, als referentie gebruiken.
Om bijvoorbeeld de regel te verwijderen die ongeldige inkomende pakketten dropt (-A INPUT -m conntrack –ctstate INVALID -j DROP), voer je het volgende commando uit:
sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
Let op: de -A optie geeft de positie van de regel aan bij het aanmaken en moet hier worden weggelaten.
Regels verwijderen per keten en nummer
Een andere manier om iptables-regels te verwijderen is via de keten en het regelnummer. Voer het volgende commando in om het regelnummer van een regel op te vragen, de regels in tabelformaat weer te geven en de –line-numbers optie:
sudo iptables -L --line-numbers

Na het uitvoeren hiervan heeft elke iptables-regel een regelnummer, weergegeven onder de num-header.
Als je weet welke regel je wilt verwijderen, onthoud dan de keten en het regelnummer. Gebruik het commando iptables -D met de keten en het regelnummer. Als je bijvoorbeeld de INPUT-regel wilt verwijderen die ongeldige pakketten dropt, zie je dat dit regel 3 van de INPUT-keten is. Voer dan dit commando uit:
sudo iptables -D INPUT 3
Hoe leeg je ketens?
Er is een manier om alle Iptables-regels in een chain te verwijderen, wat we ketens spoelennoemen. Hier bespreken we de verschillende methoden om dit te doen. Voordat je verdergaat, let er goed op dat je jezelf niet buitensluit van de server via SSH bij het flushen van een chain met een standaard policy van drop of deny. Als dat toch gebeurt, moet je mogelijk via de console verbinding maken om je toegang te herstellen.
Een enkele chain flushen
Om een specifieke chain te flushen, met andere woorden alle regels in die chain te verwijderen, gebruik je het -F of het equivalent –flush optie commando gevolgd door de naam van de gekozen chain. Stel dat je alle regels in de INPUT chain wilt verwijderen: hoe doe je dat? Eenvoudig, voer het volgende commando uit:
sudo iptables -F INPUT
Alle chains flushen
Om alle chains te verwijderen of te flushen, gebruik je de optie -F of het equivalent –flush op zichzelf:
sudo iptables -F
Hoe verwijder je alle regels, alle ketens en stel je alles in op accepteren?
Hier beschrijven we hoe je alle firewallregels, tabellen en chains flusht en al het netwerkverkeer toestaat. Let op: dit proces schakelt de firewall effectief uit. Volg dit gedeelte dus alleen als je je firewallconfiguratie volledig opnieuw wilt opzetten.
Stel eerst het standaardbeleid voor elk van de ingebouwde chains in op ACCEPT. De belangrijkste reden hiervoor is ervoor te zorgen dat je jezelf niet buitensluit van de server via SSH:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
Vervolgens moet je de nat- en mangle-tabellen flushen, alle chains flushen (-F)en alle niet-standaard chains verwijderen (-X) zoals dit:
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X
Na het uitvoeren van de vorige commando's staat de firewall al het netwerkverkeer toe. Als je nu je regels opvraagt, zie je dat er geen zijn. Alleen de drie standaard chains blijven over: INPUT, FORWARD en OUTPUT.
Hoe stel je iptables in in Ubuntu?
Zoals bij elk standaard firewallgedrag worden de iptables-regels gelezen in de volgorde waarin ze per chain zijn opgenomen. Je moet de regels dus in de juiste volgorde instellen. Nieuwe regels die je toevoegt, worden aan het einde van de regellijst geplaatst. Je kunt een nieuwe regel op een specifieke positie invoegen met iptables -I <index> -command. De <index> staat voor het volgnummer waarop je de regel wilt invoegen in dit commando. Gebruik het volgende commando om te bepalen welk indexnummer je moet opgeven:
sudo iptables -L --line-numbers
Het getal aan het begin van elke regelregel geeft de positie in de chain aan. Om een nieuwe regel boven een bestaande regel in te voegen, gebruik je het indexnummer van die bestaande regel. Als je bijvoorbeeld een nieuwe regel bovenaan de chain wilt toevoegen, gebruik je het volgende commando met indexnummer 1:
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
Wat is het verschil tussen iptables en firewalld?
Zowel iptables als firewalld zijn praktische hulpmiddelen voor het beheren van firewalls op verschillende Linux-systemen die specifiek zijn ontworpen voor pakketfiltering (statische filtering). Pakketfiltering is een firewallstrategie waarmee gebruikers de toegang tot een netwerk kunnen beheren door inkomende en uitgaande informatiepakketten te controleren. Die pakketten worden doorgelaten of geblokkeerd op basis van vooraf ingestelde firewallregels over de bron- en doelprotocollen, poorten en IP-adressen. Deze regels bieden een effectief beveiligingsmechanisme en maken pakketfiltering tot een goede verdediging tegen apparaten die van buiten het LAN (Local Area Network) van het systeem worden gerouteerd.
Firewalld werd oorspronkelijk geïntroduceerd als software om iptables te beheren en het voor gebruikers eenvoudiger te maken om ermee te werken. Nu we zowel firewalld als iptables hebben toegelicht, vergelijken we ze in meer detail.
iptables vs firewalld: Systeemconfiguratie
Firewalld en iptables gebruiken verschillende configuraties en standaard opslagmethoden. Bij iptables vereist elke wijziging dat alle bestaande regels worden gewist en de nieuwe worden ingelezen, waardoor het systeem opnieuw moet opstarten. Bij firewalld worden de regels niet opnieuw aangemaakt. In plaats daarvan worden alleen de aangebrachte wijzigingen toegepast op de bestaande regels, zodat je ze direct in de runtime ziet ingaan.
iptables vs firewalld: Gebruikersinterface
Firewalld gebruikt een grafische gebruikersinterface (GUI). Iptables daarentegen werkt via een opdrachtregelinterface (CLI), wat het voor sommige gebruikers lastiger maakt om de Linux-kernelfirewallregels te beheren via iptables. Dat maakt firewalld de toegankelijkere optie. Houd er wel rekening mee dat iptables een kortere responstijd heeft, omdat je werkt met korte commando's. Beide tools hebben hun eigen toepassingen, dus kies degene waarmee je het prettigst werkt.
Conclusie: iptables-regels weergeven
Iptables is een veelzijdig firewallprogramma dat speciaal is gemaakt voor Linux-besturingssystemen. Of je nu een beginnende Linux-enthousiasteling bent of een ervaren systeembeheerder, iptables-regels kunnen je van pas komen. Dit artikel behandelde voornamelijk basiscommando's voor dit firewallprogramma, waaronder het weergeven en verwijderen van iptables-regels, met als doel een beknopt overzicht te geven van de mogelijkheden van Linux. Daarnaast kun je gebruikmaken van onze Linux VPS hostingoplossingen om het volledige potentieel van dit besturingssysteem te benutten. Bij Cloudzy bieden we diverse KVM-gebaseerde Linux VPS-plannen aan die geschikt zijn voor uiteenlopende toepassingen, zoals webhosting, het uitrollen van een webapplicatie of het opzetten van een omgeving om code te ontwikkelen, testen en automatiseren.
Veelgestelde vragen
Hoe geef je alle Linux iptables-regels per specificatie weer?
Als je alle momenteel actieve iptables-regels wilt weergeven op basis van hun specificatie of functie, kun je dat doen met het iptables-commando gevolgd door de -S vlagoptie. Let op het gebruik van de sudo trefwoord in dit geval:
sudo iptables -S
Hoe verwijder je iptables-regels?
Om een specifieke chain te verwijderen, inclusief alle regels daarin, moet je de optie -F of –flush gebruiken samen met de naam van de chain. Stel dat je alle regels in de OUTPUT chain wilt verwijderen. Hoe pak je dat aan? Voer dit commando uit:
sudo iptables -F OUTPUT
Hoe werkt iptables in Ubuntu?
De iptables firewall vergelijkt netwerkverkeer met een reeks regels. Deze regels bepalen welke kenmerken een pakket moet hebben om overeen te komen, en welke actie er wordt ondernomen als een pakket overeenkomt. Er zijn uiteraard veel opties om in te stellen welke pakketten bij een specifieke regel passen.
Worden iptables-regels direct van kracht? Waarom?
Ja, iptables-regels zijn direct van kracht. Omdat je script regels toevoegt aan de INPUT- en OUTPUT-chains, worden die regels aan het einde van die chains gezet.