Seit Pi-hole Version FTL 5.7 und Web Version 5.4 vom 16.02.2021 ist in dem DNS Dienst und DNS-Blocker ein Ratelimit, konfiguriert. Hier der Auszug aus den Release Notes.
Hence, we decided to implement a customizable rate-limiting into FTL itself. It defaults to the rather conservative limit of allowing no more than 1000 queries in a 60 seconds window for each client. Afterwards, any further queries are replied to with empty replies with the status set to REFUSED. Both the number of queries within the window as well as the window size can be configured by the user. It is important to note that rate-limiting is happening on a per-client basis. Other clients can continue to use FTL while rate-limited clients are short-circuited at the same time.
Rate-limiting can easily be disabled by setting RATE_LIMIT=0/0 in /etc/pihole/pihole-FTL.conf. If I want, say, to set a rate limit of 1 query per hour, the option should look like RATE_LIMIT=1/3600.
1000 queries in 60 seconds still permits more than one million queries per device in 24 hours. Hence, we believe this is not really a breaking change but should still prevent your Pi-hole from being DoSed away.
Auf meinem Pi-hole Server wurde nun für einen Client dieses Rate-Limit als Fehlermeldung angezeigt, bzw. dass dieser Client das Limit erreicht hat.
2022-04-14 19:40:49 RATE_LIMIT Client 192.168.0.10 has been rate-limited (current config allows up to 1000 queries in 60 seconds)
Pi-hole Rate-Limit per WebUI ändern
Seit einigen Versionen ist es auch möglich das Rate-Limit per WebUI zu ändern.
- als Admin an der Administrionsoberfläche anmelden
- Settings aufrufen
- zum Reiter DNS wechseln und weiter unten in den Optionen entsprechend beschrieben anpassen, wobei die Werte 0 das Limit deaktivieren.
Pi-hole Rate-Limit per Konfig ändern
Da dies zur Einschränkung führt, habe ich den Wert in der FTL Konfiguration wie folgt angepasst.
# nano /etc/pihole/pihole-FTL.conf
# Anzahl / Zeit
# RATE_LIMIT=n/t
Beispiel mit max 2000 Queries pro 60 Sekunden
# max 2000 Queries in 60 Sekunden
RATE_LIMIT=2000/60
# systemctl restart pihole-FTL.service
Beispiel ohne Ratelimit
# ohne Ratelimit
RATE_LIMIT=0/0
# systemctl restart pihole-FTL.service
Thats it … Have Fun!
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.
Hi,
how does the correct syntax to rate limit a specific client look like?
Thank you.
Bye,
Brain
Is there a way to unblock a rate limited client from the GUI ??
Hi Robert,
yes it is. See the second image and the english discription under section „Pi-hole Rate-Limit per WebUI ändern“. Hope that helps. You’re welcome!
Super, danke für die schnelle Lösung via WebUI.
Hat super geklappt.
Hi mk85,
schön das ich helfen konnte.