<div dir="ltr">Hello, if you could help me review this situation, I would appreciate it.<br><br>It is necessary to configure a server that all clients in the blocks below must use as a recursive DNS.<br><br>For this, I must use 2 servers:<br><br>The first, like Recursive DNS itself, is what clients will use to configure DNS.<br><br>The second, as a copy of root, must be consulted to the first if it does not have a cache. <br><br>Forming a hyperlocal recursive DNS composed of 1 computer with the address that clients will use as DNS and 1 computer with the root copy (slave of the root servers).<br><br>The blocks are:<br><a href="http://201.31.238.0/28">201.31.238.0/28</a> (passed on to customers using CGNAT);<br>2804:a8:c4ad::/56 (passed to clients directly, 1 /64 block for each client);<br><br>The client must use as DNS server: 201.31.238.9 and 2804:a8:c4ad:d1::9<br><br>The scheme below is working, but I would like someone more experienced who can review and identify if I'm doing it correctly, if there are flaws or how I can improve this structure... Thank you.<br><br><b>First server configuration (Recursive DNS):</b><br><br><i>file /etc/bind/named.conf.options:</i><br>options {<br>        directory "/var/cache/bind";<br>        dnssec-validation auto;<br>        auth-nxdomain no;<br>        qname-minimization disabled;<br>        listen-on { 201.31.238.9; 127.0.0.1; };<br>        listen-on-v6 { 2804:a8:c4ad:d1::9; ::1; fe80::a00:27ff:fe7a:d1a7; };<br>        recursion yes;<br><br>        allow-query {<br>            <a href="http://127.0.0.0/8">127.0.0.0/8</a>;<br>            <a href="http://201.31.238.0/28">201.31.238.0/28</a>;<br>            ::1;<br>            2804:a8:c4ad::/56;<br>        };<br><br>        allow-recursion {<br>            <a href="http://127.0.0.0/8">127.0.0.0/8</a>;<br>            <a href="http://201.31.238.0/28">201.31.238.0/28</a>;<br>            ::1;<br>            2804:a8:c4ad::/56;<br>        };<br>};<br><br><i>file /etc/bind/named.conf.default-zones:</i><br>// prime the server with knowledge of the root servers<br>//zone "." {<br>//      type hint;<br>//      file "/usr/share/dns/root.hints";<br>//};<br><br>zone "." {<br>        type static-stub;<br>        server-addresses { 201.31.238.7; 2804:a8:c4ad:d1::7; };<br>};<br><br><br>// be authoritative for the localhost forward and reverse zones, and for<br>// broadcast zones as per RFC 1912<br><br>zone "localhost" {<br>        type master;<br>        file "/etc/bind/db.local";<br>};<br><br>zone "127.in-addr.arpa" {<br>        type master;<br>        file "/etc/bind/db.127";<br>};<br><br>zone "0.in-addr.arpa" {<br>        type master;<br>        file "/etc/bind/db.0";<br>};<br><br>zone "255.in-addr.arpa" {<br>        type master;<br>        file "/etc/bind/db.255";<br>};<br><br><br><b>Configuration of the second server (DNS acting as a copy of the root):</b><br><br><br><i>file /etc/bind/named.conf.options:</i><br>options {<br>       allow-query {<br>            <a href="http://127.0.0.0/8">127.0.0.0/8</a>;<br>            <a href="http://201.31.238.0/28">201.31.238.0/28</a>;<br>            ::1;<br>            2804:a8:c4ad::/56;<br>        };<br><br>        allow-recursion {<br>            <a href="http://127.0.0.0/8">127.0.0.0/8</a>;<br>            <a href="http://201.31.238.0/28">201.31.238.0/28</a>;<br>            ::1;<br>            2804:a8:c4ad::/56;<br>        };<br>};<br><br><br><i>file /etc/bind/named.conf.default-zones:</i><br><br>// prime the server with knowledge of the root servers<br><br>//zone "." {<br>//      type hint;<br>//      file "/usr/share/dns/root.hints";<br>//};<br><br><br>zone "." {<br>        type slave;<br>        file "rootzone.db"; <br>        notify no;<br>        masters {<br>                199.9.14.201; # <a href="http://b.root-servers.net">b.root-servers.net</a><br>                192.33.4.12; # <a href="http://c.root-servers.net">c.root-servers.net</a><br>                199.7.91.13; # <a href="http://d.root-servers.net">d.root-servers.net</a><br>                192.5.5.241; # <a href="http://f.root-servers.net">f.root-servers.net</a><br>                192.112.36.4; # <a href="http://g.root-servers.net">g.root-servers.net</a><br>                193.0.14.129; # <a href="http://k.root-servers.net">k.root-servers.net</a><br>                192.0.47.132; # <a href="http://xfr.cjr.dns.icann.org">xfr.cjr.dns.icann.org</a><br>                192.0.32.132; # <a href="http://xfr.lax.dns.icann.org">xfr.lax.dns.icann.org</a><br>                2001:500:200::b; # <a href="http://b.root-servers.net">b.root-servers.net</a><br>                2001:500:2::c; # <a href="http://c.root-servers.net">c.root-servers.net</a><br>                2001:500:2d::d; # <a href="http://d.root-servers.net">d.root-servers.net</a><br>                2001:500:2f::f; # <a href="http://f.root-servers.net">f.root-servers.net</a><br>                2001:500:12::d0d; # <a href="http://g.root-servers.net">g.root-servers.net</a><br>                2001:7fd::1; # <a href="http://k.root-servers.net">k.root-servers.net</a><br>                2620:0:2830:202::132; # <a href="http://xfr.cjr.dns.icann.org">xfr.cjr.dns.icann.org</a><br>                2620:0:2d0:202::132; # <a href="http://xfr.lax.dns.icann.org">xfr.lax.dns.icann.org</a><br>        };<br>};<br><br><br><br>// be authoritative for the localhost forward and reverse zones, and for<br>// broadcast zones as per RFC 1912<br><br>zone "localhost" {<br>        type master;<br>        file "/etc/bind/db.local";<br>};<br><br>zone "127.in-addr.arpa" {<br>        type master;<br>        file "/etc/bind/db.127";<br>};<br><br>zone "0.in-addr.arpa" {<br>        type master;<br>        file "/etc/bind/db.0";<br>};<br><br>zone "255.in-addr.arpa" {<br>        type master;<br>        file "/etc/bind/db.255";<br>};</div>