Forum: Haus & Smart Home hostname aller ESP32-xx im Fritzbox-Mesh "verlorengegangen"


von Reiner J. (purehunter)


Lesenswert?

Ich habe in meinem Netz 10+ ESP32 laufen. Die meisten selbst 
programmiert, aber auch 3 ESP32-Cams mit "AI on the edge" drauf. Alle 
laufen seit Jahren problemlos :-)
Aber: mein Heimnetz ist gewachsen und bestand zuletzt aus 3 Fritzboxen 
auf verschiedenen Etagen die jeweils ein eigenständiges Wifi Netz 
aufgespannt haben. Alle in einem LAN verbunden. Dieser Zustand hat mir 
nicht mehr gefallen, und ich habe die Fritten jetzt zu einem Mesh 
zusammengefasst und habe seitdem ein "Problem".
ALLE ESP32 werden in der Fritzbox (Mesh-Master) in der Liste der 
Netzwerkteilnehmer nicht mehr mit dem ihnen in der SW zugewiesenen 
"hostname" angezeigt, sondern mit dem Default-Hostname (ESP32-xxxxxx), 
wobei die x für die letzten 3 Byte der MAC Adr. stehen.
Funktional hat das erst mal keine Auswirkungen, aber bei der Anzahl der 
Geräte ist es sehr unübersichtlich geworden.

Wenn ich ein nslookup auf eine IP-Adr. eines solchen clients mache 
erhalte ich auch 2 Einträge:
1
20.10.168.192.in-addr.arpa  name = esp32s2-4A8502.fritz.box.
2
20.10.168.192.in-addr.arpa  name = wortuhr.fritz.box.
Leider verwendet die Fritzbox ausgerechnet den falschen Namen.

Hat jemand eine Idee, wie man dem beikommen kann? (außer in der Fritte 
händisch die Namen zu ändern)

Gruß
Reiner

: Bearbeitet durch User
von Hannes J. (pnuebergang)


Lesenswert?

Reiner J. schrieb:
> Wenn ich ein nslookup auf eine IP-Adr. eines solchen clients mache
> erhalte ich auch 2 Einträge:
>
1
> 20.10.168.192.in-addr.arpa  name = esp32s2-4A8502.fritz.box.
2
> 20.10.168.192.in-addr.arpa  name = wortuhr.fritz.box.
3
>

Der Reverse-Lookup (PTR) den du da gemacht hast ist in erster Näherung 
egal. Also so halbwegs.

Wichtig ist erst mal der normale Lookup (A). Am besten mit Debug-Ausgabe 
und expliziter Angabe des DNS-Servers (als IP-Adresse der FB, nicht als 
Name):

nslookup -d wortuhr 192.168.10.1

Wird die IP 192.168.10.20 gefunden ist erst mal alles ok.

> Leider verwendet die Fritzbox ausgerechnet den falschen Namen.

Die FB verwendet den Namen soweit ich weiß nur für zwei Dinge

1) Zum Anzeigen, Logs, etc. in der FB - kann dir in erster Näherung auch 
egal sein. Ist ein "Schönheitsding".

2) Wenn ein Host per DHCP auch nach seinem Namen fragt

Nun brauch ein Embedded Host wie ein ESP32 seinen Hostnamen auch nur für 
Anzeigendinge, Logs, etc. Also sollte der Hostname für die Funktion 
nicht wichtig sein.

> Hat jemand eine Idee, wie man dem beikommen kann? (außer in der Fritte
> händisch die Namen zu ändern)

Also ich würde es erst mal ignorieren. Ansonsten, es sind nach deiner 
Aussage nur ein paar ESPs. Es ist nicht die Welt die händisch zu ändern.

Du kannst dir natürlich die DHCP/DNS Settings der FB anschauen. Wenn die 
zwei Namen nicht im Web-Interface auftauchen, dann generiere dir die 
Supportdaten:

https://fritz.box/#support

In der Textdatei dann nach

##### BEGIN SECTION dhcpd

suchen. Da sollten alle Namen, IP-Adressen etc. stehen die der 
kombinierte DHCP/DNS-Server der FB von Hosts kennt.

: Bearbeitet durch User
von Lu (oszi45)


Lesenswert?

Ein einfacher Ausweg wäre evtl. dem Fritz-DCHC zu sagen, dass Deine ESP 
eine feste IP zugewiesen bekommen. Auge in DHCP-Menü und Haken setzen?

von Reiner J. (purehunter)


Lesenswert?

@pnuebergang
@oszi45

nslookup -d wortuhr 192.168.10.1

funktioniert. Und ja, das Ganze ist "mehr oder weniger" ein 
Schönheitsding. Aber bei sehr vielen und auch immer wieder 
wechselnden/neuen Clients im Netz ist es nicht mehr nur einfach ein 
Schönheitsding. In einer Liste von wechselnden MAC-Adressen blickst du 
halt nicht mehr durch wer wer ist.
Hier wäre es ja auch schon hilfreich wenn man dem ESP abgewöhnen könnte, 
seinen Default-Namen zu veröffentlichen, zumindest wenn es einen 
zugewiesenen hostname gibt. Aber dazu habe ich nichts gefunden.

https://fritz.box/#support
https://fritz.box/#/support

Diese Seite gibt es leider in meiner FB7590 (Mesh-Master) nicht. Ich 
habe eine 1&1 gebrandete. Und originalen FB's sind Mesh-Clients, da ist 
DHCP natürlich aus.

---

Und da ist auch noch ein weiteres (Namens-)Problem (nur) im Mesh 
dazugekommen:

Einige ESP32 nutzen die FB als NTP-Server. Mit den Standalone-FBs konnte 
ich als NTP-Server "fritz.box" verwenden. Seit der Umstellung auf Mesh 
funktioniert das nicht mehr. Es funktioniert nur noch mit der IP-Adr. 
irgendeiner(!) FB im Mesh, aber nicht mehr mit dem Namen. Dabei ist es 
egal, ob so ein Client mit einem Mesh-Repeater, oder mit dem Mesh-Master 
verbunden ist. Außerdem auffällig: bei NTP-Servern im Internet 
funktioniert die Namensauflösung, die Angabe von z.B. de.pool.ntp.org 
funktioniert, nur eben fritz.box im Mesh nicht mehr.
Und der lokale Nameserver ist der Mesh-Master selber.

Auch hier gibt's einen Workaround, natürlich, aber halt nicht schön.

von Lu (oszi45)


Lesenswert?

Beim NTP kann ich Fritz verstehen. Zwischen den einzelnen Fritzen gibt 
es ja eine Laufzeit, die bei Mesh evtl. verschieden werden könnte und 
falsche Zeiten haben mir schon viel Ärger beschert. Deswegen ist die IP 
wahrscheinlich die bessere, eindeutige Fritz-Variante (weil es zu viele 
Fritze gibt).

von Oliver S. (oliverso)


Lesenswert?

Reiner J. schrieb:
> Einige ESP32 nutzen die FB als NTP-Server. Mit den Standalone-FBs konnte
> ich als NTP-Server "fritz.box" verwenden. Seit der Umstellung auf Mesh
> funktioniert das nicht mehr.

Das funktioniert bei mir problemlos, wobei ich keine ESP32 habe, nur 
andere Clients.

Oliver

von Helmut -. (dc3yc)


Lesenswert?

Reiner J. schrieb:
> Einige ESP32 nutzen die FB als NTP-Server. Mit den Standalone-FBs konnte
> ich als NTP-Server "fritz.box" verwenden. Seit der Umstellung auf Mesh
> funktioniert das nicht mehr. Es funktioniert nur noch mit der IP-Adr.
> irgendeiner(!) FB im Mesh, aber nicht mehr mit dem Namen.

Ich habe auch ein Mesh mit zwei Fritzen und zwei Repeatern und verwende 
als NTP-Server ntp.fritz.box bei meinen ESPs. Das funktioniert 
einwandfrei.

von Reiner J. (purehunter)


Lesenswert?

[GELÖST]

Ich habe die Lösung bei Espressif gefunden:

Wenn man einen hostname vergeben will, muss man das als allererste 
Aktion tun, bevor man am Wifi-Interface IRGENDETWAS (!) anderes 
konfiguriert und ggf. vorher Wifi komplett neu initialisiert 
"WiFi.mode(WIFI_MODE_NULL);" falls das Interface bereits z.B. als 
Accesspoint schon in Betrieb war - und nicht nur einfach umkonfiguriert.

Das hat gleich beide Probleme behoben: nslookup liefert nur noch den 
zugewiesenen hostname, und nicht mehr auch noch zusätzlich den Default.
Und die Namensauflösung für den internen NTP server funktioniert auch im 
Mesh.

Dann hat es vorher alles nur "zufällig" funktioniert. Wie leider auch 
bei vielen anderen, z.B. die von mir verwendeten AI-on-the-Edge Clients.

---

PS wie markiert man in diesem Forum [Gelöst]? Ich habe andere Beiträge 
gefunden, wo der Titel entsprechend geändert war wie ich das kenne. Geht 
aber in diesem Forum nur 60 Minuten lang...

: Bearbeitet durch User
von Oliver S. (oliverso)


Lesenswert?

Helmut -. schrieb:
> und verwende
> als NTP-Server ntp.fritz.box bei meinen ESPs. Das funktioniert
> einwandfrei.

Hm. Der Zeitserver horcht offiziell unter fritz.box. Bei mir zumindest 
läuft ntp.fritz.box ins leere.

Oliver

von Reiner J. (purehunter)


Lesenswert?

Oliver S. schrieb:
> Hm. Der Zeitserver horcht offiziell unter fritz.box.

So ist mir das auch bekannt.
Aber der Test zeigt, dass ntp.fritz.box hier AUCH funktioniert.

@Helmut
wie bist du darauf gekommen?

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

Reiner J. schrieb:
> Oliver S. schrieb:
>> Hm. Der Zeitserver horcht offiziell unter fritz.box.
>
> So ist mir das auch bekannt.
> Aber der Test zeigt, dass ntp.fritz.box hier AUCH funktioniert.
>
> @Helmut
> wie bist du darauf gekommen?

Woher ich das habe, weiss ich nicht mehr. Irgendwo in den Weiten des 
Internets gelesen. Möglicherweise auch in einem Beispielprogramm. Nun 
steht es so in meiner credentials.h, worin alle WiFi-, MQTT-, NTP- und 
sonstige IPs und Passwörter niedergeschrieben sind. Habe dazu im 
Arduino-Lib-Verzeichnis ein Directory namens "credentials" erzeugt und 
darin steht die Headerdatei. Brauche ich nur jedes mal einzubinden und 
mich nichtmehr um jeden Schmonz einzeln kümmern. Und ich habe den 
Vorteil, dass ich mich bei der Weitergabe von Programmen nicht um 
irgendwelche versteckte Passwörter kümmern muss.

von Mario M. (thelonging)


Lesenswert?

Oliver S. schrieb:
> Bei mir zumindest läuft ntp.fritz.box ins leere.

Bei mir auch. Muss wohl von der Firmware abhängig sein, dass diese bzw. 
andere nicht vergebene Subdomains auf die Adresse der Fritzbox 
umgeleitet werden. Auch eine Websuche nach "ntp.fritz.box" findet keine 
Beispiele.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.