Клиент не запрашивает реферальный DNS-сервер (BIND 9, Centos 7)

у меня есть два DNS-сервера (Centos7) и один клиентский компьютер (окно 7).

localhost.beohu.com (192.168.2.254) и cent2.pimmup.com (192.168.1.1). 2.253). Для клиентского ПК используется DNS-сервер 192.168.2.254.

На localhost.beohu.com (192.168.2.254) файл named.conf выглядит следующим образом: (Я вырезал ненужную строку комментария)

options {
        listen-on port 53 { 192.168.2.254; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        recursion no;
        dnssec-enable no;
        dnssec-validation no;
        bindkeys-file "/etc/named.root.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "beohu.com" IN
{
        type master;
        file "beohu.com.db";
        allow-update {any;};
        allow-query {any;};
};
zone "2.168.192.in-addr.arpa" IN
{
        type master;
        file "192.168.2.db";
        allow-update {any;};
        allow-query {any;};
};
zone "pimmup.com"
{
        type master;
        file "pimmup.com.db";
        allow-update {any;};
        allow-query {any;};
};
zone "9.168.192.in-addr.arpa"
{
        type master;
        file "192.168.9.db";
        allow-update {any;};
        allow-query {any;};
};

Файлы зоны:

==> 192.168.9.db <==
$TTL 86400
@       IN      SOA     cent2.pimmup.com.       hostmaster.pimmup.com. (
                        2001062501 ; serial
                        21600      ; refresh after 6 hours
                        3600       ; retry after 1 hour
                        604800     ; expire after 1 week
                        86400 )    ; minimum TTL of 1 day

@       IN      NS      cent2.
253     IN      PTR     cent2.pimmup.com.

==> 192.168.2.db <==
$TTL 86400
@       IN      SOA     beohu.com.      hostmaster.beohu.com. (
                        2001062501 ; serial
                        21600      ; refresh after 6 hours
                        3600       ; retry after 1 hour
                        604800     ; expire after 1 week
                        86400 )    ; minimum TTL of 1 day

@       IN      NS      localhost.beohu.com.
252     IN      PTR     win7.beohu.com.
254     IN      PTR     localhost.beohu.com.

==> pimmup.com.db <==
$TTL 86400
@       IN      SOA     pimmup.com.     hostmaster.pimmup.com. (
                        2001062501 ; serial
                        21600      ; refresh after 6 hours
                        3600       ; retry after 1 hour
                        604800     ; expire after 1 week
                        86400 )    ; minimum TTL of 1 day

@       IN      NS      cent2.pimmup.com.
@       IN      A       192.168.2.253
cent2   IN      A       192.168.2.253


==> beohu.com.db <==
$TTL 86400
@       IN      SOA     beohu.com.      hostmaster.beohu.com. (
                        2001062501 ; serial
                        21600      ; refresh after 6 hours
                        3600       ; retry after 1 hour
                        604800     ; expire after 1 week
                        86400 )    ; minimum TTL of 1 day


@       IN      NS      localhost.beohu.com.


localhost.beohu.com. IN A       192.168.2.254
win7.beohu.com. IN      A       192.168.2.252

На сайте cent2.pimmup.com (192.168.2.253), Файл зоны named.conf:

options {
        listen-on port 53 { 192.168.2.253; };
        #listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        bindkeys-file "/etc/named.root.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "pimmup.com" IN
{
        type master;
        file "pimmup.com.db";
        allow-update {any;};
        allow-query {any;};
};
zone "9.168.192.in-addr.arpa" IN
{
        type master;
        file "192.168.9.db";
        allow-update {any;};
        allow-query {any;};
};
zone "2.168.192.in-addr.arpa" IN
{
        type master;
        file "192.168.2.db";
        allow-update {any;};
        allow-query {any;};
};




include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

:

==> 192.168.9.db <==
$TTL 86400
@       IN      SOA     cent2.pimmup.com.      hostmaster.pimmup.com. (
                        2001062501 ; serial
                        21600      ; refresh after 6 hours
                        3600       ; retry after 1 hour
                        604800     ; expire after 1 week
                        86400 )    ; minimum TTL of 1 day

@       IN      NS      cent2.pimmup.com.
254     IN      PTR     localhost.pimmup.com.
252     IN      PTR     win7.pimmup.com.

==> 192.168.2.db <==
$TTL 86400
@       IN      SOA     cent2.pimmup.com.      hostmaster.pimmup.com. (
                        2001062501 ; serial
                        21600      ; refresh after 6 hours
                        3600       ; retry after 1 hour
                        604800     ; expire after 1 week
                        86400 )    ; minimum TTL of 1 day

@       IN      NS      cent2.pimmup.com.
253     IN      PTR     cent2.pimmup.com.

==> pimmup.com.db <==
$TTL 86400
@       IN      SOA     cent2.pimmup.com.     hostmaster.pimmup.com. (
                        2001062501 ; serial
                        21600      ; refresh after 6 hours
                        3600       ; retry after 1 hour
                        604800     ; expire after 1 week
                        86400 )    ; minimum TTL of 1 day


@       IN      NS      cent2.pimmup.com.
@       IN      A       192.168.2.253
cent2.pimmup.com.      IN      A       192.168.2.253
localhost.pimmup.com. IN        A       192.168.9.254
win7.pimmup.com.        IN      A       192.168.9.252

С клиентского ПК, если я установил DNS-сервер 192.168.2.253, он может разрешить win7.pimmup.com в 192.168.9.252 (и другие записи A, PTR также).

Но моя цель: установить DNS клиентского компьютера на 192.168.2.254. При запросе win7.pimmup.com (или другой записи A, PTR в домене pimmup.com) DNS-сервер 192.168.2.254 возвращает реферальное значение, в данном случае 192.168.2.253.

Из Wireshark на клиенте я можно увидеть, что ответ .254 на запрос клиента с SOA домена pimmup.com (см. прикрепленное изображение). Но каким-то образом клиент не использует эту запись SOA для продолжения отправки запроса к этому значению направления, или мне нужно сделать что-то еще, чтобы сделать запрос клиента к рефералу?

Извините за длинный пост, но, пожалуйста, помогите Я хочу указать, что мне следует сделать / изменить, чтобы он работал. Большое вам спасибо.

0
задан 28 July 2020 в 18:11
1 ответ

192.168.2.254

  1. слушаю порт 53 { 192.168.2.254; }; — указывает, что bind должен отвечать только на запросы, исходящие с того же компьютера, на котором выполняется bind.
 ==> pimmup.com.db <==
    $TTL 86400
    @       IN      SOA     pimmup.com.     hostmaster.pimmup.com. (
                            2001062501 ; serial
                            21600      ; refresh after 6 hours
                            3600       ; retry after 1 hour
                            604800     ; expire after 1 week
                            86400 )    ; minimum TTL of 1 day
    
    @       IN      NS      cent2.pimmup.com.
    @       IN      A       192.168.2.253
    cent2   IN      A       192.168.2.253
   

Здесь я не вижу записей A для win7.pimmup.com, это также одна из причин, по которой доменное имя не может быть разрешено.

3. Запись

==> 192.168.9.db <==
    $TTL 86400
    @       IN      SOA     cent2.pimmup.com.       hostmaster.pimmup.com. (
                            2001062501 ; serial
                            21600      ; refresh after 6 hours
                            3600       ; retry after 1 hour
                            604800     ; expire after 1 week
                            86400 )    ; minimum TTL of 1 day
    
    @       IN      NS      cent2.
    253     IN      PTR     cent2.pimmup.com.

NS должна содержать полное доменное имя полномочного сервера. Итак, это должен быть cent2.pimmup.com, правильно?

192.168.2.253

  1. слушаем порт 53 { 192.168.2.253; }; — указывает привязке прослушивать запросы, поступающие с той же машины. (Я удивлен, что он может разрешать любой домен с ПК вашего клиента, потому что он не слушает запросы, поступающие извне...)

  2. рекурсия да; - авторитетный сервер имен также не должен быть рекурсивным. Читайте о DDoS-атаках и отравлении кеша.

Общий совет:

  1. Какова цель ваших серверов? Если вы хотите, чтобы они были доступны извне, директива listen-on должна быть установлена ​​в { any; } или, по крайней мере, должен быть какой-то ACL, определяющий, с каких IP-адресов разрешено запрашивать его.

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

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

0
ответ дан 29 July 2020 в 13:35

Теги

Похожие вопросы