
Ich habe lange gesucht, kann aber keine Informationen dazu finden, wie iptables-Parameter kombiniert werden.
Wenn ich den Verkehr zu oder von einer IP-Adresse abgleichen möchte, kann ich das tun -s a.b.c.d -d a.b.c.d
? Das heißt, werden die Parameter -s
und -d
kombiniert alsoder(Paket passt zu jedem) oderUnd(Paket passt zu allem)?
Etwas damit verbunden: Wie interagieren und -m iprange
? Das heißt, kann ich verwenden, um einen Bereich anzugeben, und dann hinzufügen , um eine Ausnahme zu machen?-s
-d
-m iprange --src-range 10.0.0.1-10.0.0.8
-s !10.0.0.5
Antwort1
Der beste Weg, es zu lernen, ist, es auszuprobieren. Ja, Sie können -s
und kombinieren. -d
Ob dies jedoch Sinn ergibt, hängt davon ab, in welcher Tabelle Sie die Regel verwenden.
Alle Parameter einer Regel sind AND
. Wenn Sie möchten OR
, können Sie eine Tabelle erstellen, an die Sie den Datenverkehr senden.
Einige Kombinationen führen zu Fehlern. Auch hier ist es am besten, es einfach auszuprobieren.
Angenommen, Ihre Richtlinie lautet „Akzeptieren“ und Sie möchten nur dann eine Übereinstimmung erzielen, wenn eine Regel zutrifft. Fügen Sie die Regel hinzu, iptables -A OUTPUT -s x.x.x.x -d x.x.x.x -j ACCEPT
da das Ziel dasselbe wie das Standardziel sein wird. Sie hat keine Auswirkungen, wird aber angezeigt iptables -vnL
und verfügt über Zähler.
Es gibt erweiterte Protokollierung usw., aber dies ist eine schnelle und einfache Möglichkeit, Regeln schnell zu testen. (und natürlich ist tcpdump Ihr Freund)
In Bezug darauf iprange
würde ich noch einmal sagen, dass es am besten ist, zu testen. Im schlimmsten Fall führt der Versuch, die Regel hinzuzufügen, zu einem Fehler. (Hoffentlich kann Ihnen jemand anderes diesen Teil Ihrer Frage besser beantworten.)