Zunächst einige Hintergrundinformationen: Wir haben ein Labor mit einer Handvoll dedizierter Linux-Server, die in einem isolierten LAN ausgeführt werden. Auf allen Servern wird dasselbe Betriebssystem (Debian Linux) und dieselbe proprietäre Serversoftware ausgeführt, und die Serverprozesse kommunizieren miteinander, um ihre Daten synchron zu halten. Dies bedeutet, dass es für Clients keine Rolle spielt, mit welchem Server der Client eine Verbindung herstellt. Jeder Server gibt dieselben Daten zurück wie jeder andere.
Diese Linux-Server führen alle avahi-daemon aus, um mDNS-Hostnamen für sich selbst zu veröffentlichen. Dies bedeutet, dass ein Client beispielsweise " http: //linux-server-1.local " eingeben kann . in seinen Webbrowser und verbinden Sie sich mit Linux Server # 1 und so weiter.
Dies ist alles gut und schön, außer dass ein Benutzer, der auf dem Client-Computer sitzt (normalerweise ein Mac oder Windows-Laptop mit installiertem Bonjour), wissen muss (oder herausfinden muss), welcher der Linux-Server derzeit online ist, und er muss Stellen Sie sicher, dass er eine Verbindung zu einem dieser Geräte herstellt. Wenn beispielsweise Server 2 heute offline ist und der Client " http: //linux-server-2.local " eingibt . In seiner URL-Leiste wird er keine Antwort erhalten. Das ist natürlich nicht das Ende der Welt, aber es ist ärgerlich für Neulinge, die erwarten, dass alles "nur funktioniert", und es macht auch die Entwicklung robuster clientseitiger Skripte komplizierter (seit dem clientseitigen Skript) müsste wissen, wie man explizit mit Offline-Servern umgeht).
Vor diesem Hintergrund lautet meine Frage: Ist es möglich, Avahi so zu konfigurieren, dass auch ein mDNS-Hostnamen-Alias im Anycast-Stil veröffentlicht wird? Das Ziel ist, dass sich jeder mit seinem Laptop hinsetzen und " http: //any-linux-server.local " eingeben kann . (oder ähnlich) und verbinden Sie sich mit einem der Server, die gerade online sind (auch hier spielt es keine Rolle, welcher).
Beachten Sie, dass dies ohne spezielle Konfiguration von Client-Laptops funktionieren muss, da wir keine Kontrolle über diese haben (abgesehen von der Anforderung, dass Bonjour installiert ist).
Beachten Sie auch, dass wir uns nicht auf das Vorhandensein eines separaten Nameservers oder einer Proxy-Box oder auf das Vorhandensein eines bestimmten Linux-Servers verlassen können, da dies zu einem einzelnen Fehlerpunkt führen würde, den wir vermeiden möchten.