iptables unter Linux: eine praktische, vollständige und unkomplizierte Anleitung

Letzte Aktualisierung: 9 September 2025
  • Struktur und Fluss: Tabellen, Ketten und wie der Verkehr fließt
  • Regeln und Richtlinien: Befehle, Spiele und Hauptziele
  • NAT und Veröffentlichung: SNAT/MASQUERADE und DNAT in realen Szenarien
  • Sicheres Design: Funktionale DMZ und gute Betriebspraktiken

iptables-Firewall unter Linux

Wenn Sie es schaffen Linux-Distributionen zum Schutz Ihrer Sicherheit und Privatsphäre, früher oder später müssen Sie sich mit iptables befassen. Dieses Paketfiltersystem ist das Herzstück der klassischen Firewall in GNU/Linux, der entscheiden kann, welcher Datenverkehr ein- und ausgeht oder zwischen Netzwerken weitergeleitet wird. Bei richtiger Konfiguration ist es, als hätten Sie einen sehr guten Torwächter an der Tür Ihres Netzwerks, der Ihre Regeln ohne Zögern und mit chirurgischer Präzision durchsetzt.

In den folgenden Zeilen finden Sie einen vollständigen und aktualisierten Leitfaden, der das Wesentliche integriert: Firewall-Konzepte, Netfilter, Tabellen und Ketten, Paketfluss, Tastenbefehle, Regelerweiterungen und Ziele fortgeschritten, sowie praktische Szenarien wie NAT, Weiterleitungen, Standardrichtlinien und eine funktionierende DMZ. Alles wird in verständlicher, aber präziser Sprache erklärt, sodass Sie es sofort auf Ihre Infrastruktur anwenden können.

Firewalls im Kontext: Von Nachtclub-Türstehern bis zur DMZ

Eine Firewall ist im Wesentlichen ein Filter zwischen Netzwerken, der Regeln anwendet, um das Ziel jedes Pakets zu bestimmen. Stellen Sie sich das wie einen Türsteher in einem Nachtclub vor, der eine Liste mit Kriterien hat.Wenn das Paket den Anforderungen entspricht, ist es bestanden; wenn nicht, ist es raus. Diese Metapher hilft zu verstehen, dass es auf die Logik der Regeln und die Reihenfolge ihrer Auswertung ankommt.

Beim Netzwerkdesign sind einige Topologien sicherer als andere. Die DMZ (entmilitarisierte Zone) ist ein Zwischennetzwerk, das öffentliche Dienste beherbergt (z. B. ein Web- oder FTP-Server) und trennen Sie diese vom Unternehmens-LAN. Warum? Denn sollte ein Angreifer einen öffentlichen Server kompromittieren, verhindert die Segmentierung, dass er direkten Zugriff auf das restliche interne Netzwerk erhält.

Linux als Firewall: Netfilter und iptables

Der Linux-Kernel enthält Netfilter, ein Framework mit Hooks zum Abfangen und Manipulieren von PaketenIm Benutzerbereich ist iptables das Dienstprogramm, das die Regeln definiert, die der Kernel auf den Datenfluss anwendet. Diese Kernel-/Benutzertrennung ermöglicht hohe Leistung bei großer Flexibilität.

Es ist praktisch, die Dienstprogramme nach Protokoll zu unterscheiden: iptables (IPv4), ip6tables (IPv6), arptables (ARP) und ebtables (Ethernet-Frames). Im Kernel ist x_tables das gemeinsame Modul, das die gleiche Logik für die Zuordnung von Erweiterungen und Zielen verwendet. Und eine historische Anmerkung: iptables ersetzte ipchains und damit nftables hat iptables im Kernel 3.13 abgelöst, obwohl iptables in vielen Systemen immer noch sehr präsent ist.

Für den Betrieb benötigen Sie Administratorrechte. Führen Sie iptables als Root aus (oder mit sudo), normalerweise in /usr/sbin/iptables (Debian/Derivate) oder /sbin/iptables (Red Hat/Derivate). Die offizielle Dokumentation finden Sie unter man iptables und unter netfilter.org.

Linux-Distributionen für Server
Verwandte Artikel:
Die besten Linux-Distributionen für Server

iptables-Struktur: Tabellen, Ketten und Regeln

Iptables organisiert seine Logik in Tabellen, die aus Ketten voller Regeln bestehenJede Regel gibt Übereinstimmungsbedingungen und ein Ziel an, das angewendet werden soll, wenn das Paket übereinstimmt.

  • Filtertabelle (standardmäßig reine Filterung)
    • SPEISUNG: Verkehr, der an die Maschine selbst gerichtet ist.
    • FORWARD: Verkehr, der durch das Gerät läuft (Routing).
    • AUSGABE: lokal erzeugter Verkehr.
  • Nat-Tisch (Adressübersetzung; wird bei neuen Verbindungen ausgewertet)
    • Vorausschauend: bevor Sie sich für eine Route entscheiden; ideal für DNAT/Portweiterleitung.
    • AUSGABE: lokal erstellte Pakete vor dem Routing.
    • POSTROUTING: nach dem Routing; typisch für SNAT/MASQUERADE.
  • Mangroventisch (Feineinstellungen des Headers: TOS, TTL, Markierung usw.)
    • PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING: durchgehend verfügbar.
  • Rohtabelle (Verbindungsverfolgungssteuerung/Conntrack)
    • Vorausschauend y AUSGABE: um Datenverkehr zu markieren, der von Conntrack übersprungen werden soll.

Wenn ein Paket an einer Kette ankommt, wird sequentiell mit jeder Regel verglichen; wenn es übereinstimmt, wird sein Ziel ausgeführt und die Durchquerung beendet. Wenn es das Ende erreicht, ohne dass ein Treffer vorliegt und die Kette vordefiniert ist, wird die Standardrichtlinie (Kettenrichtlinie) dieser Kette.

  5 wichtige Verschlüsselungsmethoden zum Schutz Ihrer Daten

Paketfluss: Wohin und wann sie gehen

Um die Regeln richtig zu lokalisieren, ist es wichtig, die Route zu verstehen, der der Verkehr folgt. Ein Paket, das Ihr LAN in Richtung Internet verlässt Es wird typischerweise folgendermaßen verarbeitet: zuerst Vorausschauend (möglicherweise DNAT/Mangrove), geht durch FORWARD (Verkehrsfilterung) und vor dem Verlassen des Teams berührt POSTROUTING (SNAT/MASQUERADE, falls zutreffend).

Wenn das Ziel jedoch die Firewall selbst ist, PREROUTING → INPUT greift ein; wenn es von der lokalen Maschine ausgegeben wird, lautet der Pfad AUSGABE → POSTROUTINGDiese mentale Matrix erspart Ihnen Kopfschmerzen, wenn etwas nicht stimmt.

Grundlegende Befehle: Richtlinien auflisten, löschen, erstellen und als Standard festlegen

Um den aktuellen Status zu prüfen, USA iptables -L (optional -v für Details und -n (um Namen nicht aufzulösen). Sie können Ketten auch mit erstellen und löschen -N y -X und legen Sie Standardrichtlinien fest mit -P.

Wenn Sie von vorne beginnen müssen, saubere Regeln mit -F (spülen) und ggf. Zähler. Denken Sie daran, dass Sie Tabellen mit -t und spezifische Ketten; zum Beispiel iptables -F -t nat für das NAT.

Beim Definieren von Regeln sind die gängigsten Optionen unkompliziert: -A Ente, -I einfügen, -R ersetzt und -D löschen. Dann fügen Sie Selektoren hinzu wie -p (Protokoll), -s/-d (Ursprung/Ziel), -i/-o (Schnittstellen) und das Ziel mit -j (z.B., AKZEPTIEREN, VERWERFEN oder ABLEHNEN).

Die Standardrichtlinien definieren, was passiert, wenn keine Regeln übereinstimmen. Ein typisches gehärtetes Schema auf einem Host wäre INPUT DROP, FORWARD DROP, OUTPUT ACCEPT, Blockieren aller eingehenden Daten außer dem, was ausdrücklich erlaubt ist und zulassen, was herauskommt.

Übereinstimmungserweiterungen (-m): TCP, UDP, ICMP, MAC, Stateful und Multiport

Iptables erweitert seine Filter um passende Module mit -m. Die TCP-Version ermöglicht die Optimierung über Ports und Flags: --dport/--sport y --syn beispielsweise für neue Anschlusseröffnungen.

Für UDP, Sie können auch Abgangs- und Zielhäfen abgrenzenEin klassischer Fall: Öffnen des 80/443 für einen Webserver oder Zulassen ausgehender DNS-Abfragen auf 53/UDP.

Mit ICMP --icmp-type ermöglicht die Unterscheidung von Typen (z.B., Echo-Anfrage y Echo-Antwort für Pings). Dies ist nützlich, um Diagnosen zu ermöglichen, ohne die Tür für vollständiges ICMP offen zu lassen.

Es gibt auch das Modul mac zum Filtern nach MAC-Adresse mit --mac-source. Nützlich, wenn Sie einen verwalteten Computer mit einer dynamischen IP autorisieren möchten, die Firewall anzupingen, ohne auf die IP angewiesen zu sein.

Und, was auf operativer Ebene vielleicht am wichtigsten ist, Das Modul state (oder conntrack) mit --state NEW, ESTABLISHED, RELATEDDadurch können Antworten von bereits bestehenden Verbindungen zugelassen werden, wodurch die Anzahl der erforderlichen Regeln drastisch reduziert wird.

Um Ports zu gruppieren, multiport addieren --sports y --dports mit kommagetrennten Listen. Es ist praktisch, HTTP, HTTPS und SSH in einer einzigen Regel zu öffnen.

Ziele jenseits von ACCEPT/DROP: NAT und Co.

Zusätzlich zum Akzeptieren oder Verwerfen kann iptables Adressen und Ports neu schreiben um private Netzwerke mit dem Internet zu verbinden oder interne Dienste zu veröffentlichen.

MASQUERADE (At POSTROUTING aus der Tabelle nat) ersetzt die Quell-IP durch die Ausgangs-IP der Firewall, ideal, wenn die öffentliche IP ist dynamisch (DHCP). Dies ist das typische ausgehende NAT für ein gesamtes LAN.

SNAT (auch in POSTROUTING) setzt explizit die Quell-IP/den Quell-Port mit --to-source. Es wird verwendet, wenn Sie eine statische öffentliche IP haben und Sie möchten die Übersetzung genau steuern.

DTA (At PREROUTING o OUTPUT) ändern Sie die Ziel-IP mit --to-destination. Es sind die berühmten "offenen Häfen": Sie empfangen Datenverkehr auf der öffentlichen IP und leiten ihn an einen Server in der DMZ um, beispielsweise eine interne Website unter 192.168.1.2.

  Wie man einen alten PC mit Q4OS Schritt für Schritt wiederbelebt

Einfaches Beispiel: Filtern des Datenverkehrs zwischen zwei Netzwerken

Stellen Sie sich eine Maschine vor, die als Router/Firewall zwischen zwei Subnetzen fungiert. Wenn Sie möchten, dass nur Host B mit C kommuniziert und nur über TCP, wird die Tabelle filter und die richtige Zeichenfolge ist FORWARD, da der Verkehr durch die Geräte läuft.

Zuerst wenden Sie eine Standardrichtlinie DROP bei FORWARD und dann würden Sie den Verkehr B→C auf TCP (und gegebenenfalls C→B) explizit zulassen. Dieses Muster „Standardmäßig verweigern, so wenig wie möglich zulassen“ ist die Grundlage einer starken Sicherheitslage.

Alltagsfälle auf einem Laufsteg: typische Regeln

Ein Gateway mit zwei Schnittstellen, zum Beispiel eth1 (LAN) und eth0 (WAN), muss normalerweise Pakete vom LAN zum Internet weiterleiten. Dazu fügt es hinzu FORWARD -i eth1 -o eth0 -j ACCEPTund erlaubt nur den Rückwärtsgang ESTABLISHED,RELATED mit -m state.

In der Firewall selbst empfiehlt es sich, eingehender Verkehr, der eine Antwort auf ausgehende Verbindungen ist mit INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT, und erlauben Sie immer Loopback: INPUT -i lo -j ACCEPT.

Um LAN-Computern das Browsen zu ermöglichen, wenden Sie ausgehendes NAT an: -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source X.Y.Z.W (o MASQUERADE wenn die IP dynamisch ist). Dadurch werden die privaten IPs in Ihre öffentliche IP übersetzt.

Eine Grundhärtung blockiert Eingehende Pakete über das WAN mit falschen Quell-IPs (Ihre eigene öffentliche IP, private Bereiche 192.168.0.0/24, 127.0.0.0/8 usw.), da diese normalerweise auf Spoofing hinweisen.

Um Dienste auf der Firewall freizugeben (z. B. SMTP 25, HTTP 80, HTTPS 443 oder SSH 22), können Sie Erlauben Sie TCP-Pakete mit dem SYN-Flag an diese Zielports. Wenn Sie die Ziel-IP eingrenzen möchten, fügen Sie hinzu -d zur IP des Dienstes.

Gemeinsame Infrastrukturdienste: DHCP (Verkehr von Port 68 bis 67) auf der LAN-Schnittstelle und DNS vom autorisierten Resolver (UDP 53), wenn Sie nach Quelle filtern. Diese Öffnungen ermöglichen es Clients, IP-Adressen abzurufen und Namen aufzulösen.

Wenn Sie den Zugang schließen müssen, DROP auf eingehendes SSH/Telnet Es ist direkt; Sie können auch LEHNEN Sie Ausgaben an gesperrte IPs ab aus dem lokalen Netzwerk, sodass der Absender eine Benachrichtigung über die Ablehnung erhält.

Installieren und Verwalten des Dienstes auf Red Hat/CentOS-Systemen

In Legacy-Umgebungen mit CentOS/RHEL 5/6 reichte es aus, installieren mit yum -y install iptablesObwohl viele neue Distributionen heute nftables bevorzugen, ist iptables in Produktionssystemen und -geräten immer noch vorhanden.

Integration mit SysV-Dienste berechtigt, Regeln zu verwalten und beizubehalten: service iptables start|stop|restart y service iptables save, Einsparung in /etc/sysconfig/iptables. So aktivieren Sie es beim Booten: chkconfig iptables on auf den Stufen 2–5.

In modernen Systemen, obwohl die Wrapper, die Idee bleibt bestehen: Regeln definieren, testen und einhalten damit sie Neustarts überstehen, entweder mit Systemtools oder Skripten.

Präzises Auflisten, Löschen und Bearbeiten von Regeln

Um den Status mit Regelnummern anzuzeigen, USA iptables -L --line-numbers -n -v. Auf diese Weise können Sie nach Index löschen mit -D INPUT 3 oder ersetzen durch -R ohne Verwirrung.

Wenn Sie eine selektive Löschung benötigen, Reinigen Sie nur die Kette oder das Brett, das berührt (-F FORWARD o -F -t nat). Vermeiden Sie Remote-Global-Sweeps ohne „Sicherheitsnetz“, da Sie sonst möglicherweise den SSH-Zugriff verlieren.

Als gängige Praxis Legen Sie zunächst Regeln fest, die Ihre SSH-Sitzung zulassen, wenden Sie Änderungen schrittweise an und verfügen Sie über ein Rollback-Fenster (z. B. einen Cron, der Regeln in 5 Minuten wiederherstellt, wenn Sie nicht committen).

Persistenz mit iptables-save und iptables-restore

Um Ihre Einstellungen zu speichern, iptables-save > /ruta/backup/iptables.rules Generiert einen maschinenlesbaren Dump aller Tabellen. Ideal für Änderungskontrolle und Migrationen.

  Geschichte des Linux-Betriebssystems: Ein vollständiger Leitfaden

Zum Aufladen verwenden Sie iptables-restore < /ruta/backup/iptables.rulesSie können die Boot-Wiederherstellung mit systemd, Init-Skripten oder einem Cron-Job automatisieren. @reboot, wodurch sichergestellt wird, dass die Firewall nach einem Neustart aktiv bleibt.

Ergänzen Sie diese bewährten Betriebspraktiken: läuft mit entsprechenden Berechtigungen, speichern Sie Dateien außerhalb /tmp und richten Sie sie an der Umgebung aus (korrekte Schnittstellen und Subnetze), um Überraschungen zu vermeiden.

DMZ im Detail: ein vollständiges und realistisches Beispiel

Angenommen, eine Linux-Firewall ist im „Einzelbenutzermodus“ (ohne NAT) mit einem Router verbunden und verfügt über drei Schnittstellen: eth0 (LAN 192.168.1.1/24), eth1 (DMZ 192.168.2.1/24) und eth2 (WAN mit IP per DHCP)Die DMZ beherbergt eine Apache-Webserver (192.168.2.2) und ein FTP (192.168.2.3).

Politische Ziele: Veröffentlichen Sie HTTP/HTTPS und FTP aus der DMZ im Internet, erlauben Sie die SSH-Administration vom LAN zur Firewall und erlauben Sie dem LAN das Browsen (HTTP/HTTPS), FTP-Übertragungen und die DNS-Auflösung. Alles andere wird verweigert.

Im Großen und Ganzen: in Filter/Weiterleiten ermöglicht LAN→WAN-Transit mit Antwort und WAN→DMZ nur zu veröffentlichten Ports mit ESTABLISHED,RELATED für die Antworten. In nat/PREROUTING, wendet DNAT an, um Dienste zu veröffentlichen; in nat/POSTROUTING, SNAT/MASQUERADE für LAN/DMZ-Ausgabe.

Beispiele für Eröffnungen: DNAT 80/443 bis 192.168.2.2 und 21/20 (je nach Modus) bis 192.168.2.3 mit den entsprechenden FORWARD Erlauben Sie diese Ports. Sichern Sie die Steuer- und Datenkanäle für FTP (aktiv/passiv) oder begrenzen Sie den passiven Bereich und berücksichtigen Sie dies in der Firewall.

Für LAN: ermöglicht den Ausgang zu 80, 443, 21 und 53 und seine Rückkehr, Anwendung von Outbound NAT in POSTROUTING. Autorisieren Sie in der Firewall Eingehendes SSH nur aus dem Subnetz 192.168.1.0/24 und blockiert unerwünschte Zugriffe aus dem WAN.

Hygiene nicht vergessen: DROP auf ungültige Bereiche über das WAN (privat, Loopback, Ihr eigenes öffentliches) und zeichnen Sie auf, was immer Sie interessiert. Mit restriktiven Standardrichtlinien und minimalen Öffnungen wird Ihr Risiko auf das absolute Minimum reduziert.

Gute Praktiken und operative Tricks

Arbeiten Sie immer mit einem Plan: dokumentieren Sie, was Sie zulassen und warum, überprüfen Sie den erwarteten Ablauf mit einem einfachen Diagramm und wenden Sie die Regeln in der richtigen Reihenfolge an, um Überschneidungen zu vermeiden.

Verwenden Sie eine Kombination von Modulen mit einem Kopf: Status/Conntrack für Antworten, TCP-Con --syn in Öffnungen und multiport zur GruppeAuf diese Weise vereinfachen Sie die Arbeit und verringern das Risiko von Inkonsistenzen.

Erwägen Sie für Umgebungen mit häufigen Änderungen, die Regeln nach Funktion zu trennen: benutzerdefinierte Ketten (Mit -N) Aufrufe von INPUT/OUTPUT/FORWARD, sodass das Behalten oder Umkehren von Teilen sauberer ist.

Der Übergang zu nftables ist auf vielen Distributionen im Gange, aber wenn Ihre Plattform/Ihr Produkt iptables verwendet, Wenn Sie diese Teile genau kennen, haben Sie die volle Kontrolle.Und wenn Sie migrieren, können Sie die entsprechende Mindmap in Nftables problemlos verstehen.

Mit dem, was Sie gesehen haben, verfügen Sie nun über eine solide Grundlage für die Bereitstellung und Wartung von iptables in der Produktion: Sie verstehen die Architektur (Tabellen, Ketten und Fluss), beherrschen die wesentlichen Befehle, wenden NAT und Veröffentlichung mit DNAT/SNAT an und wissen, wie Sie eine sichere DMZ einrichten.Von hier an liegt es an Ihnen, sich an Ihren speziellen Fall anzupassen, regelmäßige Prüfungen durchzuführen und Ihre Regeln so klar wie Ihr Netzwerkmodell zu halten.