Short DNS answer-Problem

Begonnen von Gisbert, 09 Juli 2024, 09:19:37

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo zusammen,

ich lese den Bestand der deutschen Gaslager aus. Seit 7.7. gibt es jedoch keine neuen Daten und etliche Einträge im logfile.

Hier meine Definition im raw-Format:
GasInStorageDE JsonMod https://agsi.gie.eu/api?country=de&date=now
attr GasInStorageDE event-on-change-reading gas_Day
attr GasInStorageDE httpHeader x-key: vorhanden, aber hier nicht kopiert
attr GasInStorageDE icon gasmeter2
attr GasInStorageDE interval 0 6 * * *
attr GasInStorageDE readingList single(jsonPath('$.gas_day'), 'gas_Day', 'N/A');;\
single(jsonPath('$.data.0.gasInStorage'), 'gasInStorage', 'N/A');;\
single(jsonPath('$.data.0.consumption'), 'consumption', 'N/A');;\
single(jsonPath('$.data.0.consumptionFull'), 'consumptionFull', 'N/A');;\
single(jsonPath('$.data.0.injection'), 'injection', 'N/A');;\
single(jsonPath('$.data.0.withdrawal'), 'withdrawal', 'N/A');;\
single(jsonPath('$.data.0.workingGasVolume'), 'workingGasVolume', 'N/A');;\
single(jsonPath('$.data.0.injectionCapacity'), 'injectionCapacity', 'N/A');;\
single(jsonPath('$.data.0.withdrawalCapacity'), 'withdrawalCapacity', 'N/A');;\
single(jsonPath('$.data.0.status'), 'status', 'N/A');;\
single(jsonPath('$.data.0.trend'), 'trend', 'N/A');;\
single(jsonPath('$.data.0.full'), 'full', 'N/A');;
attr GasInStorageDE room Network
attr GasInStorageDE stateFormat Speicher: [$name:full:r2]%

Die log-Einträge sehen so ein:
2024.07.09 09:13:14.892 2:  [GasInStorageDE] http request error: DNS: short DNS answer
Die Seite https://agsi.gie.eu/api?country=de&date=now liefert aber Daten:
{
  "last_page": 1,
  "total": 1,
  "dataset": "",
  "gas_day": "2024-07-07",
  "data": [
    {
      "name": "Germany",
      "code": "DE",
      "url": "DE",
      "updatedAt": "2024-07-08 16:05:05",
      "gasDayStart": "2024-07-07",
      "gasInStorage": "206.3802",
      "consumption": "888.8300",
      "consumptionFull": "23.22",
      "injection": "756.35",
      "withdrawal": "6.2",
      "netWithdrawal": "-750.1",
      "workingGasVolume": "247.4066",
      "injectionCapacity": "4057.44",
      "withdrawalCapacity": "6802.42",
      "contractedCapacity": "-",
      "availableCapacity": "-",
      "coveredCapacity": "100",
      "status": "C",
      "trend": "0.3",
      "full": "83.42",
      "info": []
    }
  ]
}

Muss ich meine Definition anpassen und ggf. wie?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

betateilchen

Zitat von: Gisbert am 09 Juli 2024, 09:19:372024.07.09 09:13:14.892 2:  [GasInStorageDE] http request error: DNS: short DNS answer

Diese DNS Fehler haben doch nicht im Entferntesten etwas mit JsonMod zu tun.

Zitat von: Gisbert am 09 Juli 2024, 09:19:37Muss ich meine Definition anpassen und ggf. wie?

Nein. Du musst herausfinden, warum die DNS Auflösung in Deinem Netzwerk nicht (mehr) funktioniert.

Bei mir funktioniert die Abfrage der Gasspeicher über Deine URL problemlos.

setstate GasInStorageDE 2024-07-09 12:56:47 consumption 888.8300
setstate GasInStorageDE 2024-07-09 12:56:47 consumptionFull 23.22
setstate GasInStorageDE 2024-07-09 12:56:47 full 83.42
setstate GasInStorageDE 2024-07-09 12:56:47 gasInStorage 206.3802
setstate GasInStorageDE 2024-07-09 12:56:47 gas_Day 2024-07-07
setstate GasInStorageDE 2024-07-09 12:56:47 injection 756.35
setstate GasInStorageDE 2024-07-09 12:56:47 injectionCapacity 4057.44
setstate GasInStorageDE 2024-07-09 12:56:47 status C
setstate GasInStorageDE 2024-07-09 12:56:47 trend 0.3
setstate GasInStorageDE 2024-07-09 12:56:47 withdrawal 6.2
setstate GasInStorageDE 2024-07-09 12:56:47 withdrawalCapacity 6802.42
setstate GasInStorageDE 2024-07-09 12:56:47 workingGasVolume 247.4066
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Gisbert

Hallo betateilchen,

ZitatDu musst herausfinden, warum die DNS Auflösung in Deinem Netzwerk nicht (mehr) funktioniert.

Es scheint etwas mit pi-hole zu tun zu haben. Mit global dnsServer <IP-Adresse des pihole-Servers> kommt keine Abfrage zustande, wohl aber mit irgendeiner öffentlichen Adresse (z.B. 1.1.1.1) als auch mit der IP-Adresse meiner Fritte.

Eigenartigerweise ist das nur bei der Domain agsi.gie.eu der Fall, nicht aber bei allen anderen Domains, die ich per HTTPMOD oder JsonMOD abfrage.

In pi-hole steht im logfile unter der Rubrik Reply N/A, während bei allen anderen Anfragen eine Zeit in ms steht. Irgendwie sind agsi.gie.eu und pi-hole keine Freunde.

Die Rubrik ist ja nun mal falsch, wohin könnte ich den Thread verschieben?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

betateilchen

Zitat von: Gisbert am 09 Juli 2024, 16:59:53Die Rubrik ist ja nun mal falsch, wohin könnte ich den Thread verschieben?

z.B. wäre "Einplatinencomputer" eine Möglichkeit.

Das von Dir beschriebene Problem mit DNS Auflösung und pihole gab es hier im Forum übrigens vor ein paar Jahren schonmal. Kann man bestimmt über die Suche finden.

Warum ersetzt Du nicht einfach den Servername durch die IP Adresse?

Also statt agsi.gie.eu einfach 104.18.25.90 in die URL schreiben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: betateilchen am 09 Juli 2024, 18:04:21Das von Dir beschriebene Problem mit DNS Auflösung und pihole gab es hier im Forum übrigens vor ein paar Jahren schonmal. Kann man bestimmt über die Suche finden.

Wusste ich doch... Suche nach "short DNS answer" liefert

https://forum.fhem.de/index.php?topic=108266.0
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Gisbert

Hallo betateilchen,

im Fhem-Forum und mit Google hatte ich schon gesucht und selbstverständlich auch den von dir verlinkten Thread gefunden. Auch die IP-Adresse hatte ich mit 104.18.24.90 (nicht 25) herausgefunden.

Auch den letzten Beitrag mit der IP(-Adresse) statt dem Servernamen hatte ich gelesen, aber noch nicht verstanden. Jetzt mit deinem Hinweis auf die IP-Adresse dann schon.

Leider gibt es weitere Hürden, denn https://104.18.24.90/api?country=de&date=now wird mit
API_LAST_MSG
SSL connect attempt failed error:0A000410:SSL routines::sslv3 alert handshake failure
im Fhem-Device quittiert. Auch der Aufruf in einem Browser funktioniert nicht:
Diese Website kann keine sichere Verbindung bereitstellen
104.18.24.90 verwendet ein nicht unterstütztes Protokoll.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Das Problem scheint wohl noch tiefer zu liegen. Bei einer Seite habe ich etwas von falschen Einstellungen bei UDP bei einer Firewall gelesen, aber das hilft mir auch nicht weiter, da ich einen anderen Router und Software habe.

Ich danke dir für deine Unterstützung und verschiebe den Beitrag zu Server - Linux.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Gisbert

Noch eine Ergänzung:

nslookup agsi.gie.eu 192.168.1.101
;; Truncated, retrying in TCP mode.
Server:        192.168.1.101
Address:        192.168.1.101#53

Non-authoritative answer:
Name:  agsi.gie.eu
Address: 104.18.24.90
Name:  agsi.gie.eu
Address: 104.18.25.90
Name:  agsi.gie.eu
Address: 2606:4700::6812:185a
Name:  agsi.gie.eu
Address: 2606:4700::6812:195a
192.168.1.101 ist die IP-Adresse des pi-hole, aufgerufen hab ich's vom Fhem-Server 192.168.1.100.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

betateilchen

Da siehst Du aber auch, dass die IP Adresse mit der 25 durchaus korrekt ist.

udo@mac-mini-LAN ~ % ping agsi.gie.eu
PING agsi.gie.eu (104.18.25.90): 56 data bytes
64 bytes from 104.18.25.90: icmp_seq=0 ttl=58 time=19.563 ms

Vielleicht ist die 24er Adresse einfach im Moment nicht erreichbar, aber Dein lokaler DNS liefert immer noch diese IP zurück.

Wenn ich nslookup außerhalb meines Netzwerks aufrufe, bekomme ich immer zuerst die 25er Adresse als Ergebnis.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

ZitatShorts DNS bei JsonMOD: Gasspeicher abfragen

Der "neue" Thread-Titel ist völlig absurd.
Das Problem hat nichts mit JsonMod zu tun.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Gisbert

Vielleicht ist die 24er Adresse einfach im Moment nicht erreichbar, aber Dein lokaler DNS liefert immer noch diese IP zurück.
Ich hab keinerlei Änderungen bei pi-hole und beim pi-hole-Server durchgeführt - und jetzt funktioniert das JsonMOD-Devive wieder.

Zwischenzeitlich hatte ich den Aufruf mit der 24er und 25er-IP-Adresse durchgeführt, aber ohne Erfolg.

Insgesamt ist die ganze Geschichte unbefriedigend, da so recht keine greifbare Erklärung da ist - außer, dass ich oder jemand anderes diesen Thread wiederfindet.

Thread-Titel hab ich nochmals geändert.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

betateilchen

Zitat von: Gisbert am 09 Juli 2024, 23:31:42Ich hab keinerlei Änderungen bei pi-hole und beim pi-hole-Server durchgeführt - und jetzt funktioniert das JsonMOD-Devive wieder.

Das bestätigt meine Theorie der Nichterreichbarkeit und der dadurch "falschen" DNS Antwort in Deinem lokalen Netzwerk.

Bei mir wird inzwischen auch (wieder?) die 24 Adresse als erste Adresse zurückgeliefert.

udo@mac-mini-LAN ~ % ping agsi.gie.eu
PING agsi.gie.eu (104.18.24.90): 56 data bytes
64 bytes from 104.18.24.90: icmp_seq=0 ttl=58 time=32.830 ms

Unbefriedigend ist maximal das Verhalten von piHole - offenbar werden da DNS Einträge viel zu lange im Cache gehalten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Gisbert

ZitatUnbefriedigend ist maximal das Verhalten von piHole - offenbar werden da DNS Einträge viel zu lange im Cache gehalten.

Ja, es muss mit pi-hole zu tun haben. Aber selbst nach einem Serverstart, auf dem pi-hole läuft, tritt der obige Fehler auf. Überlebt der Cache einen Serverneustart?
DNS TTL hatte ich auf 2 (Sekunden) gesetzt, aber auch das half nicht.

Da die Abfrage heute morgen wieder permanent nicht erfolgreich war, und ich nach etliche Runden mit Googlesuchen nicht weitergekommem bin, gebe ich vorerst auf.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

tomcat.x

Vielleicht ist das nur "indirekt" ein Pi-hole Problem, sondern eins von einem der befragten DNS-Server. Da nutzt man in der Regel ja auch mehrere. Vor allem (wenn man schon mit Pi-hole "rum macht") auch nicht Google & Co. Das würde auch erklären, warum das immer noch besteht. Denn aktuell bekommt man bei beiden genannten Adressen eine Antwort auf ping und telnet. In dem verlinkten Beitrag war eins der Probleme, dass nicht nur Pi-hole als DNS-Server eingetragen war, sondern noch ein alternativer Server. Wenn dann Pi-hole nicht (schnell genug) antwortet, könnte auch der das Problem sein.

Ich habe auch gelegentlich "short DNS answer" Einträge im Log, bei mir immer im Zusammenhang mit Netatmo. Diesen Monat aber erst einmal. Das ist dann immer schwierig nachzuvollziehen. In einem Fall war es genau wie oben beschrieben. Ansonsten bemerke ich keine Probleme mit Pi-hole, zumindest subjektiv nicht. Einzelne Aussetzer merkt man ohne Log vielleicht gar nicht.

Eine Umstellung auf IP-Adressen ist immer weniger eine mögliche Lösung. SSL/TLS funktioniert halt nur mit dem Namen.

Viele Grüße
Thomas
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 7.57), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

Gisbert

Hallo Thomas,

ZitatEine Umstellung auf IP-Adressen ist immer weniger eine mögliche Lösung. SSL/TLS funktioniert halt nur mit dem Namen.
Das kann ich bestätigen, denn mit der IP-Adresse statt dem Servernamen funktioniert es nicht.

ZitatDa nutzt man in der Regel ja auch mehrere. Vor allem (wenn man schon mit Pi-hole "rum macht") auch nicht Google & Co. Das würde auch erklären, warum das immer noch besteht.
Das schließe ich eher aus, denn mit nur einem DNS-Server in pi-hole (z.B. nur Cloudflare oder Google) kommt auch keine Abfrage zustande.

Ich suche jetzt selbst nicht mehr aktiv nach einer Lösung, bin aber sehr daran interessiert, falls jemand einen Vorschlag hat, den ich testen könnte.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

betateilchen

Nur mal rein informativ gefragt: Läuft Dein FHEM auf der gleichen Plattform wie das piHole?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!