FHEM läuft nicht mehr, wenn LAN Link ist UP durch DNS von div. Modulen

Begonnen von duu75, 24 April 2016, 15:26:30

Vorheriges Thema - Nächstes Thema

duu75

Mein FHEM läuft nicht mehr, wenn er Link im Netzwerk bekommt.
FHEM Service läuft, aber Webseite geht nicht mehr und auch CUL und HMLAND gehen, wenn überhaupt mit Fehlern und extremsten Verzögerungen.

Habe das Problem seit gestern, seit mein DSL Asl gestört ist und die AVM FB kein DSL-Signal mehr zum connect hat.
Klingt komisch, ist aber so. :-(

Ziehe ich das LAN ab, warte kurz und rufe die Webseite mittel Loopback auf, geht alles wie früher 1A.
Nur eben die LAN Devices (AVR-NET-IO) kann ich logischerwiese dann nicht mehr ansteuern usw.
Aber CUL und HMLAND funktionieren dann, wie gewohnt und gewünscht!

LAN Kabel wieder rein, nix mehr geht!
Weder direkte IP, noch Loopback,  noch läuft FHEM sauber.

Was hat da Kubuntu für ein Problem nur weil vermtl. das Internet nur weg ist mit dem LAN Port.
Oder nur zufälliges Problem zur gleichen Zeit mit DSL Störung?

Habe schon mehrfach gebootet und auch in dem Verbindungsmanager das kabelgeb. Interface gelöscht und neu angelegt.
Switchport getauscht usw....

In der /etc/network/interfaces steht nur:

auto lo
iface lo inet loopback


ifconfig zeigt aber unter CLI im Kubuntu sauber das LAN Interface, keine Fehler oder so!

Die eigentliche LAN IP ist im Kubuntu unter dem Netzmanager konfiguriert.
Im alten Kubuntu hatte ich das allerdings eth1 auch in der Interfaces mit drin.
Geht aber irgendwie unter 14.04 nur noch über diesen GUI Manager.
Hat bisher ja auch ohne Probleme alles so funktioniert.

Alle anderen Dienste laufen mit aktivierten LAN.
samba, proftpd, tftp-hpa, apache2 usw.
Nur FHEM zickt dann rum.

SUDO TOP zeigt keine auffälligen erhöhten CPU Aktivitäten alle unter 1-3%

Was soll ich machen?
Bin total am verzweifeln und meine Linuxkenntnisse sind inzwischen recht am Ende.

CoolTux

Auf welcher Hardware läuft denn FHEM? Ist Kubuntu das OS wo auch FHEM drunter läuft?
Wo und wie hängt der HMLan dran? Du bist sehr sparsam mit Systeminformationen

Mach mal
ifconfig
ps ax

Und dann schauen wir mal.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

viegener

Ich bin nicht sicher, ob ich Dir helfen kann, aber zwei Dinge die mir dazu einfallen sind:

- FHEM-Module, die externe Verbindungen aufbauen und dabei FHEM anhalten (also alles was zum Beispiel extern im Internet Daten abruft --> z.B. Wetterdienste etc)
- Generell Namensauflösungen für Server (sprich DNS etc), da diese gerne blockierend sind. Also es wird versucht einen Namen "www.google.de" zu eienr IP-Adresse aufzulösen die Fritzbox wird gefragt und wartet auf einen externen DNS-Server ...

Im ersten Fall würde es helfen mal Module herauszunehmen, die externe Dienste enthalten (temporär löschen oder deaktivieren)
Im zweiten Fall wäre es interessant auf der Kommandozeile bei laufendem LAN Namen (zur Not über ping) aufzulösen und zu schauen, ob es da auch lange Wartezeiten gibt?


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

duu75

Kurzes Update und mehr Infos (Sorry)

Das Kubuntu 14.04 LTS läuft auf einem Laptop mit Core i5, 2GB RAM ...

Das Webinterface über Loopback scheint inzwischen auch (wieder) zu gehen bei aktiver LAN Verbindung.
Aber der Aufruf dauert extrem lange, viele Minuten!!!
Über die eigtl. IP anscheinend auch, aber noch viel länger.

CUL ist direkt über USB verbunden und der der HMLAND ist der Homatic USB Configstick.
Über IP hängt dann mit ECMD der AVR dran.
Dreambox ist aktiviert, PRESENCE zu Handys und IPCAMs etc.

Ja und ich habe TELEGRAM Bot laufen, der raus möchte und openweather und yahoo weather ist aktiv.
Sehe ich auch im Log, das die auf Fehler laufen.



duu75

Habe jetzt
- openweather disabled 1
- weather pollzeit von 1800 auf 18000 gesetzt, disable gibt es leider nicht
- bei den Telegram bots Polling auf 0 gesetzt

Jetzt geht es komischerweise wieder.
Liegt also an den DNS Aufrufen der Module.

Das ist ja aber Fatal.
Wenn man Internet weg ist, wie gerade in meinem Fall seit gestern, kippt der ganze FHEM um deshalb.
Da sind doch die Module nicht sauber gebaut oder?
Wenn die ihre Destination nicht bekommen nach Timeout, können die doch nicht das ganze FHEM System lahm legen.

Was kann man da tun?

Den Kubuntu sich selbst neben der Fritzbox als 2. DNS Server eintragen und für die genutzten Adressen auf die eigene Loopback verweisen.
Dann ist die IP wenigstens erreichbar aber kriegt eben nur keine Daten zurück.
Wäre zumindest ein Workaround falls es so funktionieren könnte.

Ist schon blöd wenn man Alarmanlage und Überwachung per FHEM laufen hat und die ganze Kiste kackt ab wegen DSL Störung.


viegener

Zitat von: duu75 am 24 April 2016, 16:09:41
Habe jetzt
- openweather disabled 1
- weather pollzeit von 1800 auf 18000 gesetzt, disable gibt es leider nicht
- bei den Telegram bots Polling auf 0 gesetzt

Jetzt geht es komischerweise wieder.
Liegt also an den DNS Aufrufen der Module.

Das ist ja aber Fatal.
Wenn man Internet weg ist, wie gerade in meinem Fall seit gestern, kippt der ganze FHEM um deshalb.
Da sind doch die Module nicht sauber gebaut oder?
Wenn die ihre Destination nicht bekommen nach Timeout, können die doch nicht das ganze FHEM System lahm legen.

Was kann man da tun?

Den Kubuntu sich selbst neben der Fritzbox als 2. DNS Server eintragen und für die genutzten Adressen auf die eigene Loopback verweisen.
Dann ist die IP wenigstens erreichbar aber kriegt eben nur keine Daten zurück.
Wäre zumindest ein Workaround falls es so funktionieren könnte.

Ist schon blöd wenn man Alarmanlage und Überwachung per FHEM laufen hat und die ganze Kiste kackt ab wegen DSL Störung.

Beim TelegramBot kann ich zumindest sagen, dass das Polling nicht blocking abläuft, nur die DNS Namensauflösung ist blocking.

Eigentlich musst man nicht aufs eigene Loopbackinterface verweisen, sondern nur dafür sorgen, dass die DNS-Requests dann sofort einen Fehler liefern, denn der Server ist ja eh nicht erreichbar...

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

duu75

Zitat von: viegener am 24 April 2016, 18:10:29
Beim TelegramBot kann ich zumindest sagen, dass das Polling nicht blocking abläuft, nur die DNS Namensauflösung ist blocking.

Eigentlich musst man nicht aufs eigene Loopbackinterface verweisen, sondern nur dafür sorgen, dass die DNS-Requests dann sofort einen Fehler liefern, denn der Server ist ja eh nicht erreichbar...

Aber wie das anstellen?
DNS Anfragen haben auf der Fritzbox als Standard DNS Server einen Timeout, der erst ablaufen muss bevor eine Antwort kommt.

betateilchen

In der /etc/resolv.conf des client-Rechners kannst Du die Optionen


options timeout:1
options attempts:1


entsprechend konfigurieren. Default ist timeout=5 und attempts=2

Um solche Probleme zu vermeiden, läuft bei mir ein lokaler DNS Server (dnsmasq) auf dem Cubietruck mit, auf dem auch fhem läuft. Dessen IP Adresse wird per DHCP an alle Clients verteilt, die sich per DHCP registrieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Deshalb habe ich sogar einen "echten" dns/(dhcp)-Server im Netz. Der ist so einfach zu installieren und ermöglicht die 100% Kontrolle.

Sogar für den RasPi (u.Ä.) ist so ein Server kein Problem und wird nebenbei erledigt. Auch sit die Konfiguration (heute) kein Problem mehr.

Und im Gegensatz zu Router dhcp/dns-Server kann man auch besser auf Fehlersuche gehen .... und das Verhalten ist deterministisch.

Als Beispiel: das bei der Fritte manchmal, wenn ein Server nicht nach draußen "telefoniert", der dns-Eintrag verschwindet, hat man dann z.B. nicht (mehr)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Ma_Bo

Hallo, ich habe leider auch das Problem, das FHEM für immer wieder 40 Sekunden blockiert, wenn ich mal nen DSL Ausfall habe.
Bei mir laufen Yahooweather, TelegramBot, Pushover, Harmony Hub usw. die wahrscheinlich diese freeze von fhem auslösen, wenn DSL mal gerade ne Störung hat.

betateilchen oder Wernieman, kann bitte mal einer erklären, was ich machen kann, bzw. wie so ein "echter" dns(dhcp) Server funktioniert und was ich dafür brauche.

Es ist nämlich absolut beschi....... wenn man Alarmanlage, HM Komponenten usw über fhem laufen hat und wegen einer DSL Störung alles abkackt und einfriert.

Welche Komponenten bzw. welche Einstellungen muss man machen, damit eine solche DSL Störung abgefangen wird?

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

CoolTux

Entweder bind oder powerDNS installieren. Findet man ne Menge Infos im Netz.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Neuerdings blockiert das DNS-Lookup bei Http_NonblockingGet FHEM nicht, wenn man "attr global dnsServer <Dns-Server-IP>" setzt. Das duerfte selbst bei einem auf eine Sekunde konfigurierten lokalen DNS-Server helfen, die Eine-Sekunde-Blockaden zu vermeiden.

Wernieman

Ein lokaler DNS-Server hat den Vorteil, das er gleichzeitig als "cachingserver" dient, auch negative Antworten werden gecacht, so da weniger anfallen.

Wie schon geschrieben, gibt genug Infos im Netz. Da ich Deine Prioritäten nicht weiß, kann ich keine Anleitung geben.

BTW:
Mann kann diesen Server dann gleich auch allen Clients im Netz als Server mit anbieten .....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CoolTux

Zitat von: Wernieman am 01 Juli 2016, 08:31:16

Mann kann diesen Server dann gleich auch allen Clients im Netz als Server mit anbieten .....

Man könnte ihn bequem per DHCP bekannt machen  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html