fragen stichworte

Multicasting (mDNS) für Linux Server

Hintergrund:

Ich verwende einen Linux-Server in einem lokalen Netzwerk, das sowohl als Webserver als auch als zentraler Kommunikationsserver fungiert. Dieser Server kommuniziert mit mehreren Knoten im System. Bei der Knoteninitialisierung sendet der Knoten seine IP-Adresse an den zentralen Kommunikationsserver. Um zu wissen, wohin diese IP-Adresse gesendet werden soll, muss der Knoten die IP-Adresse des Servers kennen. Um den Server aufzulösen, wurde ich zur Verwendung von mDNS verwiesen.

Die Installation von avahi auf dem Server scheint Multicasting für den Linux-Server zu ermöglichen.

sudo apt-get install avahi-daemon

Dann kann der Hostname des Servers dahin geändert werden, wo Multicasting die IP-Adresse des Servers in

auflöst
hostname.local

Frage 1:

Müssen die Knoten auch den avahi-daemon installiert haben, damit dieses Schema funktioniert? Wenn ja, gibt es eine Möglichkeit, dies zu umgehen oder das Multicasting für die Knoten auf andere Weise zu aktivieren. Ich bin nicht sicher, ob ich mir nicht sicher bin, ob der Mikrocontroller diesen Dämon installieren kann, da der ESP8226 als WLAN-Modul verwendet wird. (Ich weiß, dass der ESP8226 mDNS unterstützt, ich weiß nur nicht wie genau).

Frage 2:

Wenn ein Benutzer versucht, auf eine Seite auf dem Webserver zuzugreifen, kann er nur den mDNS-Namen in einen Browser eingeben, um die Anforderung auszustellen? Oder muss der Avahi-Daemon auch installiert sein? Wenn es sich um einen Windows-Computer handelt, der versucht, auf die Anwendung zuzugreifen, kann ich nicht garantieren, dass diese Funktionalität eingebaut ist. Wenn es erforderlich ist, gibt es auch eine Möglichkeit, den Daemon nicht zu nutzen?

Update: Der ESP8226 unterstützt mDNS, jedoch ist kein Client-mDNS eingebaut. Es gibt jedoch eine Client-mDNS-Bibliothek für den ESP8226 hier: https://github.com/mrdunk/esp8266_mdns

antworten

Frage 1: Leider muss Avahi oder Bonjour (win/mac) installiert sein, um mDNS verwenden zu können. Viel Glück beim Zusammenstellen von Avahi für den Mikrocontroller! Ich habe noch nie mDNS mit WLAN verwendet, aber es ist wirklich sehr normal Multicast-Verkehr.

Frage 2: Sie können den mDNS-Namen für http-Zeug verwenden, avahi integriert es vollständig in DNS. Ich benutzte es tatsächlich, um NFS-Freigaben zu laden. Denken Sie daran, wenn Sie vhosts verwenden, den Hostnamen.local als Alias ​​für den vhost oder etwas hinzuzufügen.