Es ist wie ich finde nicht einfach lokale Dienste auch zugänglich zu machen. Idealerweise sollte wie ich finde jeder Teilnehmer in der Lage sein einen solchen Dienst in die Welt zu setzen. Nur wie findet man die (ausser über nmap ;-))
Naiv habe ich dann mal an mDNS/zeroconf gedacht was ja in einem Gluon basierten Freifunk Netz erstmal möglich sein sollte, wenn die FW die entsprechende Multicast Adresse freigibt.
Was mich interessieren würde ob es schon Erfahrungen damit gibt und ob es technische Gründe gibt warum man das „auf keinem Fall will“.
Anmerkungen zur Diensten an sich sind vermutlich im verknüpften Thread besser aufgehoben.
Man will nicht, weil es eine erhebliche Grundlast erzeugt. Zumindest solange batman-adv noch nicht effizient mit Multicast umgehen kann und fast immer Broadcasts draus werden.
Wir hatten das in Lübeck lange Zeit. Bis ca. 100 Knoten ging es noch gut, danach wurde die Last einfach zu groß (fast jedes Applegerät macht ja mit).
Sobald wir ein multicastfähiges Mesh haben, würde ich mDNS aber gerne wieder aktivieren. Die Idee passt einfach wunderbar zu Freifunk.
Dafür wurde DNS erfunden. Du hast eine globale IPv6 Adresse. Besorge dir eine Domain vom Verramscher Deiner Wahl, denke Dir eine hübschen Namen aus, und konfiguriere für diesen einen AAAA-Ressource-Record mit Deiner globale Unicastadresse. Fertig.
Welchen mDNS Server?
Mein Verständnis : zeroconf = mDNS (serverless) + DNS-SD (server).
Klar kann ich nicht den ganzem Netz „meinen DNS-SD“ aufzwingen. War auch nicht der Plan.
Sondern Multicast DNS, serverless.
Soweit ich weiss gibt es in mDNS auch Vorkehrungen die redundantes Geplapper zumindest reduzieren. Was leider gerade wie @tcatm sagt nix bringt solange batman-adv aus einem Multicast ein Broadcast macht.
Alle DNS-Abfragen für Namen, die auf „.local.“ enden, müssen mit UDP und IP Multicast an die mDNS-Multicast-Adresse (IPv4: 224.0.0.251, IPv6: ff02::fb, UDP-Port 5353) gesendet werden.
Du musst also einen Server betreiben, der auf diese Multicast Adressen hört. Und die Clients müssen auch diesen Server dann befragen. Einige werden das vielleicht tun, andere nicht.
Sicher hingegen ist, dass die nur im lokalen Netz in dem sich die Clients befinden überhaupt funktionieren wird. Der Server muss sich übrigends im selben Netz befinden.
Ich hab [auch nachgeschaut (RFC6762)][1] und „Server“ ist da unscharf. Der mDNS Responder halt (z.b. avahi unter Linux), der läuft dann aber auf jedem Knoten (der mDNS nutzt). Also nicht „mein Server“.
Genau wie du sagts: Wenn jemand alle Webserver im lokalen Netz sucht fragt man die 224.0.0.251 nach „_http._tcp“ und kriegt antworten.
Ich suche nur nach einer Lösung für ein ein lokales Netz (ich spreche hier im Gluon Kontext).
Und selbst da könnte man per Reflector auch L3 Barrieren überbrücken. Aber das wäre erstmal nicht mein Ziel (und vielleicht auch nicht sinnvoll) - es geht ja um lokale Dienste.
auf den Hosts ist eine mDNS Implementiereung (Client) erforderlich
es gibt (m.W.) im Freifunk keine Implementierung für Multicastforwarding IGMP für IPv4 bzw. MLD für IPv6. Das bedeutet, dass alle Multicasts an alle (!) Nodes geforwarded werden müssen. Das ist in einem flachen L2-Netz sehr suboptimal, siehe auch die jüngsten Vorkommnisse bei den Kollegen am Rheinufer.
Jetzt kannst Du Dir selbst aussuchen, wieviel Brauchbarkeit von mDNS noch übrigbleibt.