Project

General

Profile

DNS » History » Version 1

Willy Manga, 02/13/2026 10:12 AM

1 1 Willy Manga
{{>toc}}
2
3
h1. DNS
4
5
h2. Localroot
6
7
The purpose is to not send to the root servers all our queries. Instead have a local copy of the root and rely on it.
8
9
h3. Implementation
10
11
12
What do you need regarding the configuration of your resolver.
13
14
h4. Unbound
15
16
17
In short you need this ( _tested with unbound  1.22.0 under debian 13_ )
18
19
20
<pre><code class="diff">
21
diff --git a/unbound/unbound.conf.d/local-root-unbound.conf b/unbound/unbound.conf.d/local-root-unbound.conf
22
new file mode 100644
23
index 0000000..3f25610
24
--- /dev/null
25
+++ b/unbound/unbound.conf.d/local-root-unbound.conf
26
@@ -0,0 +1,7 @@
27
+auth-zone:
28
+       name: "."
29
+       url: "https://www.internic.net/domain/root.zone"
30
+       fallback-enabled: yes
31
+       for-downstream: no
32
+       for-upstream: yes
33
+       zonefile: "/var/lib/unbound/root.zone"
34
diff --git a/unbound/unbound.conf.d/local-unbound.conf b/unbound/unbound.conf.d/local-unbound.conf
35
index 4774858..a8ec373 100644
36
--- a/unbound/unbound.conf.d/local-unbound.conf
37
+++ b/unbound/unbound.conf.d/local-unbound.conf
38
@@ -465,7 +465,7 @@ server:
39
        # do-not-query-localhost: yes
40
41
        # if yes, perform prefetching of almost expired message cache entries.
42
-       # prefetch: no
43
+       prefetch: yes
44
45
        # if yes, perform key lookups adjacent to normal lookups.
46
        # prefetch-key: no
47
48
</code></pre>
49
50
In summary :
51
* switch _prefetch_ to @yes@
52
* include an _auth-zone_ section . In my case I prefer to use another file
53
54
h3. References
55
56
h4. RFCs
57
58
* "8806":https://datatracker.ietf.org/doc/html/rfc8806
59
60
61
h4. Misc
62
63
* https://youtu.be/xog1Uerjq8g?si=Js51oOXtzypOLG6D
64
* https://localroot.isi.edu/