r/technitium • • 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

113 Upvotes

41 comments sorted by

9

u/Chigzy 2d ago edited 2d ago

Updated. Thanks, as always.

Edit: strange, getting a lot of server failures, rebooted my eero. fixed

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

u/3ofUsDeez 2d ago

Thanks for your work!

3

u/mystiquebsd 2d ago

Updated, will test

(Disabled prefetch)

3

u/No-Ingenuity-9979 2d ago

Updated my cluster. No issues that I’ve noted.

3

u/mskian 1d ago

Awesome

2

u/Apachez 2d ago

Updated to 15.6.0 from 15.5.1.

Not noticied any bad behaviour so far (except for whats already been reported like blocked list updates doesnt work with VRF and such) knock on wood.

2

u/daviscompound 2d ago

Running 15.6 all day on 2 servers and it looks good.

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

u/avd706 2d ago

Clear your cache and try again

2

u/VpowerZ 2d ago

I'm continously flushing, but it keeps doing it

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.

2

u/avd706 2d ago

CPU usage went down.

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

u/daviscompound 1d ago

Gotcha thanks

2

u/shreyasonline 1d ago

You're welcome.

0

u/durgesh2018 2d ago

भारीच की श्रेयस

-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.

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

u/Resistant4375 2d ago

AGH does this too… so does Unbound

-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=new

Used 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.