Startpagina > Netwerkbeheer > iptables

iptables: Linux firewall regels beheren

iptables is een command-line utility die de Netfilter-framework in de Linux-kernel gebruikt om IPv4-pakketfiltering en NAT (Network Address Translation) regels te configureren en te beheren. Hiermee kunt u netwerkverkeer controleren en de beveiliging van uw systeem verbeteren. iptables definieert pakketverwerkingsregels met behulp van de concepten van chains en tables.

Overzicht

iptables implementeert het beveiligingsbeleid van het systeem door regels te definiëren voor inkomende en uitgaande netwerkpakketten. Elke regel specificeert een actie (target) zoals ACCEPT (toestaan), DROP (negeren) of REJECT (weigeren) voor pakketten die aan specifieke voorwaarden voldoen. De INPUT, OUTPUT en FORWARD chains worden voornamelijk gebruikt, en de PREROUTING en POSTROUTING chains worden ook gebruikt voor NAT-functionaliteit.

Belangrijkste functies

  • Pakketfiltering (firewall)
  • Network Address Translation (NAT)
  • Poort doorsturen en omleiden
  • Verkeerscontrole gebaseerd op specifieke IP-adressen, poorten en protocollen

Belangrijkste opties

Het iptables commando wordt gebruikt met verschillende opties om specifieke regels toe te voegen, te verwijderen, te wijzigen of om de huidige regels op te vragen.

Regelbeheer

Matching voorwaarden

Targets (Acties)

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`iptables` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Voorbeelden van het instellen van algemene firewallregels met iptables. Het is raadzaam om altijd een back-up te maken van de huidige regels voordat u nieuwe regels toevoegt.

Alle huidige regels opvragen

sudo iptables -L -v -n

Vraagt de regels op met gedetailleerde informatie en IP-adressen in numerieke vorm.

SSH (poort 22) toestaan

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Sta inkomende SSH-verbindingen toe.

Specifiek IP-adres blokkeren

sudo iptables -A INPUT -s 192.168.1.100 -j DROP

Blokkeert al het inkomende verkeer van een specifiek IP-adres (bijv. 192.168.1.100).

Al het uitgaande verkeer toestaan

sudo iptables -P OUTPUT ACCEPT

Stelt het standaardbeleid van de OUTPUT chain in om al het uitgaande verkeer toe te staan.

Webserver poort doorsturen (80 -> 8080)

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

Leidt verzoeken op poort 80 om naar poort 8080 op de lokale machine. (Gebruikt de NAT table)

Intern netwerk masquerading (NAT)

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Wijzigt het bron-IP-adres voor verkeer van het interne netwerk dat de externe interface (bijv. eth0) verlaat. (Gebruikt de NAT table)

Installatie

iptables is standaard geïnstalleerd op de meeste Linux-distributies. Als het niet is geïnstalleerd, kunt u het installeren met de volgende commando's.

Debian/Ubuntu

sudo apt update
sudo apt install iptables

CentOS/RHEL/Fedora

sudo dnf install iptables

Tips & Aandachtspunten

iptables-regels kunnen verloren gaan bij het opnieuw opstarten van het systeem, dus het is belangrijk om te weten hoe u regels permanent kunt opslaan. Wees ook voorzichtig met de volgorde van de regels en het standaardbeleid.

Regels permanent opslaan

iptables-regels zijn standaard vluchtig en moeten worden opgeslagen om behouden te blijven na het opnieuw opstarten. De aanbevolen methode verschilt per distributie.

  • **Debian/Ubuntu**: Installeer `sudo apt install iptables-persistent` en sla de regels op met het commando `sudo netfilter-persistent save`. De regels worden opgeslagen in `/etc/iptables/rules.v4` en `/etc/iptables/rules.v6`.
  • **CentOS/RHEL/Fedora**: Installeer `sudo dnf install iptables-services`, schakel de service in met `sudo systemctl enable iptables && sudo systemctl start iptables`, en sla de regels op met `sudo iptables-save > /etc/sysconfig/iptables`.
  • **Algemene methode**: Sla de regels op in een bestand met `sudo iptables-save > /pad/naar/rules.v4` en maak vervolgens een script dat dit bestand laadt met `sudo iptables-restore < /pad/naar/rules.v4` bij het opstarten.

Belang van regelvolgorde

iptables-regels worden in een chain van boven naar beneden toegepast. Wanneer een pakket overeenkomt met een specifieke regel, wordt de actie van die regel uitgevoerd en worden verdere regels niet gecontroleerd. Daarom is het belangrijk om specifiekere regels (bijv. een specifiek IP blokkeren) boven algemenere regels (bijv. alle HTTP toestaan) te plaatsen.

Voorzichtigheid bij het instellen van standaardbeleid

Wees zeer voorzichtig bij het instellen van het standaardbeleid van een chain (bijv. `iptables -P INPUT DROP`). Voordat u het standaardbeleid instelt op DROP, moet u eerst regels toevoegen om essentiële services zoals SSH-verbindingen toe te staan. Anders kunnen alle netwerkverbindingen met het systeem worden geblokkeerd, waardoor toegang onmogelijk wordt.

Overgang naar nftables

Veel moderne Linux-distributies gebruiken `nftables` als het standaard firewall-framework in plaats van iptables. `nftables` integreert de functionaliteit van iptables en biedt een verbeterde syntaxis. Het `iptables` commando kan intern werken via een compatibiliteitslaag die `nftables` gebruikt, dus het is raadzaam om de standaard firewall-tool van uw systeem te controleren.


Hétzelfde categoriecommando