Zurück zu den Updates
New releaseAug 6, 2026

easywall v2.4.1

Weboberfläche für die nftables-Firewall unter Linux, geschrieben in Go. Das Anwenden macht sich nach 120 Sekunden selbst rückgängig, sofern du es nicht bestätigst — du kannst dich also nicht aussperren. Debian- & Docker-Installation.

Teilen

easywall

Deine Firewall. Deine Regeln. Keine Überraschungen.

Tests Build Security Coverage

Latest release Go version GPL-3.0 Discord Support on Ko-fi

Live-Demo · Dokumentation · Changelog

nftables über eine Weboberfläche, die dich nicht aussperren kann: Jedes Anwenden macht sich selbst rückgängig, wenn du es nicht bestätigst.

Das easywall-Dashboard: Firewall-Status mit Bestätigungsstatus, ausstehenden Änderungen und letztem Anwenden; Kacheln, die TCP-Ports, UDP-Ports, Blacklist, Whitelist, benutzerdefinierte Regeln und Weiterleitung zählen; sowie eine Liste der letzten Aktivitäten.

Die Idee

Das Bearbeiten einer Regel ändert nichts. Das Anwenden ändert alles — für 120 Sekunden. Wenn die neuen Regeln deine Verbindung kappen, kannst du nicht auf Bestätigen klicken, und nicht zu bestätigen ist das, was die alten Regeln zurückbringt.

Zustandsautomat: Bearbeiten führt zu Bereitgestellt, Anwenden führt zu Aktiv, Bestätigen innerhalb des Zeitfensters führt zu Bestätigt, und Ablaufen des Zeitfensters führt zu Zurückgerollt, von wo aus die bereitgestellten Bearbeitungen weiterhin verfügbar sind.

Architektur

Zwei Prozesse. Der dem Netzwerk ausgesetzte Prozess besitzt kein Privileg, das sich zu stehlen lohnt.

Browser spricht HTTPS mit easywall-web, das ohne Privilegien läuft; easywall-web spricht typisiertes JSON über einen Unix-Socket mit easywall-core, das als root läuft und per Netlink mit der nftables-Tabelle inet easywall kommuniziert.

Eine vollständige Neuentwicklung des ursprünglichen easywall — Python, Flask, iptables per Subprozess — das 2022 nach einer CVE archiviert wurde. Beide Grundursachen sind beseitigt: Die Privilegien leben in einem anderen Prozess, und der Apply-Pfad erzeugt Go-Strukturen anstelle einer Befehlszeile. So funktioniert es →

Installation

Entscheidungsbaum: Nur Anschauen führt zum Demo-Modus; Debian oder Ubuntu führt zum .deb-Paket; bereits ausgeführte Container führen zu Docker; andernfalls aus dem Quellcode bauen.
# Debian / Ubuntu — amd64 and arm64
ARCH=$(dpkg --print-architecture)
wget https://github.com/jp1337/easywall/releases/latest/download/easywall_$ARCH.deb
sudo dpkg -i easywall_$ARCH.deb && sudo apt-get install -f

# Docker
git clone https://github.com/jp1337/easywall.git && cd easywall && docker compose up -d

# From source — Go 1.26+, nftables
git clone https://github.com/jp1337/easywall.git && cd easywall
make build && sudo make install
sudo systemctl enable --now easywall-core easywall-web

Öffne dann https://localhost:12227. Beim ersten Besuch werden das Konto eingerichtet und die ersten Regeln bereitgestellt.

Was du bekommst

PortsTCP und UDP, einzeln oder als Bereich, mit SSH-Brute-Force-Routing pro Regel
Blacklist & WhitelistIPv4, IPv6 und CIDR, ausgewertet vor jeder Port-Regel
SchutzmoduleZwölf, fünf standardmäßig aktiviert — Floods, Scans, Bogons, Fragmente, Broadcast/Multicast/Anycast
PortweiterleitungNAT-Umleitungen mit Protokollauswahl
Benutzerdefinierte RegelnRohes nftables, vor dem Anwenden syntaxgeprüft
Export / ImportDie gesamte Regelsammlung als JSON
Audit-LogWas sich wann geändert hat, ein JSON-Objekt pro Zeile
Docker-KoexistenzBesitzt table inet easywall, fasst nichts anderes an
Englisch & DeutschIm Interface umschaltbar, auch vor der Anmeldung
Hell & DunkelFolgt dem Betriebssystem, mit manuellem Umschalter; beide kontrastgeprüft

Erstellt mit

Go 1.26, einzelne Binärdateigo-chi/chi · html/template
nftables über google/nftablesdirektes Netlink, kein nft-Subprozess
Argon2idgolang.org/x/crypto, 16-Byte-Salz pro Passwort
CSRFnet/http.CrossOriginProtection, Go 1.25 nativ
DesignsystemDESIGN.md + Tailwind v4 — keine UI-Bibliothek von Drittanbietern
SchriftenInter + JetBrains Mono, selbst gehostet, ~145 KB — funktioniert auch ohne Internetanbindung
CIgovulncheck, gosec, CodeQL, -race und eine Integrationstestsuite gegen einen echten Kernel

Roadmap

Korrektheit zuerst: Eine Firewall, die stillschweigend weniger tut, als sie behauptet, ist schlimmer als eine, die weniger tut und es sagt.

2.6Integrationstests, die Bedeutung prüfen, nicht Regelanzahlen
2.7Identität — ein Benutzer im Socket-Protokoll, dann Login-Ereignisse, dann mehrere Konten, dann 2FA
2.8Eine REST-API mit Token-Authentifizierung, ACME als Option, optionaler vertrauenswürdiger Reverse-Proxy
2.9Eine optionale Zählung von Installationen

Warum jede Funktion zu diesem Zeitpunkt kommt und was die Zählung senden würde: Roadmap →

Hilfe bekommen

Eine Frage oder etwas, das sich nicht richtig verhältDiscord
Ein Fehler oder eine gewünschte FunktionGitHub Issues
Eine SicherheitslückeSecurity Advisorynicht Discord und kein öffentliches Issue

Mitwirken

Setup, Commit-Konventionen und die Review-Checkliste: CONTRIBUTING.md. Alles Visuelle geht zuerst durch DESIGN.md.

Sicherheitsprobleme: nicht als öffentliches Issue — nutze GitHub Security Advisories.

Lizenz

GPL-3.0 — siehe LICENSE.

Kategorien