Zurück zu den Updates
New releaseSep 4, 2026

easywall v2.14.0

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 Annahmezustand, ausstehenden Änderungen und letztem Anwenden; Kacheln mit Zählern für TCP-Ports, UDP-Ports, Blacklist, Whitelist, benutzerdefinierte Regeln und Weiterleitung; 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 genau das, was die alten Regeln zurückbringt.

Zustandsautomat: Bearbeiten führt zu Staged, Anwenden führt zu Live, Bestätigen innerhalb des Zeitfensters führt zu Confirmed, und das Ablaufen des Zeitfensters führt zu Rolled back, von wo aus die gestaffelten Bearbeitungen weiterhin verfügbar sind.

Architektur

Zwei Prozesse. Der eine, der dem Netzwerk ausgesetzt ist, hält keine Berechtigung, die 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 über Netlink mit der nftables-Tabelle inet easywall kommuniziert.

Eine vollständige Neuimplementierung des ursprünglichen easywall — Python, Flask, iptables über Subprozess — das 2022 nach einer CVE archiviert wurde. Beide Grundursachen sind beseitigt: Die Privilegien liegen in einem anderen Prozess, und der Anwendepfad baut Go-Strukturen statt einer Kommandozeile. So funktioniert es →

Installation

Entscheidungsbaum: Nur Anschauen führt zum Demo-Modus; Debian oder Ubuntu führt zum .deb-Paket; bereits laufende Container führen zu Docker; andernfalls aus dem Quellcode bauen.
# Debian / Ubuntu — amd64 und 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

# Aus dem Quellcode — Go 1.27+, 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. Der erste Besuch richtet das Konto ein und stellt die ersten Regeln bereit.

Was du bekommst

PortsTCP und UDP, einzeln oder als Bereich, mit SSH-Brute-Force-Routing pro Regel
Blacklist & WhitelistIPv4, IPv6 und CIDR, werden vor jeder Portregel ausgewertet
SchutzmoduleZwölf, fünf standardmäßig aktiv — Floods, Scans, Bogons, Fragmente, Broadcast/Multicast/Anycast
PortweiterleitungNAT-Umleitungen mit Protokollauswahl
Benutzerdefinierte RegelnRohes nftables, vor dem Anwenden syntaxgeprüft
Export / ImportDer gesamte Regelsatz als JSON
Audit-LogWas sich wann geändert hat, ein JSON-Objekt pro Zeile
Docker-KoexistenzBesitzt table inet easywall, fasst nichts anderes an
Englisch, Deutsch, FrançaisIn der Oberfläche umschaltbar, auch vor der Anmeldung. Eine Sprache kann unvollständig sein: Was fehlt, wird auf Englisch angezeigt, und die Lücke wird gemeldet statt versteckt
Hell & dunkelFolgt dem Betriebssystem, mit manuellem Umschalter; beide kontrastgeprüft

Gebaut mit

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

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

Einrichtung, 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