Wer unter Ubuntu eine moderne Firewall professionell einrichten möchte, sollte sich mit nftables beschäftigen. Viele Linux-Nutzer kennen noch ältere Werkzeuge wie iptables oder die einfache Bedienung über UFW. nftables ist die moderne Weiterentwicklung für die Paketfilterung unter Linux und spielt in aktuellen Systemen eine immer wichtigere Rolle. Für Anfänger wirkt das Thema zunächst technisch, weil Begriffe wie Tabellen, Chains, Regeln, Hooks oder Policies nicht sofort vertraut sind. In der Praxis ist nftables aber gut lernbar, wenn man Schritt für Schritt vorgeht. Genau das ist das Ziel dieses Tutorials. Sie lernen hier, wie Sie nftables unter Ubuntu einrichten, wie die grundlegende Struktur funktioniert, wie Sie Regeln für SSH, Webserver und andere Dienste setzen und worauf Sie bei einer sicheren Firewall-Konfiguration achten sollten. Obwohl das Thema auf Expertenniveau erklärt wird, bleibt die Sprache bewusst klar, ruhig und leicht verständlich. So erhalten Anfänger, IT-Studenten und Linux-Lernende eine saubere und professionelle Einführung in eine moderne Ubuntu-Firewall.
Was ist nftables unter Ubuntu?
nftables ist ein modernes Framework für Paketfilterung und Netzwerkregeln unter Linux. Es ersetzt ältere Werkzeuge wie iptables, ip6tables, arptables und ebtables durch ein gemeinsames, flexibleres System. Das Ziel von nftables ist, Firewall-Regeln klarer, effizienter und einfacher verwaltbar zu machen.
Wenn Sie nftables unter Ubuntu einsetzen, steuern Sie damit, welche Netzwerkpakete erlaubt, blockiert oder weitergeleitet werden. Das betrifft eingehende Verbindungen, ausgehende Verbindungen und in bestimmten Szenarien auch weitergeleiteten Verkehr, zum Beispiel bei Routing oder NAT. nftables ist daher nicht nur für Server interessant, sondern auch für Testumgebungen, Labor-Systeme und professionelle Linux-Setups.
Warum nftables wichtig ist
- Es ist die moderne Firewall-Technik unter Linux.
- Es ersetzt mehrere ältere Werkzeuge durch ein einheitliches System.
- Regeln lassen sich klarer strukturieren.
- IPv4 und IPv6 können sauber gemeinsam verwaltet werden.
- Die Firewall-Konfiguration wird flexibler und besser wartbar.
Warum sollte man unter Ubuntu nftables statt nur iptables kennen?
Viele Linux-Anleitungen arbeiten noch mit iptables. Das ist historisch verständlich, denn iptables war lange Zeit das Standardwerkzeug für Firewalls unter Linux. In modernen Ubuntu-Umgebungen ist nftables aber sehr wichtig, weil es die neuere und elegantere Lösung ist. Gerade wer Linux professionell lernen oder administrieren möchte, sollte diese Technik verstehen.
nftables bietet eine einheitlichere Syntax, eine klarere Struktur und oft eine bessere Übersicht als ältere Regelwerke. Dadurch ist es besonders interessant für Administratoren, die nicht nur einzelne Ports öffnen wollen, sondern eine saubere, langfristige Firewall-Strategie aufbauen möchten.
Vorteile von nftables
- Moderne Architektur
- Bessere Übersicht bei komplexen Regeln
- Einheitliche Verwaltung mehrerer Protokolle
- Weniger Redundanz bei IPv4- und IPv6-Regeln
- Gut geeignet für professionelle Linux-Administration
Prüfen, ob nftables unter Ubuntu installiert ist
Bevor Sie nftables unter Ubuntu einrichten, sollten Sie prüfen, ob das Paket bereits vorhanden ist. Auf vielen aktuellen Ubuntu-Systemen ist nftables verfügbar oder leicht nachinstallierbar.
Prüfen, ob nft verfügbar ist
nft --version
Wenn keine Version angezeigt wird, können Sie nftables installieren.
nftables unter Ubuntu installieren
sudo apt update
sudo apt install nftables -y
Danach prüfen Sie erneut die Version:
nft --version
Dienststatus prüfen
sudo systemctl status nftables
So sehen Sie, ob der Dienst bereits aktiv ist und ob eine Konfiguration geladen wurde.
Die Grundidee von nftables verstehen
Damit Sie nftables unter Ubuntu professionell einsetzen können, sollten Sie zuerst die Grundstruktur verstehen. nftables arbeitet vor allem mit Tabellen, Chains und Regeln.
- Tabelle: Ein Container für Chains und Regeln
- Chain: Eine Kette von Regeln für einen bestimmten Zweck
- Regel: Eine konkrete Anweisung, was mit Paketen passieren soll
Zusätzlich gibt es sogenannte Hooks. Sie bestimmen, an welcher Stelle im Netzwerk-Stack eine Chain arbeitet. Für den Einstieg sind vor allem drei Richtungen wichtig:
- input: Pakete, die an das lokale System gehen
- output: Pakete, die vom lokalen System ausgehen
- forward: Pakete, die durch das System weitergeleitet werden
Wenn Sie also eine Ubuntu-Firewall mit nftables aufbauen, arbeiten Sie meistens zuerst mit einer Tabelle und mit Chains für input, output und forward.
Die aktuelle nftables-Konfiguration anzeigen
Bevor Sie neue Regeln setzen, ist es sinnvoll, die aktuelle Konfiguration zu prüfen. So sehen Sie, ob bereits Tabellen, Chains oder Regeln vorhanden sind.
Komplette Regelübersicht anzeigen
sudo nft list ruleset
Wenn noch keine Regeln konfiguriert sind, kann die Ausgabe leer oder sehr kurz sein. Dieser Befehl ist einer der wichtigsten in der täglichen Arbeit mit nftables.
Nur Tabellen anzeigen
sudo nft list tables
Damit erkennen Sie schnell, ob bereits eine Filtertabelle oder andere Tabellen existieren.
Eine einfache nftables-Struktur unter Ubuntu anlegen
Für eine professionelle und gleichzeitig gut verständliche Basis können Sie mit einer eigenen Tabelle für Filterregeln beginnen. Danach legen Sie die Chains für input, forward und output an.
Tabelle anlegen
sudo nft add table inet filter
Die Familie inet ist sehr praktisch, weil Sie damit IPv4 und IPv6 gemeinsam verwalten können.
Input-Chain anlegen
sudo nft add chain inet filter input { type filter hook input priority 0 ; policy drop ; }
Forward-Chain anlegen
sudo nft add chain inet filter forward { type filter hook forward priority 0 ; policy drop ; }
Output-Chain anlegen
sudo nft add chain inet filter output { type filter hook output priority 0 ; policy accept ; }
Diese Grundstruktur bedeutet:
- Eingehender Verkehr wird standardmäßig blockiert.
- Weitergeleiteter Verkehr wird standardmäßig blockiert.
- Ausgehender Verkehr wird standardmäßig erlaubt.
Das ist für viele Ubuntu-Server ein sinnvoller Startpunkt.
Warum Default Policies wichtig sind
Eine gute Firewall arbeitet meist nach dem Prinzip: Alles blockieren, was nicht ausdrücklich erlaubt ist. Genau dafür sind Standardrichtlinien, also Policies, wichtig. Wenn die Input-Policy auf drop steht, werden eingehende Pakete verworfen, solange keine passende Erlaubnisregel existiert.
Vorteile einer restriktiven Policy
- Unbekannte Dienste bleiben nicht versehentlich offen.
- Die Angriffsfläche des Systems wird kleiner.
- Nur bewusst freigegebene Verbindungen sind erlaubt.
- Die Firewall bleibt klar und kontrollierbar.
Gerade für Anfänger ist dieses Denken sehr wichtig: Erst sicher blockieren, dann gezielt notwendige Ausnahmen definieren.
Wichtige Basisregeln für nftables unter Ubuntu
Bevor Sie einzelne Dienste wie SSH oder HTTP erlauben, sollten einige grundlegende Regeln gesetzt werden. Dazu gehören zum Beispiel der lokale Verkehr über das Loopback-Interface und bereits bestehende Verbindungen.
Loopback-Verkehr erlauben
sudo nft add rule inet filter input iif lo accept
Diese Regel erlaubt lokalen Verkehr innerhalb des Systems. Das ist wichtig, damit interne Prozesse korrekt arbeiten.
Bereits bestehende und zugehörige Verbindungen erlauben
sudo nft add rule inet filter input ct state established,related accept
Damit werden Antworten auf bereits erlaubte Verbindungen akzeptiert. Ohne diese Regel würden viele normale Netzwerkabläufe nicht sauber funktionieren.
Ungültige Verbindungen verwerfen
sudo nft add rule inet filter input ct state invalid drop
Diese Regel hilft dabei, fehlerhafte oder unklare Pakete früh zu verwerfen.
SSH mit nftables sicher freigeben
Wenn Sie einen Ubuntu-Server remote verwalten, ist SSH fast immer einer der wichtigsten Dienste. Deshalb sollte SSH gezielt und sauber freigegeben werden. Achten Sie besonders darauf, sich nicht selbst auszusperren.
SSH-Port 22 freigeben
sudo nft add rule inet filter input tcp dport 22 accept
Wenn Sie einen anderen SSH-Port verwenden, passen Sie die Portnummer an.
SSH nur aus einem bestimmten Netz erlauben
sudo nft add rule inet filter input ip saddr 192.168.1.0/24 tcp dport 22 accept
Damit erlauben Sie SSH nur aus dem angegebenen IPv4-Netz. Das ist deutlich sicherer als eine Freigabe für alle Quellen.
Warum gezielte SSH-Regeln sinnvoll sind
- Administrative Zugänge werden eingeschränkt.
- Unnötiger Zugriff aus fremden Netzen wird verhindert.
- Die SSH-Sicherheit lässt sich besser kontrollieren.
Webserver mit nftables erlauben
Wenn auf dem Ubuntu-System ein Webserver wie Apache oder Nginx läuft, müssen HTTP und oft auch HTTPS erreichbar sein. Diese Freigaben lassen sich mit klaren Regeln setzen.
HTTP erlauben
sudo nft add rule inet filter input tcp dport 80 accept
HTTPS erlauben
sudo nft add rule inet filter input tcp dport 443 accept
So bleibt der Server für Webzugriffe erreichbar, während andere nicht freigegebene Ports weiterhin blockiert bleiben.
Die Reihenfolge von nftables-Regeln verstehen
Wie bei vielen Firewall-Systemen ist auch bei nftables die Reihenfolge der Regeln wichtig. Pakete werden der Reihe nach mit Regeln verglichen. Sobald eine passende Aktion gefunden wird, wird diese angewendet. Deshalb sollten allgemeine Regeln und spezielle Regeln bewusst angeordnet werden.
Warum die Reihenfolge wichtig ist
- Eine frühe Drop-Regel kann spätere Accept-Regeln unwirksam machen.
- Basisregeln wie established,related sollten früh stehen.
- Spezielle Freigaben müssen vor einer allgemeinen Blocklogik sinnvoll platziert sein.
Gerade bei komplexeren Regeln ist eine saubere Struktur entscheidend für Übersicht und Sicherheit.
nftables-Regeln in einer Konfigurationsdatei speichern
Direkt eingegebene nft-Befehle sind gut zum Lernen und Testen. Für eine professionelle Ubuntu-Firewall sollten Regeln aber sauber in einer Konfigurationsdatei hinterlegt werden. So bleibt die Konfiguration dauerhaft, nachvollziehbar und leichter wartbar.
Die zentrale Datei ist oft:
/etc/nftables.conf
Aktuelle Konfiguration anzeigen
cat /etc/nftables.conf
Beispiel für eine einfache nftables-Konfiguration
table inet filter { chain input { type filter hook input priority 0; policy drop;iif lo accept
ct state established,related accept
ct state invalid drop
tcp dport 22 accept
tcp dport 80 accept
tcp dport 443 accept
}
chain forward {
type filter hook forward priority 0;
policy drop;
}
chain output {
type filter hook output priority 0;
policy accept;
}}
Diese Struktur ist gut lesbar und eignet sich sehr gut als Basis für einen Ubuntu-Server mit SSH und Webdiensten.
Konfiguration laden
sudo nft -f /etc/nftables.confDanach prüfen Sie das aktive Regelwerk:
sudo nft list rulesetnftables-Dienst unter Ubuntu aktivieren
Damit Ihre Firewall-Regeln nach einem Neustart automatisch geladen werden, sollte der nftables-Dienst aktiviert sein.
Dienst aktivieren
sudo systemctl enable nftablesDienst starten
sudo systemctl start nftablesStatus prüfen
sudo systemctl status nftablesSo stellen Sie sicher, dass die moderne Firewall unter Ubuntu dauerhaft aktiv bleibt.
Regeln sicher testen, ohne sich auszusperren
Gerade bei Remote-Servern ist Vorsicht sehr wichtig. Schon eine kleine falsche Regel kann dazu führen, dass SSH oder andere notwendige Dienste nicht mehr erreichbar sind. Deshalb sollten Sie Firewall-Änderungen immer schrittweise testen.
Wichtige Praxisregeln
- Eine bestehende SSH-Sitzung immer offen lassen.
- Neue Regeln zuerst testen, bevor alte Sitzungen geschlossen werden.
- SSH-Freigaben immer vor restriktiven Standard-Policies prüfen.
- Nach jeder Änderung das aktive Regelwerk kontrollieren.
Aktive Regeln erneut prüfen
sudo nft list ruleset
Diese Kontrolle sollte nach jeder wichtigen Änderung zur Gewohnheit werden.
Einzelne nftables-Regeln löschen oder anpassen
Im Alltag müssen Firewall-Regeln oft geändert werden. Dafür sollten Sie wissen, wie Regeln gefunden und entfernt werden. nftables arbeitet dabei häufig mit sogenannten Handles.
Regeln mit Handles anzeigen
sudo nft -a list ruleset
In der Ausgabe sehen Sie hinter Regeln oft eine Handle-Nummer.
Regel mit Handle löschen
sudo nft delete rule inet filter input handle 12
Die Nummer 12 ist dabei nur ein Beispiel. Auf Ihrem System ist die tatsächliche Handle-Nummer meist anders.
Für Anfänger ist wichtig: Das Löschen einzelner Regeln ist leichter, wenn die Konfiguration zusätzlich sauber in /etc/nftables.conf gepflegt wird.
nftables mit IPv4 und IPv6 gemeinsam nutzen
Ein großer Vorteil von nftables ist die gemeinsame Verwaltung von IPv4 und IPv6 über die Familie inet. Das macht moderne Firewall-Konfigurationen deutlich übersichtlicher. Statt doppelte Regelwerke zu pflegen, können viele Regeln zusammen verwaltet werden.
Beispiel für IPv6-freundliche Verwaltung
Wenn Sie eine Tabelle mit inet anlegen, können Regeln für beide Protokollfamilien darin sauber organisiert werden. Das ist besonders nützlich, wenn Ihr Ubuntu-System sowohl IPv4 als auch IPv6 verwendet.
Warum das in der Praxis wichtig ist
- Weniger doppelte Regeln
- Mehr Übersicht in der Firewall-Struktur
- Bessere Wartbarkeit moderner Systeme
- Saubere Vorbereitung auf gemischte Netzwerke
Logging mit nftables einsetzen
Für Analyse und Fehlersuche kann Logging sehr hilfreich sein. Damit sehen Sie, welche Pakete von Regeln betroffen sind. Logging sollte aber gezielt eingesetzt werden, weil es viele Einträge erzeugen kann.
Beispiel für Logging-Regel
sudo nft add rule inet filter input log prefix "nft-input-drop: " drop
Diese Regel protokolliert passende Pakete und verwirft sie anschließend. In produktiven Umgebungen sollte Logging bewusst und nicht zu breit eingesetzt werden.
Warum Logging nützlich ist
- Fehlkonfigurationen werden leichter erkannt.
- Unerwartete Zugriffe werden sichtbar.
- Firewall-Verhalten lässt sich besser analysieren.
Typische Sicherheitsstrategie für einen Ubuntu-Server mit nftables
Eine gute Grundstrategie für viele Server ist einfach und wirkungsvoll. Eingehender Verkehr wird standardmäßig blockiert, ausgehender Verkehr erlaubt, lokale Kommunikation erlaubt und nur wirklich benötigte Dienste werden geöffnet.
Sinnvolle Grundstruktur
- Input-Policy auf drop
- Forward-Policy auf drop
- Output-Policy auf accept
- Loopback erlauben
- Established und related erlauben
- SSH gezielt erlauben
- Webports nur bei Bedarf freigeben
Mit diesem Modell ist eine moderne Ubuntu-Firewall mit nftables sauber, nachvollziehbar und sicher aufgebaut.
Typische Fehler beim Einrichten von nftables unter Ubuntu vermeiden
Viele Probleme entstehen nicht durch komplizierte Technik, sondern durch kleine Konfigurationsfehler. Gerade Anfänger sollten einige klassische Stolperfallen kennen.
Häufige Fehler
- SSH nicht erlauben, bevor die Input-Policy auf drop gesetzt wird
- Loopback-Regel vergessen
- Established- und related-Regel nicht setzen
- Regeln nur interaktiv eingeben, aber nicht dauerhaft speichern
- Änderungen nicht mit nft list ruleset kontrollieren
- IPv6 unbeachtet lassen, obwohl das System es nutzt
Besonders wichtiger Praxis-Tipp
Arbeiten Sie immer schrittweise. Erst Konfiguration planen, dann Regeln testen, danach dauerhaft speichern und zum Schluss den Dienst für den automatischen Start aktivieren.
Unterschied zwischen nftables, UFW und iptables verstehen
Viele Linux-Lernende fragen sich, welches Werkzeug sie verwenden sollten. Die Antwort hängt vom Ziel ab. UFW ist sehr einfach und gut für Standardaufgaben. iptables ist das ältere klassische Werkzeug. nftables ist die moderne, flexible und professionelle Lösung.
UFW ist gut, wenn
- Sie einfache Regeln schnell setzen möchten.
- Sie eine leicht verständliche Oberfläche bevorzugen.
- Sie typische Serverdienste ohne Speziallogik absichern wollen.
iptables ist wichtig, wenn
- Sie alte Regelwerke verstehen oder warten müssen.
- Sie historische Linux-Firewall-Konzepte lernen möchten.
nftables ist besonders stark, wenn
- Sie eine moderne Ubuntu-Firewall professionell aufbauen möchten.
- Sie klare und flexible Strukturen brauchen.
- Sie IPv4 und IPv6 elegant gemeinsam verwalten möchten.
- Sie langfristig mit moderner Linux-Administration arbeiten wollen.
Praktisches Beispiel für einen kleinen sicheren nftables-Start
Wenn Sie einen Ubuntu-Server mit SSH und Webserver absichern möchten, ist ein kleines, sauberes Basissetup oft ideal. So könnte die Datei /etc/nftables.conf aussehen:
table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
iif lo accept
ct state established,related accept
ct state invalid drop
tcp dport 22 accept
tcp dport 80 accept
tcp dport 443 accept
}
chain forward {
type filter hook forward priority 0;
policy drop;
}
chain output {
type filter hook output priority 0;
policy accept;
}
}
Danach laden Sie die Datei:
sudo nft -f /etc/nftables.conf
Und prüfen das Ergebnis:
sudo nft list ruleset
Damit haben Sie eine gut verständliche, moderne Firewall-Basis unter Ubuntu.
Nützliche Befehle im Überblick
Wenn Sie nftables unter Ubuntu einrichten und professionell verwalten möchten, sollten Sie diese Befehle sicher kennen.
nftables installieren
sudo apt install nftables -y
Regelwerk anzeigen
sudo nft list ruleset
Tabellen anzeigen
sudo nft list tables
Tabelle anlegen
sudo nft add table inet filter
Regel laden aus Datei
sudo nft -f /etc/nftables.conf
Regeln mit Handles anzeigen
sudo nft -a list ruleset
Regel löschen
sudo nft delete rule inet filter input handle 12
Dienst aktivieren
sudo systemctl enable nftables
Dienststatus prüfen
sudo systemctl status nftables
Firewall-Regeln dokumentieren und regelmäßig prüfen
Professionelle Firewall-Arbeit endet nicht mit der ersten Konfiguration. Dienste ändern sich, neue Anwendungen kommen hinzu und alte Regeln werden vielleicht nicht mehr benötigt. Genau deshalb sollten nftables-Regeln regelmäßig überprüft und dokumentiert werden. Das ist besonders wichtig, wenn mehrere Administratoren an einem System arbeiten.
Was regelmäßig geprüft werden sollte
- Welche Ports aktuell geöffnet sind
- Welche Regeln noch wirklich benötigt werden
- Ob SSH-Regeln weiterhin korrekt und sicher sind
- Ob neue Dienste passende Freigaben brauchen
- Ob die Datei /etc/nftables.conf noch zur realen Serverrolle passt
Wer nftables unter Ubuntu sauber plant, die Struktur versteht und Regeln kontrolliert erweitert, baut eine moderne und sichere Linux-Firewall auf. Genau darin liegt die Stärke von nftables: professionelle Kontrolle, klare Struktur und eine zeitgemäße Firewall-Lösung für Ubuntu-Systeme.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

