[fli4l] PF_PREROUTING-Regeln für geroutete IPs auf dem DSL-Anschluss
Christoph Schulz
fli4l at kristov.de
Di Okt 11 08:42:33 CEST 2016
Hallo!
kay schrieb:
> IMHO löst der paketfilter selbst keine adressen auf. Darum kannst er
> weder mit alias noch mit domainnamen etwas anfangen.
Das ist für fli4l 4.0 nicht ganz richtig, dort gibt es eine Unterstützung
dafür.
> Die Gründe sind wohl recht simpel. Wenn das ginge, dann müsste m.E. pro
> Zutreffender Regel erst eine dns-anfrage ausgeführt werden, egal ob nun
> gegen eine hosts-datei oder einen dns-server/proxy. Sonst könnte sich
> die IP zu dem namen geändert haben und dann die Regel auf das falsche
> Ziel schiessen. Außerdem dauern dns-anfragen sicher deutlich länger als
> die durchlaufzeit eines pakets durch die filterregeln.
>
> Denkbar wäre ein um das 100 bis 1000-fach Geringerer Durchsatz - des
> gesamten Routings. Wer will das schon.
Deshalb wird es auch nicht so implementiert ;-)
Vielmehr geht der fli4l davon aus, dass auch die Clients das Ziel erst via
DNS auflösen müssen. Wird dies getan, wird das Ergebnis der DNS-Auflösung in
eine interne Hash-Tabelle (ipset) geschrieben, die dann von einer Firewall-
Regel ausgelesen wird. Weil das Suchen in der Hash-Tabelle flott geht und
die DNS-Auflösung nicht während der Abarbeitung der Firewall-Regeln, sondern
vorher geschieht, funktioniert das ganz gut. Natürlich kann man Szenarien
ersinnen, in denen der Weg nicht funktioniert, etwa wenn der Client von
Anfang an direkt die IP-Adresse verwendet und somit auf die DNS-Auflösung
verzichtet, oder wenn der Client die DNS-Auflösung auf anderem Wege
durchführt (nicht via Port 53 und/oder nicht via DNS-Protokoll). Aber das
sind eher Ausnahmen denn die Regel. In der Praxis funktioniert dies ganz
gut, etwa wenn man einem Client den Internet-Zugang generell verbieten, den
Zugriff auf "windowsupdate.microsoft.com" aber erlauben möchte.
Viele Grüße,
--
Christoph Schulz
[fli4l-Team]
Mehr Informationen über die Mailingliste Fli4L