Auf einem Router an der Output-Chain rumzubasteln ist normalerweise unnötig
Und dabei ist genau die output Queue mein großes Problemkind, ich bekomme nämlich die lokalen Schnitstellen nicht raus, und weiß nicht, warum. Bei FORWARD verstehe ich so langsam daß hier physische Schnitstellen und nicht logisch Netzwerke entscheiden sind.
Deshalb würde ich, rein aus Verständnisgründen, darauf gerne noch einmal auf die output Kette bei -P DROP zu sprechen kommen.
Ein ähnliches Setup, diesmal aber mit einer unbekannten IP Adresse, da die Firewall vor der PPP Schnitstelle gestartet wird.
Zu unserem Router mit den beiden bekannten IP Adressen kommt jetzt also noch eine dritte ppp Schnittstelle mit unbekannter IP.
Das durchleiten der Clients klappt wunderbar (den state Kram lassen wir der Übersicht halber mal weg):
Code: Alles auswählen
iptables -A FORWARD -i eth0 -s 10.2.2.0 -o ppp0 -j ACCEPT
Was nicht klappt, ist die output Kette:
Damit sollte doch aller Verkehr, der auf dem Router (10.2.2.1) erzeugt wird und über das Interface ppp0 nach drausen will, zugelassen werden? Klappt aber nicht, ich kann keine Verbindung aufbauen, auch ein "-p all" hilft nicht.
Mir ist dabei wichtig, die Regel auf den Verkehr von 10.2.2.1 (alternativ statt der IP auch eth0) über ppp0 nach draussen zu beschränken, der an eth1 (192.168.20.1) wird anderweitig abgefrühstückt und soll hier nicht betroffen sein.
Aber egal, was ich mache, ich komme nicht raus.
Eigentlich suche ich das Gegenstück zu folgenden BSD Regeln, falls die jemand geläufig sein sollte, sind aber auch recht selbsterklärend (pf und ipfw):
Code: Alles auswählen
pass out on ppp0 from 10.2.2.1 to any
pass all from 10.2.2.1 to any via ppp0