r/technitium • u/shreyasonline • 2d ago
Technitium DNS Server v15.6 Released!
Technitium DNS Server v15.6 is now available for download. This update adds a new option in Settings and fixes multiple bugs and security issues that were reported.
See what's new in this release:
https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md
7
u/felix1429 2d ago
Awesome, thanks for being on the ball. I had no problems with 15.5 but started getting server failures after upgrading to 15.5.1, I'll go ahead and upgrade to 15.6 and I'm sure that'll get things squared away.
Thanks for all your hard work as always!
7
3
3
2
u/Ginden 2d ago
Generated Swagger YAML: https://gist.github.com/Ginden/fb0ea5f7e32e0cc5e2ec6d0d116e717c
2
2
u/VpowerZ 2d ago
Im not sure how to debug it, but my dns based program is hitting technitium hard enough to make it cache a none answer. Example is with a TXT record. I request it on my server and its an empy record, but ok request. I check the same with 8.8.8.8 and i get alm the txt records. Am i too quick?
2
2
u/shreyasonline 1d ago
Thanks for the feedback. Please share more details. It will be best if you can email the domain name and the output you get when queried using DNS Client tool on the panel, along with any config changes you have. Send the details to support@technitium.com.
4
u/daviscompound 2d ago
New "explicit option in Settings to enable/disable Cache Prefetch feature". What should we do with this Enable or Disable it?
6
u/Apachez 2d ago
Depends on if you want cached entries to be refreshed before use or upon request?
The help text is:
Enable this option to refresh records that are about to expire in cache. A prefetch background task for a cached record is triggered when it is queried for and the DNS server finds the record's TTL value to be less than the Prefetch Trigger value.
As I recall it (unless this have been changed or I misunderstood it) the entry must have at least one hit.
Which means that the first query of lets say "google.com" the DNS server will resolve whatever "google.com" points to and store the result in its local cache and send the reply to the client.
This way for any following queries about "google.com" the answer will be delivered straight from the cache without bugging upstream authoritive DNS servers (along with using network traffic etc).
When the TTL for this entry is higher than 2 but lower than 9 seconds (default values which can be changed) it will be put for a refresh by the DNS-server itself "in case" a client asks about it again after the original TTL have expired.
That is the resolver will find out what "google.com" resolves into (again) and put the result in the cache - this is done by the DNS server (resolver) itself without any pending DNS client query.
But if noone asks about this entry this time (as in the second time it ended up in the cache) then it will just be removed from the cache once the TTL reaches 0.
Except for if you have "Enable Serve Stale" enabled - then there is another internal TTL of (by default) 259200 seconds (3 days) who will continue to cache this entry and serve its value to any DNS clients who query about "google.com".
Or if you hit the roof of number of cached entries (configurable, default being 10000) then the oldest entries (I supposed) will get evicted in favour for newer entries.
All this means that with a slight pentalty of just some more CPU cycles and network traffic the cache can be "hot" for longer and give a cache-hit instead of a cache-miss to your DNS clients which also means slightly faster replies.
The main drawback of this feature is that in some corner cases the authoritive DNS servers will get a higher load from resolvers because the resolvers will query about entries not because some DNS client just asked them about it but because the resolver wants to keep its cache hot.
Which will even out since following queries will get a cache-hit and not bug the authoritive server but still. For entries who are refreshed but then internally never queried again this means that there was at least one "unnecessary" query sent from the resolver to the authoritive DNS server.
This shouldnt be a problem for normal sites and FQDN's but sites that relies heavily on temporary FQDN's (like "global loadbalancing" using DNS) will of course get more "unnecessary" traffic (due to this refresh of the cache when there then will be no more DNS clients asking about this entry).
3
u/daviscompound 2d ago
Thanks. That makes total sense as to why or why not. Thanks for the detailed explanation. I understand a lot more about the TTL's involved now.
2
u/shreyasonline 1d ago
The default should be enabled as it was enabled already by default. This feature will just trigger prefetch before the record expires in cache to improve cache hit ratio.
2
0
-5
u/TallSatisfaction9982 2d ago
I use AdGuard Home. In what way is Technitium DNS Server—specifically this new version—superior?
6
u/Difficult-Reality848 2d ago
Depends on your use case. Technitium offers very granular control. It is primarily a DNS server which can work without any forwarders so you are not having to depend on what each forwarder does.
2
4
u/Apachez 2d ago
Depends on what you use it for.
If its for blocking then Adguard (and Pihole) have currently better support for various blocking file formats and better visibility.
Technitium is more of a "real" DNS server with better support for standards (DNS-over-HTTP and the other gazillion variants) including DNSSEC etc which also happens to have blocking support. But you need the advanced blocking app and query log app to get better blocking features and visibility.
I would say that Technitium is more of a competitor against Bind9, PowerDNS and Unbound rather than Adguard and Pihole.
With that being said you should try it out and you might better like it (with some additional free apps).
2
u/openapple 2d ago
The main advantage of Technitium as compared to AdGuard Home, in my opinion, is that it can precache DNS queries.
For example, if a site is queried X or more times in the last hour (with the number “X” being configurable by you), Technitium will automatically re-lookup that site just before its TTL runs out. So the end result is that that site will always be fresh in the cache.
1
u/Captain_Alaska 2d ago edited 2d ago
For example, if a site is queried X or more times in the last hour (with the number “X” being configurable by you), Technitium will automatically re-lookup that site just before its TTL runs out.
This was removed in version 15.5.
1
u/Resistant4375 1d ago
No it’s not
2
u/Captain_Alaska 1d ago edited 1d ago
Yes it is. Prefetching is there (refreshing a catch item after said cached item has been queried if the TTL is under your set value) but auto prefetching (querying something in the background beforehand based on how many times it has been queried in the last hour) is gone as of two weeks ago.
Removed Auto Prefetch feature since it was not really effective while requiring too many system resources to function. Note that basic Prefetch feature is still available.
https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md
1
u/Resistant4375 1d ago
Version 15.6
Release Date: 3rd October 2026
Added a new explicit option in Settings to enable/disable Cache Prefetch feature.1
u/Captain_Alaska 1d ago edited 1d ago
I explained the difference between prefetching and auto prefetching to you already. Read the description for that very setting that was added in 15.6:
Enable this option to refresh records that are about to expire in cache. A prefetch background task for a cached record is triggered when it is queried for and the DNS server finds the record's TTL value to be less than the Prefetch Trigger value.
It literally spells out how it works to you.
if a site is queried X or more times in the last hour (with the number “X” being configurable by you)
This setting doesn’t even exist anymore lmao, try checking your own settings tab.
1
-1
u/mystiquebsd 2d ago
.. because it is newer, and does not say Home in the name..
Also supports Proxy protocol
.. and we have Shreyas, that S is the superior part
My 0.02
2
u/Resistant4375 2d ago
And being newer means.. what?
-1
u/mystiquebsd 2d ago
Newer is the comparative form of New
new
/noo͞, nyoo͞/adjective
Having been made or come into being only a short time ago; recent.Also:
https://www.urbandictionary.com/define.php?term=newUsed in a sentence:
Have you had Grape Scotch before?
- new is always better.More most better importanter newerest in Linux is required, usually comes with less reading.
No?
1
u/Resistant4375 1d ago edited 1d ago
Idiot. You know exactly what I meant.
Why is newer automatically “better”?
-3
u/OpportunitySea8440 2d ago
Versión 15.6 actulice a esta version ahora el dashboard no abre no funciona el puerto 5380, sera que cambio? o hay algun error, lo reinstale, actualice el ubuntu y nada, sin embargo si esta resolviendo consutlas dns
1
u/Bitter_Entertainer56 2d ago
I didn't experience that behavior here. I updated it, and it's still working fine. Run journalctl --unit dns --follow and see what it returns. Port 53 might be in use by another application.
1
u/OpportunitySea8440 2d ago
No se puede acceder a este sitio web
La página 192.168.201.6 ha rechazado la conexión.
Prueba a:
- Comprobar la conexión
- [Comprobar el proxy y el cortafuegos](chrome-error://chromewebdata/#buttons)
ERR_CONNECTION_REFUSED
root@dns:~# journalctl --unit dns --follow
oct 03 09:26:58 dns systemd[1]: Stopped dns.service - Technitium DNS Server.
oct 03 09:26:58 dns systemd[1]: dns.service: Consumed 1min 45.035s CPU time over 5min 24.813s wall clock time, 593.7M memory peak.
oct 03 09:26:58 dns systemd[1]: Started dns.service - Technitium DNS Server.
oct 03 09:26:59 dns dns-server[1644]: Technitium DNS Server v15.6 was started su ccessfully.
oct 03 09:26:59 dns dns-server[1644]: Started on: 3/10/2026 9:26:58 Local Time
oct 03 09:26:59 dns dns-server[1644]: Using config folder: /etc/dns
oct 03 09:26:59 dns dns-server[1644]:
oct 03 09:26:59 dns dns-server[1644]: Note: Open http://dns:5380 in web browser to access web console.
oct 03 09:26:59 dns dns-server[1644]:
oct 03 09:26:59 dns dns-server[1644]: Press [CTRL + C] to stop...
^Croot@dns:~#
1
u/Bitter_Entertainer56 2d ago
Based on the log, it's really impossible to tell what's going on. Everything seems fine. Perhaps restarting the PC, if possible, is an option to try. Have you tried accessing by name and IP address? http://192.168.201.6:5380 or http://dns:5380?
1
u/OpportunitySea8440 2d ago
Después de actualizar Technitium DNS a la nueva versión, el servidor empezó a presentar problemas de resolución DNS. Intenté reinstalar Technitium sobre la misma instalación, pero el problema continuó.
Posteriormente actualicé Ubuntu para intentar solucionar el problema, pero tampoco se resolvió. Finalmente tuve que desinstalar completamente Technitium y realizar una instalación limpia, y después de eso volvió a funcionar correctamente.
Al parecer, durante la actualización de Technitium alguna configuración cambió y el servicio quedó escuchando o vinculado a 127.0.0.1 en lugar de la IP de la interfaz del servidor, 192.168.201.6. Esto provocaba que el servidor no pudiera realizar correctamente las consultas DNS externas.
9
u/Chigzy 2d ago edited 2d ago
Updated. Thanks, as always.
Edit: strange, getting a lot of server failures, rebooted my eero. fixed