Начиная с 14 версии FreeBSD в установочном комплекте идёт удостоверяющий, рекурсивный и кеширующий DNS-сервер, отличающийся от привычного всем BIND размером, а также современностью и безопасностью.

В статье показана настройка для поддержки зоны ресурсов организации, видимой только из внутренней (192.168.20.0/24) сети.

Каталог настроек сервера находится в /var/unbound. Там же будем создавать конфигурационные файлы:

1. Основной конфигурационный файл unbound.conf
Не забывайте вместо пробелов ставить табы.

server:
       username: unbound
       directory: /var/unbound
       chroot: /var/unbound
       pidfile: /var/run/local_unbound.pid
       auto-trust-anchor-file: /var/unbound/root.key
       root-hints: /var/unbound/root.hints

# Listen interface
       interface: 127.0.0.1
       interface: 192.168.20.2
       interface-automatic: no
       num-threads: 3
       so-reuseport: yes

       do-ip4: yes
       do-ip6: no
       do-udp: yes
       do-tcp: yes

       hide-identity: yes
       hide-version: yes

       access-control: 127.0.0.0/8 allow
       access-control: 192.168.20.0/24 allow
       access-control: 0.0.0.0/0 refuse

include: /var/unbound/forward.conf
include: /var/unbound/lan-zones.conf
include: /var/unbound/control.conf
include: /var/unbound/log.conf
include: /var/unbound/conf.d/int.mydomain.ru.zone


2. forward.conf
Не забывайте вместо пробелов ставить табы.

forward-zone:
name: .
forward-addr: 1.1.1.1
forward-addr: 8.8.8.8


3. control.conf
Не забывайте вместо пробелов ставить табы.

remote-control:
                control-enable: yes
                control-interface: /var/run/local_unbound.ctl
                control-use-cert: no


4. lan-zones.conf
Не забывайте вместо пробелов ставить табы.

server:
         unblock-lan-zones: yes
         insecure-lan-zones: yes


5. Файл логов log.conf. Цифры от 0 до 7. Чем больше цифра, тем больше логов.
Не забывайте вместо пробелов ставить табы.

server:
        logfile: "/var/log/unbound.log"
        verbosity: 1


6. Файл зоны внутренних ресурсов конторы conf.d/int.mydomain.ru.zone
Не забывайте вместо пробелов ставить табы. Также не забывайте про точки.

private-address: 192.168.20.0/24
local-zone: "int.mydomain.ru." static
             local-data: "mydomain.ru. IN      A       192.168.20.1"
             local-data: "ns1.mydomain.ru.   IN      A       192.168.20.1"
             local-data: "ns2.mydomain.ru.   IN      A       192.168.20.2"
             local-data: "mail.mydomain.ru.  IN      A       192.168.20.2"
             local-data: "fs1.mydomain.ru.   IN     A       192.168.20.5"
             local-data: "bs1.mydomain.ru.   IN      A       192.168.20.6"

             local-data-ptr: "192.168.20.1   mydomain.ru"
             local-data-ptr: "192.168.20.1   ns1.mydomain.ru"
             local-data-ptr: "192.168.20.2   ns2.mydomain.ru"
             local-data-ptr: "192.168.20.2   mail.mydomain.ru"
             local-data-ptr: "192.168.20.5   fs1.mydomain.ru"
             local-data-ptr: "192.168.20.6   bs1.mydomain.ru"


7. Заходим браузером на страницу https://www.internic.net/domain/named.cache
копируем содержимое в буфер обмена и заливаем оное в файл root.hints, который создаём всё в том же каталоге /var/unbound


8. В /etc/rc.conf вписать local_unbound_enable="YES"
9. cd /etc/rc.d
./local_unbound start