Total Queries Clients

Hallo Zusammen,

leider habe ich zu dem Thema nichts gefunden.
ich habe schon seit längeren eine Pi-Hole am laufen. Nun ist mir was aufgefallen das bei Total Queries eine extrem hohe Anzahl an Clients (205) steht.

Bildschirmfoto 2020-03-05 um 11.58.22

Weiß jemand wie das kommt und ob man prüfen kann welche dies sind? Schaue ich in der Fritzbox sind in meinem Netzwerk lediglich um die 20 Geräte vorhanden.

Vielen Dank.

From the Pi Terminal:

echo ">top-clients withzero (205)" | nc localhost 4711

Danke für deine Antwort. Der gibt mir eine Menge IPv6 Adressen raus, wie kann das sein?

Da sind eine Menge Adressen die mir 2a02:908:967:88a0:........ anfangen :o

Please send us the token generated by

pihole -d

or do it through the Web interface:

Tools > Generate Debug Log

[✓] Your debug token is: https://tricorder.pi-hole.net/psjaie6wwm

Debug log appears normal. Please check your router/public IP for open ports using this link:

https://www.grc.com/x/ne.dll?bh0bkyd2

Page 1 - select "proceed". Page 2 select "all service ports"

Report any open ports.

Here is the result:


I think its okay.

Habe das als FritzBox DNSv6 Addresse, ist dies korrekt?


Passt das, muss das so sein?

Zur Frage der verwendeten IPv6-Adresse:

2a02:... ist ein Präfix für eine IPv6-Adresse aus dem öffentlichen IPv6-Adressbereich 2000::/3. Diese kann sich potentiell durch Zuteilung eines neuen IPv6-Prefix durch Deinen Provider ändern (also z.B. bei der täglichen Zwangstrennung), wodurch Dein Pi-hole nicht mehr über IPv6 erreichbar wäre.

Daher solltest Du für die Adressierung Deines Pi-holes im Heimnetz eine stabile Adresse wie die (allerdings nur im selben Netzwerksegment erreichbare) link-lokale (fe80:...) oder besser eine ULA-Adresse (z.B. fd00:..) verwenden, siehe hierzu auch Use IPv6 ULA addresses for Pi-hole.

Das komische ist, das diese IPv6 Adresse mir bei der Pi installation damals angezeigt worden ist, das ich diese dann nun "verwenden" kann.

Guten Morgen zusammen,

ich habe dieses Verhalten ebenfalls mit:

Pi-hole läuf nicht auf einem Raspberry sondern in einem Linux Container (LXC) auf einem Proxmox Server

Bei rund 50 Geräten im Netzwerk kommt so etwas heraus:

grafik

Ich habe einen Public IPv6 Prefix (/56) und eine private IPv4 (Deutsche Glasfaser Dual Stack). Außerdem eine zusätzliche Public IPv4 (aber nicht auf dem PiHole). Das habe ich schon gemacht:

  • Bei allen Mobillfunkgeräten habe ich die randomisierte MAC Adresse für unser WLAN ausgeschaltet
  • Gäste sind nicht in unserem WLAN, dafür gibt es (ein korrekt konfiguriertes) ungefiltertes Freifunk-Netzwerk. Das heißt die Anzahl der Clients ist im Prinzip immer gleich, mit Ausnahme der Mobilfunkgeräte die mal da sind und mal nicht.
  • Der DNS (Pi-hole) ist intern bekanntgegeben über DHCP / DHCPv6 (nicht vom PiHole)
  • Mit Ubound als Resolver spricht nur der Pihole
  • DoH und DoT Access sind über eine andere Maschine konfiguriert (einen nginx Proxy und einen dnsdist Server). DoH und DoT Clients (6 Geräte) werden als "ein Gerät" reported, sie tauchen als "connect" in der Clientstatistik auf. Sobald die Mobilgeräte das heimische WLAN verlassen senden Sie ihre Anfragen über DoH (Apple Konfigurationsprofile sind echt super :wink: )
  • Standard DNS ist NICHT nach außen freigegeben. (DoH und DoT natürlich schon, allerdings käme das als ein Gerät zurück).

Mit rund 100 Clients könnte ich leben, denn die Geräte haben ja alle eine IPv4 und eine IPv6 und können über beide Technologien Anfragen senden aber 874 Clients ist viel zu viel. Ich habe auch den Eindruck, dass das mit der Zeit "wächst". Ich habe vor 5 Tagen mal den server neu gestartet. Gestern war ich bei rund 500 Geräten heute morgen sind es eben über 800

Hat jemand eine Idee, wie ich das debuggen kann?

DNS-Pakete enthalten als Identifizierungsmerkmal ausschließlich die IP-Adresse. Aus Sicht von DNS ist damit jede IP-Adresse ein eigener Client.

Bei dieser Anzahl von IP-Adressen handelt es sich höchstwahrscheinlich um solche von IPv6-Privacy-Extension-Adressen, von denen DNS-Anfragen an Pi-hole gesendet wurden. Je nach Betriebssystem und dessen Konfiguration wird eine solche Adresse oft verworfen und erneut erzeugt. Typische Intervalle sind einmal pro Tag oder alle 2 Stunden.

Es gibt mehrere Möglichkeiten, auf dieses Verhalten Einfluss zu nehmen.

Wenn dies unterstützt wird, kann die Verteilung einer IPv6-DNS-Server-Adresse im Router komplett abgeschaltet werden. Wichtig ist dabei insbesondere, dass der Router nicht doch seine eigene IPv6-Adresse als DNS anbietet, weder über RAs noch über DHCPv6.
Diese Option kommt ausserdem nur bei Dual-Stack-Clients in Frage. Clients, die ausschliesslich IPv6 verwenden, können mit einer solchen Konfiguration DNS überhaupt nicht mehr nutzen.

Falls das Abschalten nicht unterstützt wird oder nicht in Frage kommt, kannst Du stattdessen versuchen, Pi-hole's link-lokale IPv6-Adresse als DNS-Server anzugeben, sofern alle Clients sich im selben Netzwerksegment wie Pi-hole befinden.
In der Folge würden Clients auch nur über ihre link-lokale IPv6-Adresse anfragen, für die Privacy Extensions in aller Regel nicht genutzt werden.

Auf manchen Client-Betriebssystemen lassen sich außerdem u.U. die IPv6 prefix policies so einstellen, dass im lokalen Netz IPv4 bevorzugt wird, so dass ein solcher Client mit seiner stabileren IPv4- statt mit seiner ständig wechselnden IPv6-Adresse anfragen würde.

Und schliesslich kannst Du auch noch versuchen, die Menge an Adressen zu verringern, an die Pi-hole sich über die Zeit erinnert.
Das lässt sich ggf. über eine Einstellung zur Bereinigung der Netzwerk-Tabelle in /etc/pihole/pihole-FTL.conf etwas einhegen (z.B. MAXNETAGE=7), wird aber wohl die Menge in der 24-Stunden-Ansicht nicht reduzieren.

Und zu guter Letzt solltest Du noch überprüfen, ob Du nicht versehentlich Port 53 für die Öffentlichkeit geöffnet hast und tatsächlich hunderte Fremd-Clients Deinen Pi-hole nutzen.
Solche Anfragen wären erkennbar, weil sie von einer öffentlichen IPv4- oder IPv6-Adresse gestellt werden, die nicht zu Deinem Netzwerk gehört.

2 Likes

Danke @Bucking_Horn, an die Privacy Extention hatte ich auch schon gedacht, war mir aber nicht sicher.

IPv6 abzuschalten kommt nicht infrage. Ich versuche so oft wie möglich IPv6 zu nutzen. Habe mich da gut mit arrangiert. Etwa 40% der Abfragen sind IPv6 (AAAA), 45% IPv4 (A).

image

Link-Lokale IPv6 kommen auch nicht infrage, weil ich auch via VPN auf mein internes Netzwerk zugreifen möchte, da könnte es dann Probleme geben, denke ich.

Ich habe mal etwas gesucht, unter Ubuntu kann man mittels
sudo nano /etc/sysctl.d/10-ipv6-privacy.conf die IPv6 Privacy einstellen (von 2 auf 0):

# IPv6 Privacy Extensions (RFC 4941)
# ---
# IPv6 typically uses a device's MAC address when choosing an IPv6 address
# to use in autoconfiguration. Privacy extensions allow using a randomly
# generated IPv6 address, which increases privacy.
#
# Acceptable values:
#    0 - don’t use privacy extensions.
#    1 - generate privacy addresses
#    2 - prefer privacy addresses and use them over the normal addresses.
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0

dann einfach mit sudo sysctl -p die Parameter neu einlesen.

Das mache ich jetzt mal in allen Servern und virtuellen Maschinen die auf Linux laufen und gucke dann weiter. Dann sollte ja die Anzahl der Clients schon deutlich runter gehen. Ich werde berichten.

Port 53 ist definitiv zu nach extern. Port 853 (DoT) ist offen. Anfragen daran würden aber auf den meinen Proxy, den "connect" Server laufen und nicht als einzelne Anfragen im pi-hole auftauchen.

Dann erstmal vielen lieben Dank für die gut verständliche und schöne Erklärung!

Das Abschalten von IPv6 habe ich auch nicht erwähnt, sondern das Unterbinden des Angebots eines IPv6-DNS-Servers in Deinem Router.

Einem DNS-Server ist es egal, über welches IP-Protokoll er kontaktiert wird. Er kann die angeforderten DNS-Datensätze gänzlich unabhängig davon ausliefern (das gilt auch für A und AAAA).

Wenn in Deinem Netzwerk ausschliesslich Dual-Stack-Clients unterwegs sind (was sehr wahrscheinlich der Fall sein wird), dann ist ein über IPv4 erreichbarer DNS-Server vollkommen ausreichend.

Verwendest Du zufällig eine FritzBox als Router?
Dann könnten wir vielleicht zusammen ausprobieren, ob das für Dich in Frage kommt.

Das hängt von der verwendeten VPN-Lösung ab.
VPNs spannen in der Regel ein separates Subnetz auf. In diesem wäre Pi-hole's Hostrechner auch über eine für dieses Subnetz gültige Adresse erreichbar. Es würde ggf. von der Konfiguration der VPN-Clientsoftware abhängen, ob die entsprechende IP als DNS konfiguriert werden könnte.

Das würde ich nur für solche Server empfehlen, die ausschliesslich im internen Netz erreichbar sind und auch ihrerseits keine Verbindungen zu öffentlichen IPv6-Adressen aufbauen.

Für öffentlich erreichbare Server machen IPv6-Privacy-Extensions hingegen natürlich generell weniger Sinn - ganz sinnfrei sind sie auch in diesem Fall nicht.

Wenn Du schon client-spezifisch anpassen willst, würde ich eine Änderung der IPv6 prefix policies bevorzugen.

Wiederrum vielen Dank für deine ausführliche Antwort. Ich habe es jetzt im Griff. Zwei Dinge in Kombination haben einen spürbaren Effekt gehabt.

  1. Die IPv6-Privacy für die Server abzuschalten, deren Adressen sind eh bekannt.
  2. Die Link-Lokale Adresse IPv6 des Pi-Holes ans Nameserver über die Fritzbox (in der Tat benutze ich die als Router) bekannt zu geben und nicht die öffentliche IPv6. Ist eh alles ein Subnetz.

Nach etwa 24h bin ich jetzt bei knapp 90 Clients und etwa derselben Anzahl an Anfragen wie vorher auch. So um die 120-130T Queries pro 24h sind normal.

grafik

Das ist in etwas dass, was ich mit meiner Dual Stack Konfiguration auch erwarten würde. Ein ganz positiver Nebeneffekt ist, dass das Admin Interface von Pi-Hole nun deutlich schneller läd. Zwei bis drei Sekunden statt > 30 Sekunden.

Also alles Top. Vielen lieben Dank für den Denkanstoß und die Anregungen!

2 Likes