[Gelöst] CSF Firewall – IPTables Fehler: No such file or directory found

Melden

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

  • iptables ist nicht auf dem System installiert.
  • Die Pfade in der CSF-Konfigurationsdatei sind falsch hinterlegt.
  • Das System nutzt iptables-nft, aber CSF erwartet iptables-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.

  1. Finden Sie heraus, wo iptables liegt:

    whereis iptables

    Die Ausgabe sieht meist so aus: /usr/sbin/iptables oder /sbin/iptables.

  2. Öffnen Sie die CSF-Konfigurationsdatei:

    nano /etc/csf/csf.conf
  3. Suchen Sie nach der Zeile IPTABLES =. Stellen Sie sicher, dass der Pfad dort exakt mit dem Ergebnis aus dem whereis-Befehl übereinstimmt. Häufige Einstellungen sind:

    IPTABLES = "/sbin/iptables"
    IP6TABLES = "/sbin/ip6tables"

    (Falls Ihr System /usr/sbin/iptables nutzt, ä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.

0