iptables: die Logik hinter seinen Tabellen und Ketten verstehen

iptables: die Logik hinter seinen Tabellen und Ketten verstehen

Ich gehe durch dieiptables-Anleitungund bin derzeit beiKapitel 6, Durchlaufen von Tabellen und Ketten.

Ich habe Probleme zu verstehendas Warumhinter den im obigen Kapitel aufgeführten Tabellen 6-1, 6-2 und 6-3.

Fragen:

  1. Gibt es ein besseres Buch oder eine bessere Online-Ressource, in der eine bessere Erklärung zu finden ist?

  2. Soll ich die verschiedenen Schritte, die in diesen Tabellen beschrieben werden, auswendig lernen?

  3. Das obige Tutorial scheint viele Jahre alt zu sein. Ist alles, was iptablesdort steht, noch 100 % gültig? Die iptablesVersion, die ich auf meinem System habe, ist 1.4.14.

All diese Fragen stellen sich vor allem deshalb, weil ich bisher das Gefühl habe, dass wir vielleicht nur iptableseinedas absolut NötigsteSatz von Hook-Punkten (wie z. B. Pre- und Post-Routing-Hooks) und die Möglichkeit,willkürlichPaketverarbeitung (in jeder Reihenfolge, die wir für geeignet hielten und in beliebiger Anzahl – eine benutzerdefinierte Zustandsmaschine), anstatt die detaillierte Schrittfolge wie in den obigen Tabellen festzulegen. Warum sollte beispielsweise im Diagramm, das auf Tabelle 6-3 folgt, der Schritt „Eingabe filtern“ erst nach „Eingabe manipulieren“ und nicht davor erfolgen? Und warum nicht sowohl davor als auch danach? Usw.

Antwort1

Gibt es ein besseres Buch oder eine bessere Online-Ressource?

Möglicherweise? Wahrscheinlich? Es gibt eine Menge Online- und Offline-Ressourcen zum Erlernen von Linux und iptables. DieWikibietet einen schönen Überblick. Hier istein andererNutzungs- und Administratorhandbuch. Hier istein andererAnleitung mit denselben Informationen wie FrozenTux, aber leicht umgeschrieben.

Soll ich die einzelnen Schritte auswendig lernen?

Das kommt darauf an. Warum studierst du überhaupt?

Tust dubrauchenalles auswendig zu lernen, um iptables zu verwenden? Nein.Filterist standardmäßig eingestellt, wenn Sie keine andere Tabelle definieren. Wäre das hilfreich, wenn Sie iptables in vollem Umfang nutzen möchten? Auf jeden Fall.

Noch gültig?

Ja.

warum sollte der Schritt „Eingabe filtern“ erst nach „Eingabe verstümmeln“ erfolgen und nicht davor? Und warum nicht sowohl davor als auch danach?

Der Schlüssel ist die Beschreibung in Tabelle 6.1, Zeilen 8 und 9. Im Wesentlichen möchten Sie Entscheidungen zur Änderung (auch als Verstümmelung bezeichnet) des Pakets treffen, bevor Sie das Paket tatsächlich filtern.

Aus diesem Grund wird zuerst die Mangle-Eingabekette und dann die Filter-Eingabekette aufgerufen.

Ebenso ist die Reihenfolge der Schritte wichtig, da das Paket auf der Maschine eingeht (auf der iptables ausgeführt wird). Sie können keine „Eingabe-“ oder eingehenden Entscheidungen für ein Paket treffen, nachdem es bereits weitergeleitet wurde und nun ausgehend ist.

Sie werden feststellen, dass Tabelle 6.3 KEINE Fortsetzung von Tabelle 6.2 ist. Stattdessen sind sie bis Zeile 7 (Routing-Entscheidung) ähnlich und Zeile 8 ist dann ein anderer Pfad oder eine andere Verzweigung. Tabelle 6.2 gilt für Pakete innerhalb desselben Netzwerks. Tabelle 6.3 gilt für Pakete außerhalb des Netzwerks.

Es ist wichtig, sich an das 7-Schichten-OSI-Modell zu erinnern. Jedes Datenbit wird in verschiedene Segmente, Pakete und Frames verpackt und neu verpackt. Jeder Netzwerk-„Hop“ ist eine weitere Gelegenheit, ein bestimmtes Segment, Paket oder Frame zu manipulieren und neu zu schreiben.

iptables bietet eine sehr detaillierte Kontrolle über diese Neuverpackung. Sie können Regeln für eingehende Pakete, ausgehende Pakete, Pakete nur für Ihr Netzwerk und nicht für andere oder umgekehrt, für Ihr Gerät, nicht für Ihr Gerät usw. schreiben. Und Sie können verschiedene Header für alle diese Frames ändern. **

** Mir ist bewusst, dass ich „Frame“, „Segment“ und „Paket“ beliebig vermische. Tut mir leid, das sollte ich wirklich nicht. Wenn ich nicht gerade etwas klarstellen möchte oder eine spezifische Netzwerkanalyse durchführe, mache ich das immer.

verwandte Informationen