iptables -geht das so?
Hallo zusammen,
habe hier einen Woody-Rechner (Kernel 2.4.x), der ganz allein ohne
Vernetzung einfach nur Surfen im Internet und Versenden/Abholen von
Emails ueber den Server von Hansenet ermoeglichen soll, wo per
Internet-by-call eingewaehlt wird.
Da ich mir mit dem iptables-Klingonisch unsicher bin, waere ich
dankbar fuer eine Meinung zum Vorschlag von Rusty Russel im
packet-filtering-HOWTO:
--------------------------
## Create chain which blocks new connections,
## except if coming from inside.
iptables -N block
iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT
iptables -A block -j DROP
## Jump to that chain from INPUT and FORWARD chains.
iptables -A INPUT -j block
iptables -A FORWARD -j block
---------------------------
Das ergibt bei mir mit iptables -Le (Ausgabe gekuerzt um die Spalten
pkts und bytes und gequetscht):
----------------------------
Chain INPUT (policy DROP 12 packets, 1716 bytes)
target prot opt in out source destination
block all -- any any anywhere anywhere
Chain FORWARD (policy DROP 0 packets, 0 bytes)
target prot opt in out source destination
block all -- any any anywhere anywhere
Chain OUTPUT (policy ACCEPT 386 packets, 53126 bytes)
target prot opt in out source destination
Chain block (2 references)
target prot opt in out source destination
ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- !ppp0 any anywhere anywhere state NEW
DROP all -- any any anywhere anywhere
-------------------------------
Verstehe ich es richtig, dass dadurch alle reinkommenden Pakete ueber
die Chain INPUT zur Chain block geleitet werden, wo
- alle Pakete akzeptiert werden, wenn sie zu einer bereits
bestehenden Verbindung gehoeren (ESTABLISHED) oder einer Verbindung,
die aus einer bereits bestehenden hervorgegangen ist (RELATED),
anschliessend
- alle Pakete akzeptiert werden, die zu einer neuen Verbindung
gehoeren (NEW), es sei denn, sie kommen ueber ppp0 (!ppp0),
anschliessend
- alle Pakete, die noch nicht akzeptiert sind, endgueltig gedropt
werden,
so dass im Endeffekt
- Pakete, die ueber ppp0 kommen, nur akzeptiert werden, wenn ich
selbst die Verbindung initiiert habe bzw. die Verbindung aus einer
von mir initiierten hervorgegangen ist,
- alle anderen Pakete aber unterschiedslos akzeptiert werden?
Kann man das so machen, ohne dass Luecken bleiben?
Besten Dank.
jonni
Reply to: