Stabilität von dnsmasq

MReimer

Aktives Mitglied
Mitglied seit
4 Sep 2005
Beiträge
825
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich würde gerne dnsmasq auf die Box packen. Allerdings gibt es hier teilweise Problemmeldungen, dass dnsmasq bei bestimmten Aktionen wegbricht und nicht von selbst nachgestartet wird.

Hat hier jemand dnsmasq im täglichen Einsatz und kann eine Aussage über die Stabilität machen?
 
Läuft stabil. Nur wenn ich was an der Konfiguration per Webinterface ändere und der Dienst neu gestartet wird muss ich den Netzstecker ziehen, weil die Box nicht mehr ansprechbar ist
 
Ich dachte wir hätten das Problem gelöst, dass dnsmasq beendet wird, wenn man was an der Konfiguration im Webinterface ändert?

MfG Oliver
 
Gute Frage wäre an der Stelle auch, wie es dnsmasq schafft, die ganze Box wegzucrashen. Wenn nur der Dienst nicht mehr hochkommt, dann könnte man das ggf. ja noch verstehen...

Um eben solche Bugs geht es mir aber. Sollte noch keine Mindeststabilität vorhanden sein, dann lasse ich besser noch die Finger davon.

Gerade das feine einstellen des DNS wäre für mich ein Argument für dnsmasq. Wenn die Box beim Umstellen aber wegcrast, dann ist der Vorteil dahin.
 
dnsmasq läuft seit Ewigkeiten stabil, bis auf obiges Problem, was aber - zumindest bei mir - auch behoben ist.
Aber auch da war die Box weiterhin ansprechbar, nur funktionierte ebne die Namensauflösung bis zu einem Neustart nicht allzu sauber. Per IP ging es aber trotzdem, und somit konnte man noch agieren. So oder so aber ist mir der dnsmasq in den letzten 5 Monaten hier nur einmal gecrashed, und das auch nur, weil ich noe weitere Box aus meinem alten Netz einfach eingesteckt hatte und sich da einiges gebissen hat anscheinend.
 
Wurde das aktiv gefixt, oder tritt das Problem einfach nur bei bestimmten Boxen auf?

Etwas OT, aber: Killt ein Flashen eines offiziellen Firmware-Images komplett die Eigenbau-Firmware runter?
 
Ja, das tut es, ebenso wie eine offizielle Version .70 die vorherige offizielle Version .67 "killt". Man kann schon froh sein, wenn der Platz im Flash für eine Firmware reicht, aber für mehrere gleichzeitig ist es auf jeden Fall zu eng.
 
Ich dachte wir hätten das Problem gelöst, dass dnsmasq beendet wird, wenn man was an der Konfiguration im Webinterface ändert?

Ob der Dienst beendet wird kann ich nicht sagen, da die Box selbst nicht mehr ansprechbar ist, sprich kein Telnet, SSH, Ping, Webinterface, Internet...
 
Mit der IP. Wobei der DNS-Name eh noch vom Betriebssystem gecached war, weil das Webinterface aufgerufen wurde ;-)

Hier mal die Syslogausgabe

Vorher
Code:
Apr 23 11:00:18 chronyd[3326]: chronyd version 1.23 starting
Apr 23 11:00:18 chronyd[3326]: Initial txc.tick=9999 txc.freq=933840 (14.24926758) txc.offset=0 => hz=100 shift_hz=7
Apr 23 11:00:18 chronyd[3326]: set_config_hz=0 hz=100 shift_hz=7 basic_freq_scale=1.28000000 nominal_tick=10000 slew_delta_tick=833 max_tick_bias=1000
Apr 23 11:00:18 chronyd[3326]: Linux kernel major=2 minor=6 patch=19
Apr 23 11:00:18 chronyd[3326]: calculated_freq_scale=0.99902439 freq_scale=0.99902439
Apr 23 11:00:20 chronyd[3326]: System's initial offset : 0.000466 seconds slow of true (slew)
Apr 23 11:00:22 chronyd[3326]: Could not send to 213.239.219.154 : Bad file descriptor
Apr 23 11:00:23 chronyd[3326]: Could not send to 213.239.219.154 : Bad file descriptor
Apr 23 11:00:24 chronyd[3326]: Could not send to 213.239.219.154 : Bad file descriptor

Dnsmasq rekonfiguriert per WIF, nicht mehr ansprechbar
Code:
Apr 23 11:00:59 chronyd[3326]: Source 77.37.6.59 offline
Apr 23 11:00:59 chronyd[3326]: Source 213.239.219.154 offline
Apr 23 11:00:59 chronyd[3326]: Source 141.40.103.102 offline
Apr 23 11:00:59 chronyd[3326]: Source 85.214.54.81 offline

Jan  1 01:00:45 dnsmasq[1689]: started, version 2.47 cachesize 150
Jan  1 01:00:45 dnsmasq[1689]: compile time options: no-IPv6 GNU-getopt no-DBus no-I18N TFTP
Jan  1 01:00:45 dnsmasq[1689]: asynchronous logging enabled, queue limit is 10 messages
Jan  1 01:00:45 dnsmasq[1689]: DHCP, IP range 192.168.xx.200 -- 192.168.xx.220, lease time 12h
Jan  1 01:00:45 dnsmasq[1689]: DHCP, IP range 192.168.yy.200 -- 192.168.yy.220, lease time 12h
Jan  1 01:00:46 dnsmasq[1689]: reading /etc/resolv.conf
Jan  1 01:00:46 dnsmasq[1689]: using nameserver 192.168.180.2#53
Jan  1 01:00:46 dnsmasq[1689]: using nameserver 192.168.180.1#53
Jan  1 01:00:46 dnsmasq[1689]: read /etc/hosts - 84 addresses
Jan  1 01:00:46 dnsmasq[1689]: read /etc/ethers - 19 addresses
Apr 23 11:01:00 dnsmasq[1689]: overflow: 1 log entries lost
Apr 23 11:01:00 dnsmasq[1689]: using nameserver 208.67.220.220#53
Apr 23 11:01:00 dnsmasq[1689]: using nameserver 208.67.222.222#53
Apr 23 11:01:00 dnsmasq[1689]: exiting on receipt of SIGTERM

Apr 23 11:01:02 dnsmasq[3878]: started, version 2.47 cachesize 150
Apr 23 11:01:02 dnsmasq[3878]: compile time options: no-IPv6 GNU-getopt no-DBus no-I18N TFTP
Apr 23 11:01:02 dnsmasq[3878]: asynchronous logging enabled, queue limit is 10 messages
Apr 23 11:01:02 dnsmasq[3878]: DHCP, IP range 192.168.xx.200 -- 192.168.xx.220, lease time 12h
Apr 23 11:01:02 dnsmasq[3878]: DHCP, IP range 192.168.yy.200 -- 192.168.yy.220, lease time 12h
Apr 23 11:01:02 dnsmasq[3878]: reading /etc/resolv.conf
Apr 23 11:01:02 dnsmasq[3878]: using nameserver 208.67.220.220#53
Apr 23 11:01:02 dnsmasq[3878]: using nameserver 208.67.222.222#53
Apr 23 11:01:02 dnsmasq[3878]: read /etc/hosts - 84 addresses
Apr 23 11:01:02 dnsmasq[3878]: read /etc/ethers - 19 addresses

Apr 23 11:01:03 kernel: modsave[cpmac] [set_map_in] Port 1 already set to device 1 instead of 0.
Apr 23 11:01:03 kernel: [cpmac] [set_map_in] Port 2 already set to device 1 instead of 0.

Ausgelöst durch "( sleep 90; reboot; )&" vor reconfig
JETZT IST DIE BOX KURZ WIEDER ANPINGBAR!
Code:
Apr 23 11:02:45 telefon[1836]: SIGTERM received!
Apr 23 11:02:45 callmonitor: Auto-dialing #96*5* to enable telefon's interface ...
Apr 23 11:02:45 telefon[1895]: SIGTERM received!
Apr 23 11:02:45 telefon[1896]: SIGTERM received!
Apr 23 11:02:45 pbd[1875]: received signal: Terminated.
Apr 23 11:02:45 pbd[1875]: terminating.
Apr 23 11:02:45 kernel: killall[dect_uicp_file]: dect_uicp_file_close:
Apr 23 11:02:45 telefon[1836]: SIGCHLD received!
Apr 23 11:02:45 telefon[1836]: SIGCHLD received!
Apr 23 11:02:47 kernel: [dect_uicp_file_fasync] dect_uicp_file_fasync:
Apr 23 11:02:47 kernel: capicodec_exit()
Apr 23 11:02:47 kernel: capicodec_exit() done

Was mir auffällt:
-Dnsmasq wird 2 mal gestartet
-Seltsame Uhrzeit beim 1. Start
-Die cpmac-Meldung sagt mir nichts
 
zu 2: Die Sache mit der Uhrzeit ist beim ersten Start normal, chronyd hängt da ein wenig hinterher und hat die Systemzeit noch nicht neu gesetzt.
 
cpmac hat mit der Konfiguration vom Switch zu tun. Ist Deine Konfiguration in dieser Hinsicht ungewöhnlich? Oder irgendwelche IP-Adressen von Hand konfiguriert, also nicht über die AVM Oberfläche?
Beim Neustart des dnsmasq wird auch multid neu gestartet, und der übernimmt unter anderem auch die Konfiguration des Netzwerks.
 
@Silent-Tears: Der Auszug ist beim Ändern der Einstllungen, nicht vom Boxreboot!
@RalfFriedl: Per Kernelpatch wurde im ata" Modus der 4. Port abgetrennt. Der Modus "split_ata" ist als der normale ata-Modus konfiguriert. Die IPs hab ich per ar7 definiert, das zusätzliche Interface taucht im WIF nicht auf (was auch nicht verwunderlich ist)
 
Dann vermute ich mal, daß es irgendwie damit zusammenhängt.

Du kannst versuchen, den multid-Restart aus dem reload/restart Zweig vom dnsmasq Skript zu entfernen. Damit funktioniert vielleicht nicht jede Änderung der Konfiguration ohne Neustart der Box, aber zumindest sollte sie erreichbar bleiben.

Oder Du versuchst herauszufinden, was genau das Problem ist.
 
Auch wenn ich nicht direkt Freetz einsetze (Signatur), bin ich auf ein ähnliches Phänomen gestossen.
Ähnliches Phänomen bedeutet: dnsmasq stürzt ab bei reconnet, oder der dhcpd aus dem multid und dem dnsmasq antworten oder multid sigsevt.
Problem ist IMO der dhcpserver im multid. Entweder diesen ausschalten oder allgemein _dreckig_ das binden unterbinden. Dann müsste man allerdings den teilweise im multid ebensfalls plazierten igmpproxy durch andere Soft ersetzen.
Letzteres braucht man fuer IPTV der T-Com.
Die Dreckige Abhilfe habe ich erreicht durch ein via LD_PRELOAD in den Mutlid plazierte modifizierte bind() Version. Das passende .C-File und Compilat fuer uclibc-0.9.29 ist im Anhang. Es macht dreckig den dhcpserver im Multid tot. (Teile des Codes sind von libauthbind übernommen.)
 

Anhänge

  • libmultid-nobind.so.gz
    3.7 KB · Aufrufe: 0
  • libmultid.c.txt
    1.3 KB · Aufrufe: 5
Zuletzt bearbeitet:
Wow. Nicht schlecht. Warum reicht denn hier nicht das Deaktivieren von DHCP im Web-GUI von AVM.
 
@Mreimer: Es gab für mich zwei Gründe das so zu lösen:
1. Wenn ich nicht zu Hause bin und ich von zu Hause aus ein Support-Call bekomme "Das Internet ist tot" (ist bisher nur einmal vorgekommen) sage ich einfach USB-Stickrausziehen, und die AVM-Origsoft fährt hoch und da hätte ich gerne einen DHCP, da ich meiner Mitbeweohnerrin nicht zutrauen möchte die Einstellungen in ihrem Windows vorzunehmen.

2. Läuft der Multi und DNSMasq kann ich per TCPDUMP mit laufendem DNSMASQ und AVM-DHCPD an oder aus wunderbar sehen, das DHCP-Paket-Duplikate über den Äther gehen und das mögen diverse PXE-implementierungen nicht, booten ist Glückspiel.

(3. hat mich das Funtionieren dieser Methode auf die Idee gebracht, ggf. das Spiel ncohmal fuer unlink und mknod zu spielen, dann könnte man die TFFS-Konfig /var/flash/* nicht aus dem Flash-ROM sondern aus Dateien ziehen.)
 
Diese libmultid darf man jetzt nur für den multid mit LD_PRELOAD laden? Interessanter wäre das natürlich, wenn man es global laden könnte (sowas haben wir schon in Freetz) und das aber nur den multid betreffen würde. Klar, das hängt von dem Namen der überschriebenen Funktion ab.

MfG Oliver
 
Ich würde gerade diesen Rucksack nur für den Multid laden wollen.
Es unterbindet u.A. tcp-Port-Binds weshalb es für den ctlmgr und voipd nicht gut wäre.
 
@RalfFriedl: Ich hab strace von "multid -u" gemacht. Einmal auf die Console ein anderes mal in eine Datei auf einem Stick, welches wesentlich länger als die erstere war. Genau an der Schnittstelle der beiden wurde verucht auf das nicht existierende Interface lan:0 zuzugreifen. Ich hab dann mal zum Spass dsl:0 von VirtualIP "down" gesetzt. Und jetzt funktioniert es!
Ich muss mich nun wohl mit der avm-Firewall anfreunden. Gibt es für VirtualIP noch eine Anwendung in Freetz?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.