Возможно ли, чтобы Bind отвечал авторитетно для локальных доменов?

Возможно ли, чтобы Bind отвечал авторитетно для локальных доменов?

Как и следует из названия: возможно ли иметьСвязывать(названныйservice) на машине Linux (Fedora 27, Server Edition) авторитетно отвечают за локальные домены или, по крайней мере, отвечают таким образом, что что-либо, запрашивающее о них, примет ответ сервера вместо любого другого?

Я знаю, что это должно быть возможно (по крайней мере, в теории), но я не могу заставить это работать, хотя оба вариантаназванныйиrndcслужбы и хотя мои файлы проходят проверки на обоихnamed-checkconfиименованная-checkzone.

Мне необходимо получить ответ от сервера Bind для моего локального домена (запросы, поступающие с ПК с Windows 7), который будет указывать на мой локальный домен (а не на авторитетный или неавторитетный ответ где-либо еще в Интернете), как в этом сообщении:BIND9 не может разрешить локальный домен. Я также хотел бы сделать возможным добавление других (интернет) доменных имен в более позднее время (поэтому поддельный корень, вероятно, не будет работать как решение), но, как есть,nslookupответ:

** сервер не может найти vpntest.it: NXDOMAIN **

Я также переустановил дистрибутив (минимальная установка), изменил файлы в соответствии с Руководством администратора Fedora и проверил (и тщательно экстраполировал) этот пост:https://serverfault.com/questions/838380/dns-use-public-domain-name-for-internal-use...ивсе ещеполучаю указанную выше ошибку. Грррррррррр!

На данный момент мои файлы выглядят следующим образом:

/etc/nsswitch.confценить:

files dns myhostname

/etc/resolv.conf:

# Generated by NetworkManager
nameserver 64.83.128.50
nameserver 64.20.192.50
nameserver 2001:4860:4860::8888
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 2001:4860:4860::8844

/etc/hosts:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

и т.д./named.conf(Ключ RNDC удален из этого сообщения):

options {
    listen-on port 53 { 10.200.0.1; }; // 127.0.0.1 //
    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";

    recursion no;
    dnssec-enable yes;
    dnssec-validation auto;

    auth-nxdomain no;
    allow-query { localhost; };
    version "Damned If I Know";
    allow-recursion { 10.200.0.1/24; };

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";

    include "/etc/crypto-policies/back-ends/bind.config";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};

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

key "rndc-key" {
    algorithm hmac-md5;
    secret "";
};

controls {
    inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndc-key"; };
};

zone "vpntest.it" IN {
    type master;
    file "vpntest.it.zone";
};

zone "0.200.10.in-addr.arpa" IN {
    type master;
    file "10.200.0.zone";
    allow-update { none; };
};

/var/named/vpntest.it.zone:

$ORIGIN vpntest.it.
$TTL 86400
@       IN      SOA    ns1.vpntest.it.    hostmaster.vpntest.it. (
                100 ; serial
                21600   ; refresh after 6 hours
                3600    ; retry after 1 hour
                604800  ; expire after 1 week
                86400 ) ; minimum TTL of 1 day
;
                IN  NS  ns1.vpntest.it.
;
ns1             IN  A   10.200.0.1
;
www             IN  A   10.200.0.6

/var/named/10.200.0.zone:

$ORIGIN 0.200.10.in-addr.arpa.
$TTL 86400
@       IN      SOA    ns1.vpntest.it.    hostmaster.vpntest.it. (
                100 ; serial
                21600   ; refresh after 6 hours
                3600    ; retry after 1 hour
                604800  ; expire after 1 week
                86400 ) ; minimum TTL of 1 day
;
@               IN  NS  ns1.vpntest.it.
;
1               IN  PTR ns1.vpntest.it.
6               IN  PTR www

решение1


Я знаю, что этот вопрос немного устарел (и, похоже, у вас некоторая полурабочая конфигурация), поэтому, пожалуйста, простите меня, если я скажу что-то, о чем вы уже знаете или что больше не относится к вашей проблеме.


Я не могу напрямую говорить о других проблемах, но у вас (судя по всему) нет записи дляvpntest.itв вашем файле зоны:

$ORIGIN vpntest.it.
$TTL 86400
@       IN      SOA    ns1.vpntest.it.    hostmaster.vpntest.it. (
                100 ; serial
                21600   ; refresh after 6 hours
                3600    ; retry after 1 hour
                604800  ; expire after 1 week
                86400 ) ; minimum TTL of 1 day
;
                IN  NS  ns1.vpntest.it.
;
ns1             IN  A   10.200.0.1
;
vpntest.it.     IN  A   10.200.0.6  ; http://vpntest.it - no subdomain
www             IN  A   10.200.0.6  ; http://www.vpntest.it - subdomain

Обратите внимание, что серийный номер всегда следует увеличивать при внесении изменений в зоны.

Другие заметки

  • .itявляется реальным TLD вместе с .dev. Это может вызвать проблемы с разрешением (как и любой реальный публичный TLD). Вы можете проверить этот списокМеждународные домены верхнего уровняи выбрать поддельный TLD, которого нет в этом списке (например, .nxвозможно?). Есть некоторыеофициально зарезервированные непубличные TLD(ну, полуисключающий .onion), но .invalidэто тот, который вы бы выбрали, чтобы быть абсолютно безопасным (избегайте, .localтак как он используется в сочетании ссетевое взаимодействие zeroconf).

  • Как вы отметили в своих комментариях, recursion no;следует удалить (поскольку вы уже ограничиваете рекурсию с помощью allow-recursion { 10.200.0.1/24; };).

  • Любой компьютер, vpntest.itс которым вы собираетесь работать, должен пропускать свой DNS-трафик через ваш сервер BIND.

  • хозяеваможет потенциально переопределить BIND. Хотя это, nsswitch.confпо-видимому, не является проблемой (учитывая порядок), это, вероятно, все же стоит отметить для общего устранения неполадок (т. е. вам не нужно vpntest.it 127.0.0.1при использовании BIND).

  • Хотя это не относится к вашей проблеме, обязательно используйте eg vpntest.it/(обратите внимание на завершающий слеш) для доступа к пользовательским доменам в текущих версиях Chrome, Firefox и Opera (или других браузерах на основе Chromium). Если его не указывать, могут возникнуть проблемы с разрешением (при условии, что DNS в остальном работает правильно).

Связанный контент