[fli4l] PF_INPUT - ein paar Verständnisfragen

Peter Schiefer newsgroup at lan4me.de
Fr Jan 30 19:51:09 CET 2015


Hi Klaus,

Am Fri, 30 Jan 2015 18:39:11 +0100 schrieb K. Dreier:

> PF_INPUT_N='3'
> PF_INPUT_1='IP_NET_1 ACCEPT'

lass alles Clients aus dem Netz IP_NET_1 auf Dienste des fli4l zugreifen

> PF_INPUT_2='tmpl:samba DROP NOLOG'

Verwerfe alle Samba-Anfragen an den fli4l und logge nichts davon

> PF_INPUT_3='prot:tcp xxx.xxx.xxx.xxx 22 ACCEPT'

lasse von der quelladresse xxxx.xxxx.xxx Zugriff auf den fli4l mit dem
Protokol TCP am Zielport 22 zu

> 
> PF_FORWARD_N='3'
> PF_FORWARD_1='tmpl:samba DROP'

route keinerlei Samba-Pakete zwischen belibiebigen Netzen

> PF_FORWARD_2='IP_NET_1 ACCEPT'

lasse das routing von Paketen des Quellnetzes IP_NET_1 zu jedem beliebigen
Ziel

> PF_FORWARD_3='IP_NET_1 IP_NET_3 ACCEPT'

lasse das routing von Pakete des Quellnetzes IP_NET_1 zum Zielnetz IP_NET_3
zu (Ist durch Regel 2 bereit zugelassen, so das diese Regel nie greift.

> (plus immer PF_POSTROUTING_2='IP_NET_3 MASQUERADE' und prerouting, aber
> letzteres ist hier irrelevant im Moment)

POSTROTING MASQURADE = ersetzt die Source-Adresse des gerouteten Paketes
mit der Adresse des fli4l

> 1a) von meinen NET_1-clients alles im NET_3 anpingen kann
> 1b) von meinen NET_3-clients _nichts_ im NET_1 anpingen kann - ausser
> doch IP_NET_1_IPADDR, also fli4l im NET_1-Netzwerk (warum genau klappt
> das? Weil NET_1_IPADDR physisch die gleiche Maschine wie NET_3_IPADDR?
> Sollte ja jedenfalls kein issue sein)
> 1c) auf eine Windows-Share von einem NET_1-Win-client auf einen
> NET_3-Win-client nicht zugreifen kann - sehr schlecht, aber das ging ja
> schon mit der eingangs beschriebenen Variante nicht.
> 1d) NET_3 keinen Internetzugang hat - korrekt mit obiger Einstellung.

siehe meine Erklärungen oben

> Um Internetzugang auch für NET_3 wieder herzustellen, ohne dafür
> IP_NET_3 ACCEPT zu setzen, dachte ich an:
> 
> PF_INPUT_N='9'
> [...]
> PF_INPUT_4='tmpl:dhcp IP_NET_3 ACCEPT'        # IPs via static dhcp
> verteilt
> PF_INPUT_5='tmpl:dns IP_NET_3 ACCEPT'
> PF_INPUT_6='tmpl:ping IP_NET_3 ACCEPT'
> PF_INPUT_7='tmpl:ntp IP_NET_3 ACCEPT'
> PF_INPUT_8='tmpl:http IP_NET_3 ACCEPT'
> PF_INPUT_9='tmpl:https IP_NET_3 ACCEPT'

INPUT regelt zugriffe auf Dienste die auf dem fli4l laufen, das hat also
nicht mit Zugriffen von LAN zum Internet zu tun!

> Nix da, klappt nicht. Kann weder eine WAN-IP noch eine WAN-URL anpingen.
> Wo ist mein (Denk-)Fehler?

alles was von LAN zum Internet gehen soll muss di in einer FORWARD-Regel
erlauben und da mann im LAN in der Regel private IP-Adressen die nicht im
Internet geroutet werden einsetzt, müssen diese dann Pakete durch eine
Regel in POSTROUTING MASQ so modifiziert werden, das es für das Internet so
aussieht, das Sie von der öffentlichen Ip fdes fli4l (WAN-IP) kommen.

> Setze ich das:
> PF_FORWARD_N='4'
> [...]
> PF_FORWARD_4='[IP von einem NET_3-client] IP_NET_1 ACCEPT'
> dann kann ich von dieser IP
> 2a) ins NET_1 pingen
> 2b) nicht ins WAN pingen (weder IP noch URL) und via Browser ebenfalls
> kein WAN-Zugang
> 2c) und von keinem client (egal ob NET_1 oder _3) auf verschiedene
> Windows-Share netzübergreifend zugreifen

siehe oben - die Reihenfolge der Regeln ist entscheidend - wenn du in regel
1 Samba-Verkehr verbietest und dann in Regel 2 routing zwischen deinen
lokalen Netzen erlaubst dann sind die Paket für Samba aka Windows-Shares
schon von Regel 1 blockiert worden.


Gruß Peter


Mehr Informationen über die Mailingliste Fli4L