Multicast: Unterschied zwischen den Versionen

Aus darkrealm Wiki
Zur Navigation springen Zur Suche springen
Chris (Diskussion | Beiträge)
Chris (Diskussion | Beiträge)
 
(17 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Multicast über Wireguard ==
== Multicast üver VPN ==
 
=== Multicast über Wireguard (Level 3 / Routing) ===


Voraussetzungen:
Voraussetzungen:


* Multicast muss für das WG Interface aktiviert sein
* Multicast muss für das WG Interface aktiviert sein
** Über Kommanzozeile:
* Über Kommanzozeile:


<pre>
<pre>
Zeile 10: Zeile 12:
</pre>
</pre>


** Über systemd-networkd, Abschnitt im WG.network File:
* Über systemd-networkd:


WG.network
<pre>
<pre>
[Link]
[Link]
Zeile 17: Zeile 20:
</pre>
</pre>


=== UPNP ===
* Multicast-IP-Adressen müssen bei den AllowedIPs dabei sein:
 
WG.netdev
<pre>
AllowedIPs=224.0.0.0/4,ff00::/8
</pre>
 
Achtung: Wird im .netdev-File etwas geändert muss das Interface erst gelöscht und wieder erstellt werden damit die Änderungen greifen:
 
<pre>
networkctl delete WG
networkctl reload
</pre>
 
=== mDNS ===
 
Über Avahi können mDNS-Abfragen "reflektiert" (in andere Subnetze weitergeleitet) werden. Wenn es sich beim dem Interface um ein Point-to-Point Interface handelt (Wireguard-Interfaces sind Point-to-Point Interfaces) muss dies auch noch erlaubt werden.
 
/etc/avahi/avahi-daemon.conf:
 
<pre>
[server]
allow-point-to-point=yes # Bei Point-to-Point Interfaces nötig
 
[reflector]
enable-reflector=yes
</pre>
 
Netzwerk A möchte die mDNS-Geräte in Netzwerk B sehen:
 
reflector auf Host B aktivieren.
 
Netzwerk B möchte die mDNS-Geräte in Netzwerk A sehen:
 
reflector auf Host A aktivieren.
 
Damit die Geräte auch auf den Hosts hinter dem Gateway gesehen werden können muss auf dem jeweiligen Gateway auch der Reflector aktiviert werden.


UPnP hat mit mDNS nichts zu tun, kann also auch nicht über den avahi-daemon reflector weitergeleitet werden. Es muss ein Multicast-Router verwendet werden, hier: smcroute
=== SSDP / UPnP / DLNA ===
 
SSDP hat mit mDNS nichts zu tun, kann also auch nicht über den avahi-daemon reflector weitergeleitet werden. Es muss ein Multicast-Router verwendet werden, hier: smcroute


/etc/smcroute.conf:
/etc/smcroute.conf:
Zeile 27: Zeile 68:
phyint BRIDGE_LAN enable
phyint BRIDGE_LAN enable


# UPnP
# SSDP
mgroup from BRIDGE_LAN group 239.255.255.250
mgroup from BRIDGE_LAN group 239.255.255.250
mroute from BRIDGE_LAN group 239.255.255.250 to WG
mroute from BRIDGE_LAN group 239.255.255.250 to WG
Zeile 34: Zeile 75:
</pre>
</pre>


=== mDNS ===
Netzwerk A möchte die UPnP-Geräte in Netzwerk B sehen:
 
smcroute auf Host A starten.
 
Netzwerk B möchte die UPnP-Geräte in Netzwerk A sehen:
 
smcroute auf Host B starten.
 
=== Geräte hinter dem Router ===
 
Damit die Geräte hinter dem Router von den Multicast-Paketen erreicht werden können:
 
<pre>
ip r add 192.168.1.0/24 dev WG
</pre>
 
<pre>
ip r add 192.168.178.0/24 dev WG
</pre>
 
IPv4 Forwarding muss aktiviert sein, sowie forwarding in the Firewall muss akzeptiert werden!
 
=== Wireguard Debugging aktivieren ===
 
<pre>
echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control
</pre>
 
=== Multicast über VXLAN (Level 2 / Bridging) ===
 
==== VXLAN Interface auf beiden Hosts erstellen ====
 
Auf Host A:
 
<pre>
ip link add vxlan0 type vxlan id 42 dev WG remote 172.31.0.2 dstport 4789
ip link set vxlan0 up
</pre>
 
Auf Host B:
 
<pre>
ip link add vxlan0 type vxlan id 42 dev WG remote 172.31.0.1 dstport 4789
ip link set vxlan0 up
</pre>
 
==== VXLAN Interface an Bridge attachen ====
 
Auf Host B:
 
<pre>
ip link add br-vxlan type bridge
ip link set br-vxlan up
ip link set vxlan0 master br-vxlan
</pre>


Über Avahi können mDNS-Abfragen "reflektiert" (in andere Subnetze weitergeleitet) werden.
Auf Host A:


/etc/avahi/avahi-daemon.conf:
Dies attached das vxlan0-Interface an die BRIDGE_LAN-Bridge. Wenn jetzt ein Rechner auf Site B eine DHCP-Anfrage auf dem br-vxlan-Interface stellt bekommt das Interface eine IP aus dem Adressbereich von Site A, und zwar auf dem Interface wo das vxlan0-Interface attached ist, also BRIDGE_LAN.


<pre>
<pre>
ip link set vxlan0 master BRIDGE_LAN
</pre>


Die MTU evtl. noch ein wenig heruntersetzen:
Auf Host A und B:
<pre>
ip link set vxlan0 mtu 1280
</pre>
</pre>

Aktuelle Version vom 18. April 2026, 20:20 Uhr

Multicast üver VPN

Multicast über Wireguard (Level 3 / Routing)

Voraussetzungen:

  • Multicast muss für das WG Interface aktiviert sein
  • Über Kommanzozeile:
ip l set WG multicast on
  • Über systemd-networkd:

WG.network

[Link]
Multicast=true
  • Multicast-IP-Adressen müssen bei den AllowedIPs dabei sein:

WG.netdev

AllowedIPs=224.0.0.0/4,ff00::/8

Achtung: Wird im .netdev-File etwas geändert muss das Interface erst gelöscht und wieder erstellt werden damit die Änderungen greifen:

networkctl delete WG
networkctl reload

mDNS

Über Avahi können mDNS-Abfragen "reflektiert" (in andere Subnetze weitergeleitet) werden. Wenn es sich beim dem Interface um ein Point-to-Point Interface handelt (Wireguard-Interfaces sind Point-to-Point Interfaces) muss dies auch noch erlaubt werden.

/etc/avahi/avahi-daemon.conf:

[server]
allow-point-to-point=yes # Bei Point-to-Point Interfaces nötig

[reflector]
enable-reflector=yes

Netzwerk A möchte die mDNS-Geräte in Netzwerk B sehen:

reflector auf Host B aktivieren.

Netzwerk B möchte die mDNS-Geräte in Netzwerk A sehen:

reflector auf Host A aktivieren.

Damit die Geräte auch auf den Hosts hinter dem Gateway gesehen werden können muss auf dem jeweiligen Gateway auch der Reflector aktiviert werden.

SSDP / UPnP / DLNA

SSDP hat mit mDNS nichts zu tun, kann also auch nicht über den avahi-daemon reflector weitergeleitet werden. Es muss ein Multicast-Router verwendet werden, hier: smcroute

/etc/smcroute.conf:

phyint WG enable
phyint BRIDGE_LAN enable

# SSDP
mgroup from BRIDGE_LAN group 239.255.255.250
mroute from BRIDGE_LAN group 239.255.255.250 to WG
mgroup from WG group 239.255.255.250
mroute from WG group 239.255.255.250 to BRIDGE_LAN

Netzwerk A möchte die UPnP-Geräte in Netzwerk B sehen:

smcroute auf Host A starten.

Netzwerk B möchte die UPnP-Geräte in Netzwerk A sehen:

smcroute auf Host B starten.

Geräte hinter dem Router

Damit die Geräte hinter dem Router von den Multicast-Paketen erreicht werden können:

ip r add 192.168.1.0/24 dev WG
ip r add 192.168.178.0/24 dev WG

IPv4 Forwarding muss aktiviert sein, sowie forwarding in the Firewall muss akzeptiert werden!

Wireguard Debugging aktivieren

echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

Multicast über VXLAN (Level 2 / Bridging)

VXLAN Interface auf beiden Hosts erstellen

Auf Host A:

ip link add vxlan0 type vxlan id 42 dev WG remote 172.31.0.2 dstport 4789
ip link set vxlan0 up

Auf Host B:

ip link add vxlan0 type vxlan id 42 dev WG remote 172.31.0.1 dstport 4789
ip link set vxlan0 up

VXLAN Interface an Bridge attachen

Auf Host B:

ip link add br-vxlan type bridge
ip link set br-vxlan up
ip link set vxlan0 master br-vxlan

Auf Host A:

Dies attached das vxlan0-Interface an die BRIDGE_LAN-Bridge. Wenn jetzt ein Rechner auf Site B eine DHCP-Anfrage auf dem br-vxlan-Interface stellt bekommt das Interface eine IP aus dem Adressbereich von Site A, und zwar auf dem Interface wo das vxlan0-Interface attached ist, also BRIDGE_LAN.

ip link set vxlan0 master BRIDGE_LAN

Die MTU evtl. noch ein wenig heruntersetzen:

Auf Host A und B:

ip link set vxlan0 mtu 1280