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

1148
None

У меня есть сервер 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 
0

2 ответа на вопрос

1
davidgo

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

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

Спасибо, но, к сожалению, это не решило мою проблему. Смотрите обновленный конфиг плз. None 6 лет назад 0
Какую ОС вы используете, и какие серверы имен установлены в этой ОС? (Я спрашиваю по двум причинам - если вы используете ОС типа Unix, мы можем использовать такие инструменты, как DIG, чтобы выяснить, что происходит, и если основной сервер имен не используется ОС, то эта настройка будет проигнорирована ). Кроме того, правильно ли я считаю, что предложенные мной изменения означают, что зона загружается без предупреждений? davidgo 6 лет назад 0
Я использую Ubuntu для DNS и хостов. Можете ли вы предоставить более подробную информацию о том, что я должен искать в раскопках? копать для какого именно сервера? сервер днс или хосты? После изменений я запустил: `: / etc / bind $ sudo named-checkzone com forward.com` и получил` zone com / IN: загружен серийный 27 OK`, а затем запустил `: / etc / bind $ sudo named-checkzone 56.168 .192.in-addr.arpa reverse.com` и получил `zone 56.168.192.in-addr.arpa/IN: загруженный серийный номер 5 OK`. Обратите внимание, что я изменил имена файлов на `forward.com` и` reverse.com` в качестве попытки, но я не думаю, что они являются подходящими. None 6 лет назад 0
Вы правы - имена файлов не важны. Что содержит файл /etc/resolve.conf на вашем хосте? «Dig1 host1.com A» и «dig @ 192.168.56.3 host1.com A» возвращают один и тот же результат? davidgo 6 лет назад 0
0
Anaksunaman

Звучит так, как будто у вас возникли некоторые трудности, поэтому вот два (надеюсь) рабочих примера для вас. Обратите внимание, что первый вариант ( .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.  
Я все еще не могу получить доступ к сайту, используя его доменное имя, но могу получить доступ к нему с помощью IP. Можете ли вы сделать мне одолжение и выложить другие необходимые файлы для DNS? Я ожидаю, что я делаю что-то не так в других необходимых файлах, таких как named.conf.local и reverse. None 6 лет назад 0
Это сработало после того, как я добавил точку в этой строке: `dns1.com IN A 192.168.56.3`, чтобы стать` dns1.com. В 192.168.56.3` None 6 лет назад 0
Я рад, что вы поняли это хотя бы частично. Если вам все еще интересно, я опубликовал два разных (надеюсь, опечаток) набора конфигурационных файлов, которые вы можете просмотреть. Они могут или не могут быть полезны для вас на данный момент, но они есть. В любом случае удачи. знак равно Anaksunaman 6 лет назад 0

Похожие вопросы