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

У меня есть этот файл конфигурации на сервере 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

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

Оба пингапл. Вот второй результат 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?

РЕДАКТИРОВАТЬ: После того, как ответ предложил, файл был обновлен до следующего, но без всякой надежды. Теперь я не могу связаться ни с 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

2 ответа2

1

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

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

0

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

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