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

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

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

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

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

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

Значение /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

/ и т.д. / хосты:

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

etc/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 ответ1

0

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


Я не могу напрямую говорить о каких-либо других проблемах, но у вас (очевидно) нет записи для 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). Вы можете проверить этот список международных доменов верхнего уровня и выбрать поддельный домен верхнего уровня, которого нет в этом списке (например, возможно .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).

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

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