[Gelöst] CSF Firewall – IPTables Fehler: No such file or directory found
Hier ist ein ausführliches Tutorial, um den Fehler „CSF firewall - IPTables error (No such file or directory found)“ zu beheben.
Dieser Fehler tritt in der Regel auf, wenn die ConfigServer Security & Firewall (CSF) die Binärdateien von iptables nicht finden kann. Das passiert häufig nach einer Betriebssystem-Aktualisierung, bei einer Neuinstallation oder wenn das System nftables anstelle der klassischen iptables verwendet.
Ursachen des Fehlers
iptablesist nicht auf dem System installiert.- Die Pfade in der CSF-Konfigurationsdatei sind falsch hinterlegt.
- Das System nutzt
iptables-nft, aber CSF erwartetiptables-legacy.
Schritt 1: Überprüfen, ob iptables installiert ist
Zuerst müssen wir sicherstellen, dass das Paket iptables überhaupt vorhanden ist. Führen Sie folgenden Befehl aus:
which iptables
Wenn keine Ausgabe erfolgt, ist es nicht installiert. Installieren Sie es je nach System:
- Debian/Ubuntu:
apt update && apt install iptables -y - CentOS/RHEL/AlmaLinux:
yum install iptables -y
Schritt 2: Die Pfade in der CSF-Konfiguration prüfen
CSF sucht nach iptables an fest hinterlegten Orten. Wir müssen sicherstellen, dass die Pfade in /etc/csf/csf.conf mit Ihrem System übereinstimmen.
-
Finden Sie heraus, wo
iptablesliegt:whereis iptablesDie Ausgabe sieht meist so aus:
/usr/sbin/iptablesoder/sbin/iptables. -
Öffnen Sie die CSF-Konfigurationsdatei:
nano /etc/csf/csf.conf -
Suchen Sie nach der Zeile
IPTABLES =. Stellen Sie sicher, dass der Pfad dort exakt mit dem Ergebnis aus demwhereis-Befehl übereinstimmt. Häufige Einstellungen sind:IPTABLES = "/sbin/iptables" IP6TABLES = "/sbin/ip6tables"(Falls Ihr System
/usr/sbin/iptablesnutzt, ändern Sie den Pfad entsprechend).
Schritt 3: Legacy-Modus erzwingen (Wichtig bei neueren Systemen)
Moderne Linux-Distributionen (wie Debian 10+ oder Ubuntu 20.04+) nutzen standardmäßig nftables. CSF benötigt jedoch oft die Legacy-Schnittstelle.
Sie können das System anweisen, die Legacy-Version zu nutzen:
update-alternatives --set iptables /usr/sbin/iptables-legacy
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
Schritt 4: Fehlende Kernel-Module (bei VPS/OpenVZ)
Wenn Sie einen virtuellen Server (VPS) auf OpenVZ-Basis nutzen, fehlen oft Kernel-Module. Prüfen Sie, ob iptables geladen werden kann:
lsmod | grep ip_tables
Sollte hier nichts erscheinen und der Fehler bestehen bleiben, müssen Sie Ihren Hosting-Anbieter kontaktieren, damit dieser die iptables-Module für Ihren Container aktiviert.
Schritt 5: CSF neu starten und testen
Nachdem Sie die Änderungen vorgenommen haben, müssen CSF und der Login Failure Daemon (LFD) neu gestartet werden:
csf -r
Wenn der Fehler verschwunden ist, sollte am Ende der Ausgabe stehen:
*Restarting g_lfd... [ OK ]*
Zusätzlich können Sie den Test-Modus von CSF nutzen, um die Kompatibilität zu prüfen:
perl /etc/csf/csftest.pl
Die Ausgabe sollte überall "OK" anzeigen.
Zusammenfassung
In 90 % der Fälle wird das Problem gelöst, indem man entweder iptables nachinstalliert (Schritt 1) oder auf iptables-legacy umstellt (Schritt 3). Achten Sie darauf, dass nach jeder Änderung ein Neustart mit csf -r zwingend erforderlich ist.