[Gelöst] Nach (unvollständigen) Update auf 4.0 DNS tod

Hallo zusammen,

pihole -up erwähnte das es ein neues Update gibt (4.0 / 4.0 / 4.0). Hatte erst letzte Woche mal update gemacht - alles grün. Hab als die aktuelle Version VOR der 4.0 drauf gehabt.

Das update blieb stehen - nach einigen Minuten hab ich es abgebrochen.

Noch ein Versuch.

Es gab dann diese Fehlermeldung:

Downloading and Installing FTL...curl: (22) The requested URL returned error: 404 Not Found

Mit "pihole checkout ftl FTLDNS" gelöst

Nächster Versuch:

Downloading and Installing FTL...curl: (23) Failed writing body (0 != 4707)

pihole -r -> repair -> es klappte keine DNS-Auflösung.
sudo systemctl start dnsmasq
=> pihole -r klappte jetzt.

Update Complete!
Current Pi-hole version is v4.0
Current AdminLTE version is v4.0
Current FTL version is vDev-3e40158

mhhh

pihole -v
Pi-hole version is v4.0 (Latest: v4.0)
AdminLTE version is v4.0 (Latest: v4.0)
FTL version is vDev-3e40158 (Latest: v4.0)

passt also nicht. pihole -up läuft "erfolgreich" durch, findet kein update.

Was stimmt da nicht?

Daneben existiert das Problem: Wenn ich den Pi3 boote muss ich erstmal dnsmasq manuell starten. Auch während eines pihole -r oder -up muss ich über 2. Session den dnsmasq neu starten ...

sudo service dnsmasq status
● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
Loaded: loaded (/lib/systemd/system/dnsmasq.service; disabled; vendor preset:
Active: inactive (dead)

sudo systemctl status pihole-FTL
● pihole-FTL.service - LSB: pihole-FTL daemon
Loaded: loaded (/etc/init.d/pihole-FTL; generated; vendor preset: enabled)
Active: active (exited) since Sun 2018-08-05 23:57:31 CEST; 3min 42s ago
Docs: man:systemd-sysv-generator(8)
(wobei die WebGUI sagt: FTL offline)

Ich hab einen Pi3 mit Raspbian Stretch.

Danke schon mal

Versuchen Sie es erneut mit einem pihole -up, da wir kürzlich ein kleines Problem mit dem Update behoben haben.

Nach x. Reboot (und immer wieder dnsmasq manuell starten .. sonst geht pihole -up/r nicht weiter)

pihole -v gab erst (Latest: Error)
Dann noch mal pihole -r
Jetzt hab ich bei -v:

Pi-hole version is v4.0 (Latest: v4.0)
AdminLTE version is v4.0 (Latest: v4.0)
FTL version is v4.0 (Latest: v4.0)

das sollte also jetzt passen.

Bleibt aber das nach reboot keinerlei DNS funktioniert bis ich dnsmasq gestartet habe. Zudem in der GUI: FTL offline

dnsmasq is disabled by default with v4.0 (this will be in the release notes in tomorrow's blog post). pihole-FTL (_FTL_DNS) now provides what dnsmasq did.

Try adding 8.8.8.8 in /etc/resolv.conf and then running pihole -up.

gemacht
pihole -up
passiert nichts weiter. Ausser das halt alles aktuell ist.

DNS-Auflösung klappt trotzdem nicht.

pihole -r

[✗] DNS service is NOT running

ping domain.tld => klappt.

=> Reboot

ping heise.de
ping: heise.de: Temporärer Fehler bei der Namensauflösung

pihole -up gestartet

[✗] Downloading and Installing FTL
Error: Unable to get latest release location from GitHub
[✗] DNS service is not running

Kann es sein das FTL_DNS gar nicht installiert wurde?

Wie sehen nach

sudo service dnsmasq stop
sudo service pihole-FTL restart

die letzten Zeilen in der /var/log/pihole-FTL.log aus?

[2018-08-06 09:57:53.063] ########## FTL started! ##########
[2018-08-06 09:57:53.063] FTL branch:
[2018-08-06 09:57:53.063] FTL version: v4.0
[2018-08-06 09:57:53.063] FTL commit: 8493df4
[2018-08-06 09:57:53.064] FTL date: 2018-08-05 13:40:30 -0700
[2018-08-06 09:57:53.064] FTL user: pihole
[2018-08-06 09:57:53.064] Starting config file parsing (/etc/pihole/pihole-FTL.conf)
[2018-08-06 09:57:53.064] SOCKET_LISTENING: only local
[2018-08-06 09:57:53.064] AAAA_QUERY_ANALYSIS: Show AAAA queries
[2018-08-06 09:57:53.064] MAXDBDAYS: max age for stored queries is 365 days
[2018-08-06 09:57:53.064] RESOLVE_IPV6: Resolve IPv6 addresses
[2018-08-06 09:57:53.064] RESOLVE_IPV4: Resolve IPv4 addresses
[2018-08-06 09:57:53.064] DBINTERVAL: saving to DB file every minute
[2018-08-06 09:57:53.064] DBFILE: Using /etc/pihole/pihole-FTL.db
[2018-08-06 09:57:53.064] MAXLOGAGE: Importing up to 24.0 hours of log data
[2018-08-06 09:57:53.064] PRIVACYLEVEL: Set to 0
[2018-08-06 09:57:53.064] IGNORE_LOCALHOST: Show queries from localhost
[2018-08-06 09:57:53.064] BLOCKINGMODE: Null IPs for blocked domains
[2018-08-06 09:57:53.064] REGEX_DEBUGMODE: Inactive
[2018-08-06 09:57:53.064] Finished config file parsing
[2018-08-06 09:57:53.064] Compiled 0 Regex filters and 10 whitelisted domains in 0.1 msec (0 errors)
[2018-08-06 09:57:53.066] Database successfully initialized
[2018-08-06 09:57:53.066] Notice: Increasing queries struct size from 0 to 10000
[2018-08-06 09:57:53.066] Notice: Increasing domains struct size from 0 to 1000
[2018-08-06 09:57:53.066] Notice: Increasing clients struct size from 0 to 10
[2018-08-06 09:57:53.066] New forward server: 9.9.9.9 (0/0)
[2018-08-06 09:57:53.066] Notice: Increasing forwarded struct size from 0 to 4
[2018-08-06 09:57:53.066] Notice: Increasing overTime struct size from 0 to 100
[2018-08-06 09:57:53.066] New forward server: 149.112.112.112 (1/4)
[2018-08-06 09:57:53.081] Notice: Increasing clients struct size from 10 to 20
[2018-08-06 09:57:53.099] Imported 3536 queries from the long-term database
[2018-08-06 09:57:53.100] -> Total DNS queries: 3536
[2018-08-06 09:57:53.100] -> Cached DNS queries: 814
[2018-08-06 09:57:53.100] -> Forwarded DNS queries: 2391
[2018-08-06 09:57:53.100] -> Exactly blocked DNS queries: 331
[2018-08-06 09:57:53.100] -> Unknown DNS queries: 0
[2018-08-06 09:57:53.100] -> Unique domains: 693
[2018-08-06 09:57:53.100] -> Unique clients: 13
[2018-08-06 09:57:53.100] -> Known forward destinations: 2
[2018-08-06 09:57:53.100] Successfully accessed setupVars.conf

DHCP funktioniert übrigens auch nicht mehr (über dnsmasq realisiert)

Das sieht aber alles Okay aus, läuft FTL denn jetzt?

Nein ...
WebGUI
DNS service not running FTL offline

Hab noch mal rebootet - aber keine Änderung

ping heise.de
ping: heise.de: Temporärer Fehler bei der Namensauflösung

DHCP tot.

... wenn ich dnsmasq starte [nach reboot ist der automatisch deaktiviert], läuft DNS und DHCP ... aber den Part soll ja FTLDNS übernehmen.

Ja, aber das macht es aus bislang unbekannten Gründen nicht. Es gibt zunächst zwei Möglichkeiten:

  1. Irgendetwas sendet SIGKILL zum Prozess pihole-FTL sodass dieser abgewürgt wird und nichts darüber ins Logbuch schreiben kann, oder
  2. FTL stürzt ab.

Könntest Du den Beschreibungen hier folgen?
https://docs.pi-hole.net/ftldns/debugging/

sudo gdb -p $(pidof pihole-FTL)
gdb: Die Option »--p« erfordert ein Argument
Use `gdb --help' for a complete list of options.

Kenn mich da jetzt nicht wirklich aus ... aber $(...) mit dem Befehl drin soll wohl eine Zahl sein ... dafür müsste pidof pihole-FTL mir aber die Prozess-ID ausspucken. Da kommt nichts.

Okay, das heißt es läuft gar nicht lange genug ...

Alternative Herangehensweise ist:

sudo gdb pihole-FTL

dann kommt so etwas wie

GNU gdb (Raspbian 7.7.1+dfsg-5+rpi1) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./pihole-FTL...done.
(gdb) 

in diese Eingabeaufforderung bitte run debug eingeben und mit Enter bestätigen.

Schauen wir mal was passiert.

Nach frischen reboot (ich hab zudem noch die 9.9.9.9 als Nameserver drin gehabt ... wieder auf 127.0.0.1 gesetzt)

DNS = tot
WebGUI = DNS und FTL off

2 SSH-Sessions

Session 1:
screen
sudo gdb pihole-FTL
run debug

DNS und WebGUI sind positiv. Lokale DNS-Namen werden aufgelöst.

=> läuft.

Aber leider nur dann! Wenn ich Screen beende => dns, ftl tot ...

Ich hab dann mal folgendes gemacht. Session 1 wieder wie oben gestartet. Sofort lief wieder alles.

Session 2:

sudo service pihole-FTL restart
Job for pihole-FTL.service failed because the control process exited with error code.
See "systemctl status pihole-FTL.service" and "journalctl -xe" for details.

Session 1: (debug)

Thread 1 "pihole-FTL" received signal SIGTERM, Terminated.
0x76eeacb0 in poll () at ../sysdeps/unix/syscall-template.S:84
84 ../sysdeps/unix/syscall-template.S: Datei oder Verzeichnis nicht gefunden.

WebGUI meldet nur DNS service not running. Hab Screen mal weggelassen. sudo gdb pihole-FTL -> danach läuft es nicht. Es klappt erst nach run debug.

Ja, Du hast Dir hier ein bisschen selbst ein Bein gestellt. Mit sudo gdb pihole-FTL + run debug startest Du FTL bereits (im Debug Modus, d.h. mehr/detailliertere Ausgaben ein paar Dinge wie Privacy Levels funktionieren nur eingeschränkt). Wenn Du jetzt parallel sudo service pihole-FTL restart ausführst, dann versucht service das bereits laufende FTL (im Debug Modus) zu beenden um selbst eine neue Instanz starten zu können.

Dass es unter sudo gdb läuft heißt vermutlich, dass es ein Berechtigungsproblem gibt. Nach Neustart + noch einmal pihole -r klappt es immer noch nicht? Ich frage mich warum nichts im Logbuch steht und wir sonst bislang (außer anfänglichen 404 Warnungen) keine solchen Fehlerberichte rein bekommen.

Ist an Deinem Pi irgendwas besonders? Hast Du irgendwelchen ... sagen wir mal unüblichen ... Konfigurationen vorgenommen?

reboot und pihole -r hab ich schon x-mal gemacht (-r immer nur repair nicht reset...)

Nochmal

[✗] Downloading and Installing FTL
Error: Unable to get latest release location from GitHub
[✗] FTL Engine not installed
[✗] DNS service is not running

Nein - ist ein ganz normaler Raspberry Pi3 (kein +) mit aktuellem Stretch (soweit ich das mit apt-get aktuell halten kann), pihole und piVPN. Hier im Forum gab es einen Hint wie das Tempo bei https-Werbung erhöht wird - das hab ich umgesetzt. War glaub ich eine Firewall-Rule.

Mir reichte die DHCP-Konfig im WebGui nicht - die hab ich deaktiviert und lasse dhcp über dnsmasq laufen. Die DNS/DHCP-Konfig wird halt in der /etc/dnsmasq.d/... definiert. Ist ein wenig mehr - aber nichts aussergewöhnliches. cnames, dhcp-range, host-records, dhcp-options.

Edit: achso - ich nutze kein IPv6 ...

Okay, bitte noch einmal folgendes probieren, vielleicht offenbart sich der Fehler ja so:

sudo service pihole-FTL stop
sudo service dnsmasq stop
sudo runuser -u pihole pihole-FTL debug

die beiden Stops gingen ohne Rückmeldung durch
Bei sudo runuser -u pihole pihole-FTL debug gibt es Rückmeldungen. Sehen aber bis auf die letzte Zeile nicht nach "geht nicht" / "darfst nicht" / "gibt es nicht" aus.

dnsmasq: cannot open or create lease file /var/lib/misc/dnsmasq.leases: Permission denied
Berechtigungen:
-rw-r--r-- 1 root root 827 Aug 6 10:07 dnsmasq.leases
Aber das sind ja nur die aktuellen DHCP-Leases ...

Trotzdem hier die ganze Ausgabe (übrigens wieder frischer reboot):

[2018-08-06 12:05:37.547] ########## FTL started! ##########
[2018-08-06 12:05:37.547] FTL branch:
[2018-08-06 12:05:37.547] FTL version: v4.0
[2018-08-06 12:05:37.547] FTL commit: 8493df4
[2018-08-06 12:05:37.548] FTL date: 2018-08-05 13:40:30 -0700
[2018-08-06 12:05:37.548] FTL user: pihole
[2018-08-06 12:05:37.548] Starting config file parsing (/etc/pihole/pihole-FTL.conf)
[2018-08-06 12:05:37.548] SOCKET_LISTENING: only local
[2018-08-06 12:05:37.548] AAAA_QUERY_ANALYSIS: Show AAAA queries
[2018-08-06 12:05:37.548] MAXDBDAYS: max age for stored queries is 365 days
[2018-08-06 12:05:37.548] RESOLVE_IPV6: Resolve IPv6 addresses
[2018-08-06 12:05:37.548] RESOLVE_IPV4: Resolve IPv4 addresses
[2018-08-06 12:05:37.548] DBINTERVAL: saving to DB file every minute
[2018-08-06 12:05:37.549] DBFILE: Using /etc/pihole/pihole-FTL.db
[2018-08-06 12:05:37.549] MAXLOGAGE: Importing up to 24.0 hours of log data
[2018-08-06 12:05:37.549] PRIVACYLEVEL: Set to 0
[2018-08-06 12:05:37.549] IGNORE_LOCALHOST: Show queries from localhost
[2018-08-06 12:05:37.549] BLOCKINGMODE: Null IPs for blocked domains
[2018-08-06 12:05:37.549] REGEX_DEBUGMODE: Inactive
[2018-08-06 12:05:37.549] Finished config file parsing
[2018-08-06 12:05:37.550] Compiled 0 Regex filters and 10 whitelisted domains in 0.2 msec (0 errors)
[2018-08-06 12:05:37.552] Database successfully initialized
[2018-08-06 12:05:37.552] SELECT * FROM queries WHERE timestamp >= 1533463537
[2018-08-06 12:05:37.553] Notice: Increasing queries struct size from 0 to 10000
[2018-08-06 12:05:37.553] Notice: Increasing domains struct size from 0 to 1000
[2018-08-06 12:05:37.554] Notice: Increasing clients struct size from 0 to 10
[2018-08-06 12:05:37.554] New forward server: 149.112.112.112 (0/0)
[2018-08-06 12:05:37.554] Notice: Increasing forwarded struct size from 0 to 4
[2018-08-06 12:05:37.554] Notice: Increasing overTime struct size from 0 to 100
[2018-08-06 12:05:37.554] New forward server: 9.9.9.9 (1/4)
[2018-08-06 12:05:37.576] Notice: Increasing clients struct size from 10 to 20
[2018-08-06 12:05:37.603] Notice: Increasing overTime struct size from 100 to 200
[2018-08-06 12:05:37.605] Imported 2988 queries from the long-term database
[2018-08-06 12:05:37.606] -> Total DNS queries: 2988
[2018-08-06 12:05:37.606] -> Cached DNS queries: 695
[2018-08-06 12:05:37.606] -> Forwarded DNS queries: 2002
[2018-08-06 12:05:37.606] -> Exactly blocked DNS queries: 270
[2018-08-06 12:05:37.606] -> Unknown DNS queries: 21
[2018-08-06 12:05:37.606] -> Unique domains: 628
[2018-08-06 12:05:37.606] -> Unique clients: 13
[2018-08-06 12:05:37.606] -> Known forward destinations: 2
[2018-08-06 12:05:37.606] Successfully accessed setupVars.conf

Beendet sich FTL nach der letzten Nachricht ([2018-08-06 12:05:37.606] Successfully accessed setupVars.conf) oder bleibt es aktiv? Falls letzteres: Funktioniert DNS nun in einem weiteren Fenster?

(reboot ... saubere Testbedingungen...)

DNS tot

Nochmal beides gestoppt und sudo runuser -u pihole pihole-FTL debug

Danach ist weiterhin kein DNS möglich.

DNS bekomme ich hin bisher nur über den gdb und run debug hin. Das läuft JETZT im zweiten Fenster ... Im ersten Fenster: Stop, Stop, sudo runuser ... debug => keinerlei Änderung an der Ausgabe. DNS-Abfrage werden beantwortet (halt noch durch die gdb-run-debug-Geschichte)

Hmm, irgendwie ist immer noch nicht klar was in die Hose geht.

Nur für mich zur Übersicht

  • sudo gdb pihole-FTL + run debug = funktioniert
  • sudo runuser -u pihole pihole-FTL debug = funktioniert nicht
  • sudo pihole-FTL debug = ? (funktioniert vermutlich auch)

Das klingt danach als ob irgendwie irgendwo die Berechtigungen im Argen sind ... ich wüsste aber nicht was es geben könnte wo es (a) keine Meldung im Logbuch gibt und (b) was nicht von pihole -r wieder instand gesetzt werden würde.