mDNS / Bonjour durch WLAN und VLAN

597
C. Hediger

Ich habe hier folgende Situation:

Zyxel USG20 -> VLAN -> Server (192.168.50.xx) (local_1) | | -> Switch -> wired devices (192.168.80.xx) (local_2) -> LEDE WLAN ROUTER -> Mobile Devices (192.168.80.xx) (local_2) 

Ich betreibe einen Homekit-Server in der VLAN-Sektion mit einer IP-Adresse im Bereich 50.xx. Nun möchte ich in der Lage sein, die IP von mDNS / Bonjour von einem mobilen Gerät aus der Range 80.xx zu entdecken

Ich habe im USG20 Regeln für Port 5353 hinzugefügt, um von local_2 an local_1 zu übergeben, und eine Regel für IP 244.0.0.251 hinzugefügt, um von local_2 an local_1 zu übergeben

Ich kann den Server jedoch nicht im VLAN finden. Was muss ich tun, damit dieses Setup funktioniert?

Vielen Dank.

1

1 Antwort auf die Frage

1
grawity

Dies ist normal - mDNS verwendet eine Link-Local- Multicast-Gruppe (224.0.0.251 unter IPv4, FF02 :: FB unter IPv6), die niemals von Routern / Gateways weitergeleitet wird. Einige Implementierungen erzwingen dies zusätzlich, indem alle mDNS-Pakete mit IP TTL = 1 markiert werden. (Das ist alles vorausgesetzt, Ihr Router hat zu Beginn die aktivierte Multicast-Weiterleitung aktiviert ...)

Um über Netzwerke / Subnetze hinweg arbeiten zu können, muss mDNS auf Anwendungsebene weitergeleitet werden. Zum Beispiel auf einem Linux- oder BSD-Router würden Sie avahi-daemon mit aktiviertem Proxying ausführen.


Da Sie über ein Raspberry Pi und einen Switch mit 802.1Q-VLANs verfügen, können Sie das Rpi als Relay verwenden, indem Sie es gleichzeitig mit Client- und Server-VLANs verbinden. (Beachten Sie, dass Sie kein dediziertes VLAN nur für das Rpi erstellen sollten; dies würde den Punkt völlig zunichte machen.)

In den Kommentaren geben Sie an, dass sich der Rpi auf Port 4 befindet.

  1. Markieren Sie im Switch Port 4 ( nicht LAG 4) für ein VLAN als "unmarkiert" und für alle anderen als "getagged". Wenn der Switch die Konfiguration der "PVID" des Ports anbietet, stellen Sie sicher, dass er mit dem nicht gekennzeichneten VLAN übereinstimmt.

    (Alternativ können Sie alle VLANs mit "Tags" versehen.)

  2. Erstellen Sie im Rpi virtuelle "vlan" -Schnittstellen für jedes markierte VLAN, das es empfängt. Vorausgesetzt, es läuft Linux, können Sie dies vorübergehend tun mit:

    ip link add eth0.100 link eth0 type vlan id 100 ip link set eth0.100 up dhclient eth0.100 

    (Wie Sie dies dauerhaft machen können, hängt von Ihrer Verteilung ab.)

  3. Aktivieren Sie in der Rpi das Proxying (Reflection) in /etc/avahi/avahi-daemon.conf:

    [reflector] enable-reflector=yes  
Vielen Dank für Ihre Antwort. Der beste Weg wäre also, diese Serverdienste auf eine eigenständige Himbeere zu migrieren, die sich innerhalb des local_2-Netzwerks befindet, denke ich. Oder ich benutze die Himbeere als Verbindungsgerät. Vielen Dank. C. Hediger vor 6 Jahren 0
Beachten Sie, dass der mDNS-Proxy nicht auf einem _router_ ausgeführt werden muss - nur auf einem Gerät, das direkt an beide Netzwerke angeschlossen ist (dh, er muss nur Multicasts empfangen können). grawity vor 6 Jahren 0
Wollte eine Himbeere die Anforderungen erfüllen? Er wird an das Netzwerk local_2 angeschlossen. Das local_2-Netzwerk kann das local_1-Netzwerk erreichen. C. Hediger vor 6 Jahren 0
Wie Sie kürzlich herausgefunden haben, reicht die indirekte Erreichbarkeit nicht aus. Der Proxy muss sich gleichzeitig in beiden Subnetzen befinden. Sie könnten beispielsweise einen Rpi an einen 802.1Q-Port mit "Tagged" / Trunk mit beiden VLANs setzen, sofern Ihr Gateway und Ihr Switch dies unterstützen. grawity vor 6 Jahren 0
Ich experimentiere tatsächlich damit. Ich habe ein VLAN für mein RPI mit der ID 100 erstellt. Ich habe einen Dhcp-Befehl ausgegeben, und ich kann die Anforderung in den Protokollen der Zywall sehen. Das zywall antwortet mit einem Angebot einer korrekten IP-Adresse (local_1-Bereich). Leider kann das rpi dieses Angebot nicht empfangen, da der Switch diese Antwort nicht an das pi weiterzuleiten scheint, da der Port nicht ordnungsgemäß konfiguriert ist. Hier ist ein Bild der tatsächlichen Konfiguration im GS108-Switch: https://imgur.com/a/e2bntEy Ich bin kein Experte, aber ich dachte, dass die LAG beide Traffic kombinieren wird. Mein RPI-Port ist Nummer 4. 7 und 8 sind die Server C. Hediger vor 6 Jahren 0
LAG bedeutet eine andere Sache - es kombiniert nicht den VLAN-Datenverkehr und "LAG 4" entspricht nicht Port 4. (Dabei werden zwei physische Ports zu einem zusammengefasst, z. B. 2x1Gbps in eine einzige 2Gbps-Verbindung; Ihr Switch.) unterstützt bis zu 4 solcher Gruppen.) Stattdessen müssen Sie die VLANs direkt auf "Port 4" konfigurieren. Einer sollte nicht markiert sein, alle anderen sollten markiert werden. Eine ähnliche Konfiguration muss auf der Rpi selbst vorgenommen werden, indem eine virtuelle "vlan" -Schnittstelle hinzugefügt wird. grawity vor 6 Jahren 0
Vielen Dank. Ich konnte es zum Laufen bringen. Das GS108-Menü ist etwas schwierig. Sie müssen Ihre VLAN-ID aus der Dropdown-Liste auswählen, um ihre Mitglieder zu konfigurieren. Jetzt hat das RPI zwei IPS. eine aus dem local_1-Netz und eine aus dem local_2-Netz. Jetzt habe ich den avahi-Teil konfiguriert C. Hediger vor 6 Jahren 0