If you want to run your own recursive DNS server, you must find upstream servers that are authoritative for the dn42 zones.

You may use some servers listed in the table of anycast servers, or just use 172.22.119.160 and 172.22.119.163 (ns{1,2}.fritz.dn42).

Configuration

Unbound

Configuration for unbound.conf

server:
        local-zone: "22.172.in-addr.arpa." nodefault
        local-zone: "23.172.in-addr.arpa." nodefault

stub-zone:
        name: "dn42"
        stub-prime: yes
        stub-addr: 172.22.119.160
        stub-addr: 172.22.119.163

stub-zone:
        name: "22.172.in-addr.arpa"
        stub-prime: yes
        stub-addr: 172.22.119.160
        stub-addr: 172.22.119.163

stub-zone:
        name: "23.172.in-addr.arpa"
        stub-prime: yes
        stub-addr: 172.22.119.160
        stub-addr: 172.22.119.163

Unbound with root-hints

Alternatively you can put dn42 root servers in the root-hints file for recursive resolving.

# /etc/unbound/unbound.conf.d/dn42.conf 
server:
        # DNSSEC validation will fail
        val-permissive-mode: yes
        # recursive queries for everyone
        access-control: 0.0.0.0/0 allow
        # dn42 root servers
        root-hints: /etc/unbound/dn42.hints
	# enable IPv6
	do-ip6: yes
	# allow reverse lookup of rfc1918 space, which includes the DN42 address space
	unblock-lan-zones: yes
	insecure-lan-zones: yes

remote-control:
        control-enable: no

The /etc/unbound/dn42.hints file:

.                                         NS    a.root-servers.dn42.
a.root-servers.dn42.           3600000    A     172.22.177.6
.                                         NS    m.root-servers.dn42.
m.root-servers.dn42.           3600000    A     172.23.67.67
.                                         NS    t.root-servers.dn42.
t.root-servers.dn42.           3600000    A     172.22.102.141
.                                         NS    x.root-servers.dn42.
x.root-servers.dn42.           3600000    A     172.22.141.1