it-wiki:netzwerk:iptables
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
it-wiki:netzwerk:iptables [2014/09/02 07:47] – marko | it-wiki:netzwerk:iptables [2014/09/02 10:51] (aktuell) – marko | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
==== Funktionsweise - Chains/ | ==== Funktionsweise - Chains/ | ||
Egal, ob ein Paket vom eigenen Rechner ins Netzwerk geschickt werden soll, oder von außerhalb zum Rechner gelangt, oder aber der Rechner das Paket an der einen Stelle annehmen und einfach zur nächsten weiterleiten soll, so durchläuft dieses Paket bei iptables immer mindestens eine Chain (dt. Kette" | Egal, ob ein Paket vom eigenen Rechner ins Netzwerk geschickt werden soll, oder von außerhalb zum Rechner gelangt, oder aber der Rechner das Paket an der einen Stelle annehmen und einfach zur nächsten weiterleiten soll, so durchläuft dieses Paket bei iptables immer mindestens eine Chain (dt. Kette" | ||
- | * INPUT - Der Name der Kette zeigt auch schon die Funtkionsweise auf: Ein Paket wird lokal zugestellt. | + | |
- | | + | * OUTPUT - Ein Paket, welches vom eigenen Rechner erzeugt wurde und weggeschickt werden soll, wird mindestens diese Chain durchlaufen. |
- | | + | * FORWARD - Diese Kette dient allen Paketen, welche geroutet aber nicht lokal zugestellt werden. |
- | | + | * PREROUTING - Pakete durchlaufen diese Chain, noch vor dem Routing. |
- | | + | * POSTROUTING - Pakete durchlaufen diese Kette, nachdem sie geroutet wurden, aber noch bevor sie weitergeleitet werden. |
{{Iptables1.png}} | {{Iptables1.png}} | ||
- | \\ ==== Funktionsweise - Policy ==== | + | \\ |
+ | ==== Funktionsweise - Policy ==== | ||
Mithilfe von iptables kann man sehr fein definieren, was mit einzelnen Paketen, welche die unterschiedlichen Ketten durchlaufen, | Mithilfe von iptables kann man sehr fein definieren, was mit einzelnen Paketen, welche die unterschiedlichen Ketten durchlaufen, | ||
Zeile 149: | Zeile 150: | ||
|--log-tcp-options|Protokolliert mögliche Optionen des TCP-Headers mit.| | |--log-tcp-options|Protokolliert mögliche Optionen des TCP-Headers mit.| | ||
|--log-ip-options|Protokolliert mögliche Optionen des IP-Headers mit.| | |--log-ip-options|Protokolliert mögliche Optionen des IP-Headers mit.| | ||
- | |--log-prefix < | + | |--log-prefix < |
- | Dadurch wird eine bessere Lesbarkeit möglich, außerdem lassen sich so leichter bestimmte Protokollgruppen rausfiltern (z.B. mittels grep) | + | Von den Log-Leveln gibt es 7 Stück: |
+ | ^Level^Bedeutung^ | ||
+ | |1|alert| | ||
+ | |2|critical| | ||
+ | |3|error| | ||
+ | |4|warning| | ||
+ | |5|notice| | ||
+ | |6|info| | ||
+ | |7|debug| | ||
+ | Eine solche Log-Ausgabe sieht im ersten Moment etwas kryptisch aus, enthält auf den zweiten Blick allerdings alle notwendigen Informationen: | ||
+ | < | ||
+ | In diesem Fall sieht man nochmal deutlich; das ausgehende UDP-Datagram auf Port 53 (und einige Zusatzinformationen), | ||
+ | Was ebenfalls auffällt: " | ||
+ | Aber wo finde ich jetzt diesen Log-Eintrag? | ||
+ | < | ||
+ | kern.alert | ||
+ | kern.critical | ||
+ | kern.error | ||
+ | kern.warning | ||
+ | kern.notice | ||
+ | kern.info | ||
+ | kern.debug | ||
+ | </ | ||
+ | Hierbei sollte man allerdings beachten, dass auch alle anderen Kernel-Meldungen nach in die entsprechenden Log-Dateien geschrieben werden. Es ist sinnvoll hierfür die --log-prefix Option zu nutzen, um daraus später vernünftige Protokolle basteln zu können. | ||
+ | Falls man einen anderen System-Logger als den BSD-Syslogd verwendet (z.B. syslog-ng) so müssen andere Konfigurationsdateien geändert werden, damit die Ausgaben in entsprechende Log-Files (oder wohin auch immer) geschrieben werden. | ||
+ | Bei der Protokollierung sollte einem bewusst sein, dass je nach Nutzung des Netzwerks, durchaus Logfiles von > | ||
+ | |||
+ | \\ ==== Type of Service ==== | ||
+ | |||
+ | Im IP-Header kann das 8Bit große Type of Service Feld manipuliert und so die Priorisierung des Paketes gesetzt werden (Quality of Service). | ||
+ | |||
+ | Betrachte man folgendes Beispiel: | ||
+ | |||
+ | < | ||
+ | |||
+ | Hierbei werden die IP-Pakete bereits in der MANGLE-Tabelle, | ||
+ | ^Value^Effekt^ | ||
+ | |0x10|Minimale Verzögerung| | ||
+ | |0x08|Maximaler Durchsatz| | ||
+ | |0x04|Maximale Zuverlässigkeit| | ||
+ | |0x02|Minimale Kosten| | ||
+ | |0x00 (default)|Normaler Service | | ||
\\ ===== iptables Regeln dauerhaft speichern ===== | \\ ===== iptables Regeln dauerhaft speichern ===== |
it-wiki/netzwerk/iptables.1409644060.txt.gz · Zuletzt geändert: von marko