Wie kann ich Regeln mit iptables PREPENDEN anstatt APPENDEN?

65

Ziemlich grundlegende Frage: Wie kann man Regeln für IPTABLES VORHÄNGEN anstatt ANHÄNGEN?

Ich habe DROPAussagen am Ende meiner Regeln. Ich habe eine Software zum Hinzufügen neuer Regeln, aber das Hinzufügen von Regeln nach DROPAnweisungen ist nicht gut. Jedes Mal, wenn ich eine neue Regel hinzufügen möchte, muss ich die Tabelle leeren (was ineffizient ist).

Gibt es eine Möglichkeit, eine Regel voranzustellen, dh eine Regel eher oben als unten in die Tabelle einzufügen?

Danke vielmals.

Ale
quelle

Antworten:

84

Verwenden Sie den -ISchalter:

sudo iptables -I INPUT 1 -i lo -j ACCEPT

Dies würde eine Regel an Position 1 in der INPUT-Kette einfügen.

Yanick Girouard
quelle
2
Mist! Du hast mich um 18 Sekunden geschlagen ... Ich war nicht schnell genug :(
Yanick Girouard
1
Hehehehehehehe :)
cjc
2
@YanickGirourad, hah, du hast das Häkchen!
CJC
5
Beachten Sie auch, dass bei Verwendung von -I INPUT 1 keine Regel überschrieben wird. Stattdessen werden alle Regeln um eine Position nach oben verschoben.
Abdull
1
Wichtiger Hinweis von Abdull.
Halsafar
19

-Iwird einfügen. Sie verwenden wahrscheinlich -Azum Anhängen.

Sie können auch iptables -I chain rulenumeine Regel als Zahl "rulenum" in die Kette "chain" einfügen. -R chain rulenumkann verwendet werden, um eine bestimmte Regel bei der Nummer "rulenum" in der Kette "chain" zu ersetzen. iptables -L -n --line-numberszeigt die Regelnummern in der äußersten linken Spalte an.

cjc
quelle
Ich bin im Moment in Eile oder ich würde es nachschlagen, aber es wäre schön, ein Beispiel dafür zu sehen, wie die "Kette" hier funktioniert, oder ein Glied.
PJ Brunet
// Siehe fedoraproject.org/wiki/... für weitere Informationen darüber , wie korrekt eine iptables - Regel einzufügen.
Nathan Basanese
2

Um zu ermitteln, welche Zeilennummer zum Hinzufügen der neuen Regel verwendet werden soll iptables-save, werden die vorhandenen Regeln in der Konsole ausgegeben.

Für Anfänger kann ich auch eine Cheat-Karte vorschlagen, indem Sie mit webmin Ihre Regeln verwalten. Es ist sehr freundlich und Sie können die Regeln in der Liste leicht manuell neu anordnen. Es wird auch die 'leichten' Variationen in RedHat vs. Debian-basierten Implementierungen von Iptables behandeln.

AngryWombat
quelle
2
iptables -L --line-numbersist etwas plattformunabhängiger
Sirex
1
Ich bin mir nicht sicher, warum man webmin dafür verwenden soll (oder so). Das Erlernen der Befehlszeilenmethode ist weitaus besser als die Verwendung einer Krücke.
Falcon Momot
2

Es gibt ein Programm mit dem Namen, iptables-persistentdas die Regeln von iptable als Betriebssystemdienst persistent macht. Dieser Service beinhaltet eine Konfigurationsdatei als iptables-saveExport.

So können Sie die Zeilen in der Konfigurationsdatei neu anordnen und den Dienst neu starten.

sudo service iptables-persistent restart

So einfach!!!!!

shgnInc
quelle