Назад | Перейти на главную страницу

Почему nslookup не возвращает то, что я ожидал от моего сервера привязки? (Настроен RPZ)

До этого вопроса я искал некоторую помощь в поиске способа вернуть другой ответ на запросы клиентов на основе их IP-адреса. На вопрос был дан ответ здесь: Как я могу выборочно переопределить некоторые записи A на сервере Bind DNS?

Я следил за принятым ответом и теперь столкнулся с проблемами.

Когда я бегу:

nslookup faq.test.com 

Я ожидаю этого:

root@dev:/etc/bind# nslookup vaultofsatoshi.com
Server:     172.16.225.132
Address:    172.16.225.132#53

Non-authoritative answer:
Name:   faq.test.com
Address: 192.168.1.1

Однако я получаю следующее:

root@dev:/etc/bind# nslookup faq.test.com
Server:     172.16.225.132
Address:    172.16.225.132#53

** server can't find faq.test.com: NXDOMAIN

Я должен упомянуть, что запрос google.com или любого другого веб-сайта работает и возвращает все нормально, это только те, которые я отменяю, которые не работают. Я включил свои файлы конфигурации ниже, любая помощь будет признательна.

/etc/bind/ named.conf

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

/etc/bind/ named.conf.options

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

    forwarders {
        8.8.8.8;
        8.8.4.4;
    };

    response-policy { 
        zone "development-overrides"; 
    };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
    allow-query { trusted; };
    allow-recursion { trusted; };
    recursion yes;
    dnssec-enable no;
    dnssec-validation no;
};

/etc/bind/ named.conf.local

include "/etc/bind/rndc.key";

acl "trusted" {
    172.16.225.132;
    127.0.0.1;
};

include "/etc/bind/zones.override";

logging {
    channel bind_log {
        file "/var/log/named/named.log" versions 5 size 30m;
        severity info;
        print-time yes;
        print-severity yes;
        print-category yes;
    };
    category default { bind_log; };
    category queries { bind_log; };
};

/etc/bind/ named.conf.default-zones

// prime the server with knowledge of the root servers
zone "." {
    type hint;
    file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
    type master;
    file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
    type master;
    file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
    type master;
    file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
    type master;
    file "/etc/bind/db.255";
};

/ и т.д. / привязка / разработка-переопределения

$TTL 1H
@                       SOA LOCALHOST. test.com (1 1h 15m 30d 2h)
                        NS  LOCALHOST.

support.test.com     A   192.168.1.1
faq.test.com         A   192.168.1.1

; do not rewrite (PASSTHRU) OK.DOMAIN.COM
*               A   rpz-passthru.

Последняя строка в зоне RPZ не выглядит синтаксически корректной.

Синтаксис зоны RPZ такой же, как и для обычных зон, только для RPZ он имеет особую семантику.

Имея это в виду, ясно, что A запись не может иметь rpz-passthru. как это ценность. An A запись может иметь в качестве значения только IPv4-адрес.

Если вы посмотрите на Документация РПЗ вы обнаружите, что специальные директивы RPZ (например, rpz-passthru.) использовать CNAME тип записи.

named-checkconf -zj и / или чтение журналов обычно полезно. Я бы предположил, что при использовании данных зоны из вопроса, зона RPZ не загрузится, и по этому поводу должны быть ошибки (я ожидал бы ошибку о «плохом пунктирном четырехугольнике» или что-то в этом роде).

В качестве отдельного примечания, я не считаю, что последняя строка действительно нужна, она просто (пытается) явно определить, каким было бы поведение по умолчанию.