IPtables: IPset-Filterung durch vorhandene Weiterleitungsregeln

IPtables: IPset-Filterung durch vorhandene Weiterleitungsregeln

Ich habe eine Anleitung befolgt, um einen Raspberry Pi für die Verbindung mit einem VPN einzurichten und dann den Datenverkehr von meinem LAN zum VPN per NAT zu schützen.

Ich verwende es auch zur DNS-Filterung (Werbeblocker).

Die Domänenfilterung filtert die IPs nicht heraus, die mir nicht gefallen, deshalb versuche ich, etwas über IP-Sets zu lernen, um die Kommunikation mit großen Bereichen des Internets zu unterbinden.

Derzeit sieht mein Skript, das all dies erledigt, folgendermaßen aus:

iptables -F

ipset restore < /etc/ipset-blacklist/ip-blacklist.restore

iptables -I INPUT 1 -m set --match-set blacklist src -j DROP
iptables -I FORWARD -m set --match-set blacklist src -j DROP
iptables -I OUTPUT -m set --match-set blacklist src -j DROP

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -L

Das funktioniert!

Aber ich verstehe nicht, warum, und ich glaube nicht, dass ich alle drei Blacklist-Regeln für INPUT, FORWARD und OUTPUT brauche – ich habe das Gefühl, dass ich auf die falsche Weise – und ohne es zu verstehen – zu einem funktionierenden Ergebnis gekommen bin.

Kann bitte irgendjemand, der klüger ist als ich, erkennen, was ich versuche zu tun, was ich erreicht habe und wo ich falsch gelegen habe?

Und wofür steht die „1“ in dieser Zeile:

iptables -I INPUT 1 -m set --match-set blacklist src -j DROP

Dies ist das Ziel, das zum Teil schon erreicht ist: LAN-Ziel

Antwort1

Edit:: Die „1“ steht für die Reihenfolge der Regel.

Die FORWARD-Kette ist die einzige notwendige Kette, nicht alle drei.

Ich gehe davon aus, dass dies daran liegt, dass der gesamte Datenverkehr weitergeleitet wird.

verwandte Informationen