четверг, 7 мая 2020 г.

Минимальная настройка DNS-сервера unbound.


Небольшая заметка для себя, чтобы не забыть. Информацию брал опять же по инструкциями из интернета и из руководства самой программы.

Почему unbound? Ну просто захотел unbound и всё тут.

Цель поднятия сервера - кэширующий сервер для VPN. Т.е. нужна какая-то служба, которая будет работать на том же хосте и заниматься разрешением имён. Никакими зонами сервер заведовать не будет, но при этом наружу он торчать тоже не должен.

Установка сервера:
sudo apt install unbound
Теперь надо дописать конфигурационный файл для реализации заданных условий. У меня получилось примерно так "/etc/unbound/unbound.conf.d/00-conf.conf":
# Параметры сервера
server:
        # Писать в лог только ошибки
        verbosity: 0
        # Стандартный порт для DNS
        port: 53
        # Интерфейсы, на которых 
        interface: 127.0.0.1
        interface: 10.118.0.1
        interface: 10.128.0.1

        # Интерфейс, через который будут передаваться запросы
        # на другие DNS-серверы
        outgoing-interface: 0.0.0.0
        # Список доступа
        access-control: 10.128.0.0/24 allow
        access-control: 10.118.0.0/24 allow
        access-control: 127.0.0.0/8 allow
        # Явное разрешение работать на всех протоколах
        do-ip4: yes
        do-ip6: yes
        do-udp: yes
        do-tcp: yes

# Настройка удалённого управления
remote-control:
        # включение функции удалённого управления
        control-enable: yes
        control-interface: 127.0.0.1
Ключи шифрования будут сохранены со стандартными именами, поэтому в секции "remote-control" они не указываются.

Для функционирования управления unbound с помощью команды "unbound-control" необходимо сгенерировать ключи шифрования командой "unbound-control-setup".

После всех манипуляций надо перезапустить сервер:
sudo systemctl restart unbound
Теперь необходимо проверить работоспособность сервера.

Сначала разрешение имён через него:
$ nslookup ya.ru 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   ya.ru
Address: 87.250.250.242
Name:   ya.ru
Address: 2a02:6b8::2:242
Потом работоспособность удалённого управления:
$ sudo unbound-control status
version: 1.9.0
verbosity: 1
threads: 1
modules: 3 [ subnet validator iterator ]
uptime: 1156 seconds
options: reuseport control(ssl)
unbound (pid 23488) is running...