Сервер BIND не разрешает имена в локальной сети

Я пытаюсь выучить BIND9. Я создал домашнюю лабораторию с моим основным рабочим столом, на котором запущен сервер bind, ноутбук и сервер ubuntu virtualbox 16.04 vm на мостовом соединении под управлением apache.

  • Я могу пропинговать все машины с каждой машины, используя их IP-адреса.
  • Я могу ssh на все машины с каждой машины.
  • Я не могу разрешить даже сервер имен на рабочем столе с помощью ping, и он не может разрешить ни одну машину с любой из машин.
  • На любом компьютере не установлен брандмауэр, чтобы его было проще устранить.
  • Мое подключение к wan работает нормально со всех машин.
  • Кроме того, у меня не работает DNS-кеш-сервер
  • Ни named-checkzone, ни named-checkconf не сообщают об ошибках в конфигах

РЕДАКТИРОВАТЬ: когда я использую хост при обеспечении рабочего стола в качестве DNS-сервера (хост nlab.local 192.168.1.2), все работает как на рабочем столе, так и на виртуальной машине. Это не удается, когда я использую хост без указания DNS-сервера.

1/2 РЕШЕНИЕ: я отредактировал файл заголовка (/etc/resolvconf/resolvconf.d/head) моего преобразователя и запустил sudo resolvconf -u так, чтобы мой localhost разрешался раньше всего остального. Тем не менее, это потенциальная проблема, так как это заставит все другие узлы указывать свои преобразователи на сервере, чтобы это работало, и это может замедлить их или нарушить последующее разрешение. В конце концов, преобразователь никогда не заходил достаточно далеко, чтобы поразить моего локального хоста раньше. Время ожидания для ping просто истекло, и другие инструменты (dig, host) даже не удосужились попробовать. Таким образом, это немного наполовину решение, поэтому я пока не отмечаю это как решенное. Также странно, что настройки днс в файле интерфейсов не заставляют разрешение. Мне остается только удивляться, почему такая строка существует в статических установках, если машина просто переходит в resolv.conf для серверов имен.

Привязать файлы конфигурации на рабочем столе:

named.conf

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

logging {   
    channel query.log {
        file "/var/log/query.log";  severity debug 3;   
    };  
    category queries { query.log; }; 
};

named.conf.local

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

zone "1.168.192.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.192";
};

named.conf.options

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

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    //========================================================================
    // If BIND logs error messages about the root key being expired,
    // you will need to update your keys.  See https://www.isc.org/bind-keys
    //========================================================================
    dnssec-validation auto;

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

};

db.nlab.local

;
; BIND data file for nlab.local
;
$TTL    604800
@   IN  SOA ns.nlab.local. ike.nlab.local. (
                 11     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.nlab.local.
@   IN  A   192.168.1.2
@   IN  AAAA    ::1
ns  IN  A   192.168.1.2
ns1 IN  A   192.168.1.12
nc1 IN  A   192.168.1.9
nightfall IN    CNAME   ns
freefall  IN    CNAME   nc1

db.192

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.nlab.local. root.nlab.local. (
                              5         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
2      IN      PTR     ns.nlab.local.

; also list other computers
12     IN      PTR     ns1.nlab.local.
9      IN      PTR     nc1.nlab.local.

IP-адрес моего рабочего стола является статическим, настроенным через network-manager, поскольку изменение моего /etc/network/interfaces вручную не позволяет запустить мой network.service. Может быть, это ключ, но я не знаю, как его расшифровать. Тем не менее, я смог установить статический ip для файла интерфейсов в vm, который изначально запускал сервер связывания (теперь отключен), и, хотя я был в состоянии разрешать адреса на этом компьютере, он все еще не передавал другим машины с такими же конфигами.

IP: 192.168.1.2

Шлюз: 192.168.1.1

DNS: 127.0.0.1, 8.8.8.8, 8.8.4.4

Диагностика: на рабочем столе

netstat -naptu | grep 53

tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      9324/dnsmasq    
tcp        0      0 192.168.1.2:53          0.0.0.0:*               LISTEN      1540/named      
tcp        0      0 172.17.0.1:53           0.0.0.0:*               LISTEN      1540/named      
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1540/named      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1531/sshd       
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      1540/named      
tcp        0      0 192.168.1.2:51444       34.211.99.53:443        TIME_WAIT   -               
tcp        0      0 192.168.1.2:44613       192.52.178.30:53        TIME_WAIT   -               
tcp       32      0 192.168.1.2:54530       162.125.5.3:443         CLOSE_WAIT  2976/dropbox    
tcp        0      0 192.168.1.2:41171       192.12.94.30:53         TIME_WAIT   -               
tcp        1      0 192.168.1.2:53664       54.236.121.227:443      CLOSE_WAIT  2976/dropbox    
tcp6       0      0 :::22                   :::*                    LISTEN      1531/sshd       
udp        0      0 127.0.0.1:60178         127.0.0.1:53            ESTABLISHED 2372/Plex DLNA Serv
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1285/avahi-daemon: 
udp        0      0 127.0.0.1:46562         127.0.0.1:53            ESTABLISHED 2372/Plex DLNA Serv
udp        0      0 127.0.0.1:38551         127.0.0.1:53            ESTABLISHED 3715/plugin_host
udp        0      0 127.0.1.1:53            0.0.0.0:*                           9324/dnsmasq    
udp        0      0 192.168.1.2:53          0.0.0.0:*                           1540/named      
udp        0      0 172.17.0.1:53           0.0.0.0:*                           1540/named      
udp        0      0 127.0.0.1:53            0.0.0.0:*                           1540/named      
udp6       0      0 :::5353                 :::*                                1285/avahi-daemon: 

хозяин работает, наверное:

$ host nlab.local
nlab.local has address 192.168.1.2

$ host ns1.nlab.local
ns1.nlab.local has address 192.168.1.12

При форсировании сервера

$ host nlab.local 192.168.1.2
Using domain server:
Name: 192.168.1.2
Address: 192.168.1.2#53
Aliases: 

nlab.local has address 192.168.1.2
nlab.local has IPv6 address ::1

И пинг не проходит

$ ping nlab.local
ping: unknown host nlab.local

$ ping ns1.nlab.local
ping: unknown host ns1.nlab.local

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

dig дает этот ответ:

$ dig nlab.local

; <<>> DiG 9.10.3-P4-Ubuntu <<>> nlab.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61277
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;nlab.local.            IN  A

;; ANSWER SECTION:
nlab.local.     604800  IN  A   192.168.1.2

;; AUTHORITY SECTION:
nlab.local.     604800  IN  NS  ns.nlab.local.

;; ADDITIONAL SECTION:
ns.nlab.local.      604800  IN  A   192.168.1.2

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Apr 03 12:50:55 EDT 2018
;; MSG SIZE  rcvd: 88

С сервера Ubuntu VM:

$ dig nlab.local

; <<>> DiG 9.10.3-P4-Ubuntu <<>> nlab.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 24440
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;nlab.local.            IN  A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Apr 03 12:59:11 EDT 2018
;; MSG SIZE  rcvd: 28

Это файл /etc/network/interfaces в виртуальной машине:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet static
address 192.168.1.12
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.2 8.8.8.8 75.75.75.75

Ведение журнала работает, и сервер получает запросы от приложений на рабочем столе. Я не вижу никаких запросов от VM.

Спасибо заранее за любую помощь.

0 ответов

Другие вопросы по тегам