У меня проблемы с кешем bind9 dns, возвращающим ответ на любой запрос. Зачем? Можно ли как-то отключить это поведение?

nslookup not.a.valid.query
Server:  UnKnown
Address:  192.168.0.1

Non-authoritative answer:
Name:    not.a.valid.query.robertfoss.se
Address:  *my public ip address*

Если я отключу опцию строки option domain-name "robertfoss.se"; в моем dhcpd.conf (и перезапустите службу) тот же самый запрос приводит к гораздо более здравому dns-answer:

nslookup not.a.valid.query
Server:  UnKnown
Address:  192.168.0.1

bind9 named.conf.options

options {
    directory "/var/cache/bind";

    forwarders {
            81.88.9.218;
            8.8.8.8;
            81.88.9.220;
            8.8.4.4;
    };

    // Security options
    allow-query {127.0.0.1; 192.168.0.0/24; };
    allow-recursion { 127.0.0.1; 192.168.0.0/24; };
    allow-transfer { none; };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
};

Я запускаю bind9 на хосте Ubuntu.

1 ответ1

1

Запись DNS для домена, который вы тестируете, robertfoss.se обслуживает запись подстановочного знака А. Запрашивая сервер имен для robertfoss.se напрямую, я получаю:

$ nslookup
> server ns1.loopia.se
Default server: ns1.loopia.se
Address: 93.188.0.20#53
> test.robertfoss.se
Server:         ns1.loopia.se
Address:        93.188.0.20#53

Name:   test.robertfoss.se
Address: 85.235.31.248
> nothing.should.be.here.robertfoss.se
Server:         ns1.loopia.se
Address:        93.188.0.20#53

Name:   nothing.should.be.here.robertfoss.se
Address: 85.235.31.248

Так что же происходит на вашем локальном компьютере, когда robertfoss.se установлен в качестве имени домена для клиентов dhcp? Это просто, nslookup добавляет имя домена по умолчанию к запросу. Так, например, если вы nslookup this.is.a.cool.name, он изменит его на nslookup this.is.a.cool.name.robertfoss.se.

Две вещи могут решить проблему. Во-первых, в named.conf убедитесь, что '.' зона - это тип = подсказка, а не тип = мастер. Во-вторых, проверьте параметры поиска resolv.conf и параметры домена .

Лично для небольших сетей я предпочитаю dnsmasq. Легкий, гибкий, простой в настройке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .