BIND не может разрешить доменное имя

BIND не может разрешить доменное имя

У меня есть сервер BIND ubuntu в качестве частного DNS-сервера для comзоны и два хоста (веб-сервера). Три из них являются виртуальными хостами, использующими virtual box, и соединяются вместе с помощью карты виртуального хоста.

У меня есть следующий файл конфигурации на DNS-сервере для прямого разрешения:

$TTL    604800

@       IN      SOA     dns1.com. admin.com. (
                              19        ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

; name servers - NS records
    IN  NS  dns1.com.

; name servers - A records
dns1.com.          IN      A       192.168.56.3

; 192.168.56.0/24 - A records
@           IN      NS      dns1.com.
host1.          IN      A   192.168.56.7
host2.          IN      A   192.168.56.8

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

Оба pingaple. Вот результат ping второго хоста с моей машины: C:\Users\e>ping 192.168.56.8

Pinging 192.168.56.8 with 32 bytes of data:
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64

Я могу разрешить host2.com, если использую локальный hostфайл на своей машине Windows, добавив следующую запись:

192.168.56.8    host2.com

Я не могу понять, почему мой DNS-сервер не может разрешить, host2но может разрешить host1?

Вот named.conf.localфайл:

zone ".com" {
    type master;
    file "/etc/bind/forward.host1.com";
};

zone "56.168.192.in-addr.arpa"{
    type master;
    file "/etc/bind/reverse.host1.com";
};

Я не думаю, что имена файлов forward.host1.com reverse.host1.comкак-то влияют на разрешение? Не правда ли?

РЕДАКТИРОВАТЬ: Для проверки конфигураций:

/etc/bind$ sudo named-checkzone com forward.host1.com
forward.host1.com:20: ignoring out-of-zone data (host1)
forward.host1.com:21: ignoring out-of-zone data (host2)
zone com/IN: loaded serial 19
OK

Может ли кто-нибудь объяснить мне, почему я не могу разрешить host2?

EDIT: После предложенного ответа файл был обновлен до следующего, но без всякой надежды. Теперь я не могу связаться ни с host1, ни с host2, хотя они работают и я могу связаться с ними по IP:

$TTL    604800



@       IN      SOA     dns1.com. admin.com. (

                              24        ; Serial

                         604820         ; Refresh

                          86600         ; Retry

                        2419600         ; Expire

                         604600 )       ; Negative Cache TTL



; name servers - NS records

    IN  NS  dns1.com.


; name servers - A records

dns1.com          IN      A       192.168.56.3


; 192.168.56.0/24 - A records

@           IN      NS      dns1.com.

host1           IN      A   192.168.56.7

host2           IN      A   192.168.56.8

решение1

Похоже, у вас возникли некоторые трудности, поэтому вот два (надеюсь) рабочих примера для вас. Обратите внимание, что первый вариант (зона .com) скорее всего предотвратит разрешение обычных .comдоменов (например google.com). Второй вариант ( dns1.comзона) лишен этого недостатка.

Примеры .comфайлов зоны

бывший. /etc/bind/named.conf.local

; "db.com.tld" is a random name - use whatever you like.
; The same goes for "db.rev.192".
;
; Likewise, you can adjust your "allow-transfer" settings,
; etc. as needed.

zone "com." IN {
    type master;
    file "/etc/bind/zones/db.com.tld";
    allow-transfer { none; };
};

zone "56.168.192.in-addr.arpa" IN {
    type master;
    file "/etc/bind/zones/db.rev.192";
    allow-transfer { none; };
};


бывший. /etc/bind/zones/db.com.tld

; BIND data file for TLD ".com"
;
; This will likely break real ".com" websites (i.e. anything not listed here).

$TTL 3600
@   IN  SOA     com.    admin.com. (
                2018040501  ; Serial
                604800      ; Refresh period
                86400       ; Retry interval
                2419200     ; Expire time (28 days... later)
                604800 )    ; Negative Cache TTL (1 week)

; Name Servers - NS records
@       IN NS  ns1.com.   ; This is required
@       IN NS  ns2.com.   ; You should have two name servers

; Name Servers - A records
ns1                 IN A        192.168.56.3        ; This is required
ns2                 IN A        192.168.56.3        ; You should have two name servers

; Our domains/sub-domains
dns1                IN A        192.168.56.3        ; dns1.com
host1.dns1          IN A        192.168.56.7        ; host1.dns1.com
host2.dns1          IN A        192.168.56.8        ; host2.dns1.com

Обратите внимание, что использование такой точки допустимо, хотя в данном случае это, возможно, излишне:

;ok.period.com.     IN A        192.168.56.3        ; ok.period.com -> FQDN

И вот чего вам следует избегать:

;no.period.         IN A        192.168.56.3        ; Don't use periods for sub-domains
;no.period.com      IN A        192.168.56.3        ; While this works, this is actually accessed as no.period.com.com!


бывший. /etc/bind/zones/db.rev.192

; BIND reverse data file.
; The domain, etc. used should be a listed 'zone' in named.conf. 

$TTL 86400
@   IN SOA      com.    admin.com. (
                2018040501  ; Serial
                10800       ; Refresh
                3600        ; Retry
                604800      ; Expire
                86400 )     ; Minimum

; In this case, the number just before "PTR" is the last octet 
; of the IP address for the device to map (e.g. 192.168.56.[3])

; Name Servers
@       IN NS   ns1.com.
@       IN NS   ns2.com.

; Reverse PTR Records
3       IN PTR  dns1.com.   
7       IN PTR  host1.dns1.com.
8       IN PTR  host2.dns1.com.

Обратите внимание, что настройка выше, вероятно, ограничивает ваши возможности в отношении доступа ваших машин к .comдоменам, отличным от тех, которые вы создаете (т.е. они, скорее всего, не смогут получить к ним доступ). Если вы хотите, чтобы они имели доступ к иностранным .comдоменам, вы можете попробовать более узкий подход ниже.


Примеры dns1.comфайлов зоны

бывший. /etc/bind/named.conf.local

; "db.dns1.com" is a random name - use whatever you like.
;
; Likewise, you can adjust your "allow-transfer" settings,
; etc. as needed.

zone "dns1.com" IN {
    type master;
    file "/etc/bind/zones/db.dns1.com";
    allow-transfer { none; };
};

Вы можете использовать тот же named.conf.localвход в обратную зону, что и выше.


бывший. /etc/bind/zones/db.dns1.com

; BIND data for http://dns1.com

$TTL 3600 
@   IN SOA      ns1.dns1.com.   admin.dns1.com. (
                2018040501  ; Serial
                604820      ; Refresh
                86600       ; Retry
                2419600     ; Expire
                604600 )    ; Negative Cache TTL

; Name Servers - NS records
@       IN NS   ns1.dns1.com.   ; This is required
@       IN NS   ns2.dns1.com.   ; You should have two name servers

; Name Servers - A records
ns1                 IN A        192.168.56.3        ; This is required
ns2                 IN A        192.168.56.3        ; You should have two name servers

; Our domains/sub-domains
dns1.com.           IN A        192.168.56.3         ; dns1.com 
host1               IN A        192.168.56.7         ; host1.dns1.com
host2               IN A        192.168.56.8         ; host2.dns1.com


бывший. /etc/bind/zones/db.rev.192

; BIND reverse data file.
; The domain, etc. used should be a listed 'zone' in named.conf. 

$TTL 86400
@   IN SOA      dns1.com.   admin.dns1.com. (
                2018040501  ; Serial
                10800       ; Refresh
                3600        ; Retry
                604800      ; Expire
                86400 )     ; Minimum

; In this case, the number just before "PTR" is the last octet 
; of the IP address for the device to map (e.g. 192.168.56.[3])

; Name Servers
@       IN NS   ns1.dns1.com.
@       IN NS   ns2.dns1.com.

; Reverse PTR Records
3       IN PTR  dns1.com.   
7       IN PTR  host1.dns1.com.
8       IN PTR  host2.dns1.com. 

решение2

Ваш файл зоны неверен - в строках 20 и 21, как и предлагалось. В частности, в нем не должно быть "." после host1 и host2.

Точка . означает, что это абсолютно, а не относительно зоны, поэтому он не соответствует доменному имени host1 и не имеет записи для host1.com.

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