Setting up unbound DNS server

From Alpine Linux

Unbound is a validating, recursive, and caching DNS resolver that supports DNSSEC.

Install

Install the unbound package:

apk add unbound

Configure

The following configuration is an example of a caching name server (in a production server, it's recommended to adjust the access-control parameter to limit access to your network). The forward-zone section will forward all DNS queries to the specified servers.

  • /etc/unbound/unbound.conf
server:
        verbosity: 1
        interface: 10.0.0.1
        do-ip4: yes
        do-ip6: no
        do-udp: yes
        do-tcp: yes
        do-daemonize: yes
        access-control: 0.0.0.0/0 allow
python:
remote-control:
        control-enable: no
#enable to not answer id.server and hostname.bind queries. 
        hide-identity: yes
#enable to not answer version.server and version.bind queries. 
        hide-version: yes
forward-zone:      name: "."
#Level3 Verizon
        forward-addr: 4.2.2.1
        forward-addr: 4.2.2.4

Set auto-start, start and test the daemon

Set to auto-start then start unbound:

rc-update add unbound rc-service unbound start

Test:

dig nl.alpinelinux.org @10.0.0.1