Рейтинг:0

Сервер BIND9 для сети без доступа в интернет

флаг jo

У меня такой же вопрос это один, но принятый ответ и комментарии не помогли мне решить мою проблему. Я положу сюда всю установку, которая у меня есть.

Версия BIND9 - BIND 9.11.5-P4-5.1+deb10u6-Debian (версия с расширенной поддержкой),

ОПЕРАЦИОННЫЕ СИСТЕМЫ - Дебиан Бастер (10.11)

named.conf:

// Это основной файл конфигурации для DNS-сервера BIND с именем.
//
// Прочтите /usr/share/doc/bind9/README.Debian.gz для получения информации о
// структура файлов конфигурации BIND в Debian *ДО* настройки
// этот файл конфигурации.
//
// Если вы просто добавляете зоны, сделайте это в /etc/bind/named.conf.local

включить "/etc/bind/named.conf.options";
включить "/etc/bind/named.conf.local";
включить "/etc/bind/named.conf.default-zones";

named.conf.options:

параметры {
        директория "/var/cache/bind";

        // Если между вами и нужными серверами имен есть брандмауэр
        // чтобы поговорить, вам может понадобиться исправить брандмауэр, чтобы разрешить несколько
        // порты для разговора. См. http://www.kb.cert.org/vuls/id/800113.

        // Если ваш интернет-провайдер предоставил один или несколько IP-адресов для стабильной
        // серверы имен, вы, вероятно, захотите использовать их в качестве серверов пересылки.
        // Раскомментируйте следующий блок и вставьте адреса вместо
        // заполнитель всех 0.

        //экспедиторы {
        // 0.0.0.0;
        // };

        //=============================================== ========================
        // Если BIND регистрирует сообщения об ошибках об истечении срока действия корневого ключа,
        // вам нужно будет обновить ваши ключи. См. https://www.isc.org/bind-keys
        //=============================================== ========================
        автоматическая проверка dnssec;

        слушать на v6 { любой; };

        //скрыть номер версии от клиентов из соображений безопасности.
        версия «в настоящее время недоступна»;
        
};

named.conf.local:

//
// Делаем здесь любую локальную настройку
//

// Рассмотрите возможность добавления сюда зон 1918, если они не используются в вашем
// организация
// включаем "/etc/bind/zones.rfc1918";

named.conf.default-зоны:

// подготовим сервер к информации о корневых серверах
зона "." {
        тип подсказки;
        //По умолчанию
        // файл "/usr/share/dns/root.hints";
        файл "/etc/bind/db.fake.root";
};

// быть авторитетным для прямой и обратной зон localhost, а также для
// широковещательные зоны согласно RFC 1912

зона "локальный хост" {
        тип мастер;
        файл "/etc/bind/db.local";
};

зона "127.in-addr.arpa" {
        тип мастер;
        файл "/etc/bind/db.127";
};

зона "0.in-addr.arpa" {
        тип мастер;
        файл "/etc/bind/db.0";
};

зона "255.in-addr.arpa" {
        тип мастер;
        файл "/etc/bind/db.255";
};

db.fake.root:

; Файл обратных данных BIND для пустой зоны rfc1918
;
; НЕ РЕДАКТИРОВАТЬ ЭТОТ ФАЙЛ - он используется для нескольких зон.
; Вместо этого скопируйте его, отредактируйте named.conf и используйте эту копию.
;
86400 долларов США
@ В SOA нс. root.unimar.io. (
                              1; Серийный
                         604800 ; Обновить
                          86400 ; Повторить попытку
                        2419200 ; Срок действия
                          86400 ) ; Отрицательный TTL кэша
;
@ В НС нс
нс В А 127.0.0.1
$ORIGIN unimar.io.
uniapp IN A 10.120.0.12

Когда я перезапускаю службу, она запускается, но в журналах появляется это предупреждающее сообщение:

25 ноября 11:03:11 unimarDNS named[1145]: зона 255.in-addr.arpa/IN: загружен серийный номер 1
25 ноября 11:03:11 unimarDNS named[1145]: зона 127.in-addr.arpa/IN: загружен серийный номер 1
25 ноября 11:03:11 unimarDNS named[1145]: зона localhost/IN: загружен серийный номер 2
25 ноя 11:03:11 unimarDNS named[1145]: все зоны загружены
25 ноября, 11:03:11 unimarDNS systemd[1]: запущен сервер доменных имен BIND.
25 ноя 11:03:11 unimarDNS named[1145]: работает
25 ноября, 11:03:11 unimarDNS named[1145]: хромой сервер разрешает '.' (в '.'?): 127.0.0.1#53
25 ноября, 11:03:11 unimarDNS named[1145]: хромой сервер разрешает '.' (в '.'?): 127.0.0.1#53
25 ноября, 11:03:11 unimarDNS named[1145]: зона управляемых ключей: невозможно получить набор DNSKEY '.': сбой
25 ноября, 11:03:11 unimarDNS named[1145]: запрос на инициализацию резолвера завершен

И когда я пытаюсь копать землю хост я получаю это:

root@unimarDNS:/etc/bind# копать uniapp.unimar.io

; <<>> DiG 9.11.5-P4-5.1+deb10u6-Debian <<>> uniapp.unimar.io
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: SERVFAIL, id: 39791
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 0, АВТОРИЗАЦИЯ: 0, ДОПОЛНИТЕЛЬНО: 1

;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги:; UDP: 4096
; COOKIE: 8da51eb1b4443aeda9f03e38619f5190efb0dc3cd3c88f68 (хорошо)
;; РАЗДЕЛ ВОПРОСОВ:
uniapp.unimar.io. В

;; Время запроса: 1 мс
;; СЕРВЕР: 10.120.0.13#53(10.120.0.13)
;; КОГДА: Чт, 25 ноября, 11:04:16 EET 2021
;; РАЗМЕР MSG rcvd: 73

И в логах я получил это:

25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «0.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53
25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «0.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53
25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «1.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53
25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «1.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53
25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «2.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53
25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «2.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53
25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «3.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53
25 ноября, 11:04:16 unimarDNS named[1145]: хромой сервер разрешает «3.debian.pool.ntp.org» (в «.»?): 127.0.0.1#53

Пожалуйста, кто-нибудь может сказать мне, что я делаю неправильно?

РЕДАКТИРОВАТЬ

Мне понравилось, как @Nikita Киприянов предложил в комментариях ниже.

Решение в этом вопросе не работает, потому что BIND ожидает, что корневая зона будет подписана. Я не понимаю, зачем пытаться переопределить корневые серверы, а не просто сделать авторизованный сервер для нужной зоны? Это очень ненужное усложнение. Если система отключена от Интернета, поиск в Интернете все равно не удастся.

Nikita Kipriyanov avatar
флаг za
Решение в этом вопросе не работает, потому что BIND ожидает, что корневая зона будет *подписанной*.Я не понимаю, зачем пытаться переопределить корневые серверы, а не просто сделать авторизованный сервер для нужной зоны? Это очень ненужное усложнение. Если система отключена от Интернета, поиск в Интернете все равно не удастся.
Julian Dimitrov avatar
флаг jo
Итак, если я правильно понимаю (я совсем новичок в использовании BIND), чтобы установить BIND, оставьте конфигурацию по умолчанию, создайте зону для uniapp.unimar.io и отключите `рекурсивный` поиск?
Nikita Kipriyanov avatar
флаг za
Да, я думаю, этого достаточно.
Patrick Mevzek avatar
флаг cn
По крайней мере, две вещи: 1) не ожидайте, что DNSSEC будет работать в этом сценарии, особенно если вы новичок в DNS и этой настройке, поэтому отключите его, и 2) когда вы выполняете запросы `dig`, также укажите сервер имен, который вы хотите достичь с помощью `@`. Кроме того, вам абсолютно необходимо использовать `bind`? Из вашего грубого описания того, чего вы хотите достичь, кажется, что dnsmasq или unbound будет гораздо проще настроить для вас.
Рейтинг:0
флаг jo

Мне понравилось, как @Nikita Киприянов предложил в комментариях ниже.

Решение в этом вопросе не работает, потому что BIND ожидает, что корневая зона будет подписана. Я не понимаю, зачем пытаться переопределить корневые серверы, а не просто сделать авторизованный сервер для нужной зоны? Это очень ненужное усложнение. Если система отключена от Интернета, поиск в Интернете все равно не удастся.

djdomi avatar
флаг za
это ответ или комментарий?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.