waldwuffel
Goto Top

Routing von UPnP-Traffic mittels pfSense

Habe Folgendes gerade als Antwort auf einen älteren Beitrag geschrieben. Damit es auch zur Kenntnis genommen wird, hier noch einmal (leicht verändert):

In der nächsten Zeit will ich im Rahmen meines Heimnetzwerks ein separates Server-Subnetz einrichten (hauptsächlich zum Ausprobieren und weniger, weil das unbedingt nötig wäre...); und einer der Dienste darin sollen Medien via UPnP sein (minidlna).

Aktuell tendiere ich dazu, als Basis für die Firewall zwischen User- und Server-Netz ein allgemeines Debian oder CentOS zu verwenden (auf einem apu2d4) - gern würde ich aber auch pfSense einsetzen. Ein Hauptgrund dagegen ist, dass ich damit bisher keine Möglichkeit sehe, wie man den UPnP-Traffic einigermaßen sicher zwischen den Netzen zulassen können sollte.
Meine aktuelle Lösung sieht folgendermaßen aus:

Auf der Firewall läuft SMCRoute, um die Pakete, die (von beiden Seiten) an bzw. über 239.255.255.250 gehen, zu routen. Und damit die Antwortpakete auf das Discovery des Clients an den minidlna ebenfalls durchkommen, ohne, dass gleich alles geöffnet werden muss, wird ein entsprechender ipset-Eintrag gemacht, den iptables nachher verwenden kann. Die iptables sehen folgendermaßen aus:

-A FORWARD -i ens192 -o ens224 -s 192.168.0.0/24 -d 239.255.255.250/32 -p udp --dport 1900 -m conntrack --ctstate NEW -j UPNP
-A FORWARD -i ens224 -o ens192 -s 10.0.0.11/32 -p udp -m set --match-set upnp dst,dst -j ACCEPT
-A FORWARD -i ens224 -o ens192 -s 10.0.0.11/32 -d 239.255.255.250/32 -p udp --dport 1900 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -i ens192 -o ens224 -s 192.168.0.0/24 -d 10.0.0.11/32 -p tcp --dport 8200 -m conntrack --ctstate NEW -j ACCEPT

[...]

-A UPNP -j SET --add-set upnp src,src --exist
-A UPNP -j ACCEPT

Der ipset-Eintrag:

create upnp hash:ip,port family inet hashsize 1024 maxelem 65536 timeout 3

Und die config von SMCRoute:

mgroup from ens192 group 239.255.255.250
mroute from ens192 group 239.255.255.250 to ens224

mgroup from ens224 group 239.255.255.250
mroute from ens224 group 239.255.255.250 source 10.0.0.11 to ens192

Mir ist klar, dass UPnP nicht wirklich zu dem gehört, wofür pfSense und dergleichen eigentlich vorgesehen sind - trotzdem würde mich interessieren, ob eine vergleichbare Lösung damit irgendwie möglich wäre?

Content-Key: 516643

Url: https://administrator.de/contentid/516643

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: aqui
Lösung aqui 19.11.2019 um 09:21:47 Uhr
Goto Top
Nein, dein Weg bei der Anforderung ist da der bessere. Der Grund ist die wenig bis nicht vorhandene Routing Unterstützung für Multicast. pfSense und OpenSense haben wie viele der klassischen Enterprise Firewalls kein vollständiges Multicast Routing an Bord (PIM Sparse oder Dense, SSM) und nur einen rudimentären IGMP Proxy.
Für deine sehr spezielle Anwendung fährst du mit dem smcroute Daemon besser.
Eine Alternative wäre ggf. noch ein Multicast fähiger Router mit einer Firewall an Bord wie z.B. ein Mikrotik. Alle MT Router supporten vollständig PIM Sparse mit dem zusätzlichen Multicast Package und haben alle eine vollständige SPI Firewall an Bord. Bei einem kleinen 5 Port Router bist du mit 20 Euro im Einstiegsbereich dabei.
https://www.varia-store.com/de/produkt/33635-mikrotik-routerboard-rb941- ...
https://www.varia-store.com/de/produkt/31133-mikrotik-routerboard-rb750r ...
Mitglied: Waldwuffel
Waldwuffel 21.11.2019 um 21:31:52 Uhr
Goto Top
Vielen Dank für den Tipp! Ansonsten: ja, davon bin ich ausgegangen. Man findet kaum etwas dazu, und wenn, dann eher, dass es wohl nicht möglich ist. Wollte nur sicher gehen, da mich speziell pfSense interessiert hätte. Vor allem will ich mich mit Open-Source-Firewalls auseinandersetzen. Eine andere Möglichkeit in dem Bereich wäre vielleicht noch OpenWrt. Da gibt es sowohl ipset als auch SMCRoute als Paket. Und so, wie es aussieht, lassen sich auch manuell eigene Regeln in die iptables eintragen. Auf der anderen Seite sehe ich da letzten Endes keinen wirklichen Unterschied zu einem eigenen speziell für den Zweck eingerichteten Linux mit nur diesen Diensten.
Mitglied: aqui
aqui 22.11.2019 um 16:37:08 Uhr
Goto Top
Letztlich kann man alles was man mit dedizierten Routern wie Cisco, Mikrotik usw. machen kann auch komplett mit Linux machen. Das ist immer die Frage was man will und was sinnvoll ist im jeweiligen Umfeld. face-wink