У меня работает два DNS-сервера. Для внутренних адресов нетрудно найти их в обоих направлениях:
user@ns1:~$ man named.conf
user@ns1:~$ host vh01
vh01.example.de has address 192.168.180.4
user@ns1:~$ host 192.168.180.4
4.180.168.192.in-addr.arpa domain name pointer vh01.example.de.
Но:
user@ns1:~$ host google.de
google.de has address 209.85.146.103
google.de has address 209.85.146.104
google.de has address 209.85.146.105
google.de has address 209.85.146.106
google.de has address 209.85.146.147
google.de has address 209.85.146.99
google.de mail is handled by 10 google.com.s9b2.psmtp.com.
google.de mail is handled by 10 google.com.s9a1.psmtp.com.
google.de mail is handled by 10 google.com.s9a2.psmtp.com.
google.de mail is handled by 10 google.com.s9b1.psmtp.com.
user@ns1:~$ host 209.85.146.103
Host 103.146.85.209.in-addr.arpa not found: 2(SERVFAIL)
Я бы хотел что-то вроде:
user@ns1:~$ host 209.85.146.103 62.128.1.42 Using domain server: Name: 62.128.1.42 Address: 62.128.1.42#53 Aliases:
103.146.85.209.in-addr.arpa domain name pointer bru01s01-in-f103.1e100.net.
Мой сервер настроен для связи с корневыми DNS-серверами для неизвестных зон. Я предполагаю, что это работает, поскольку прямой поиск делегируется, если он сам не знает ответа. Почему он не делегирует, если не знает об IP-адресе?
Есть идеи, где у меня может быть что-то не так с моей конфигурацией?
Как уже говорилось, я пробовал:
user@vh01:~$ dig +trace 103.146.85.209.in-addr.arpa ptr
; > DiG 9.7.3 > +trace 103.146.85.209.in-addr.arpa ptr
;; global options: +cmd
. 518400 IN NS m.root-servers.net.
. 518400 IN NS e.root-servers.net.
. 518400 IN NS h.root-servers.net.
. 518400 IN NS l.root-servers.net.
. 518400 IN NS f.root-servers.net.
. 518400 IN NS k.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS g.root-servers.net.
. 518400 IN NS j.root-servers.net.
. 518400 IN NS d.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS i.root-servers.net.
. 518400 IN NS a.root-servers.net.
;; Received 244 bytes from 192.168.180.28#53(192.168.180.28) in 1 ms
arpa. 172800 IN NS a.root-servers.net.
arpa. 172800 IN NS g.root-servers.net.
arpa. 172800 IN NS c.root-servers.net.
arpa. 172800 IN NS i.root-servers.net.
arpa. 172800 IN NS e.root-servers.net.
arpa. 172800 IN NS k.root-servers.net.
arpa. 172800 IN NS f.root-servers.net.
arpa. 172800 IN NS m.root-servers.net.
arpa. 172800 IN NS h.root-servers.net.
arpa. 172800 IN NS d.root-servers.net.
arpa. 172800 IN NS l.root-servers.net.
arpa. 172800 IN NS b.root-servers.net.
;; Received 509 bytes from 192.58.128.30#53(j.root-servers.net) in 18 ms
in-addr.arpa. 172800 IN NS a.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS b.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS c.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS d.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS e.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS f.in-addr-servers.arpa.
;; Received 421 bytes from 198.41.0.4#53(a.root-servers.net) in 7 ms
209.in-addr.arpa. 86400 IN NS t.arin.net.
209.in-addr.arpa. 86400 IN NS u.arin.net.
209.in-addr.arpa. 86400 IN NS v.arin.net.
209.in-addr.arpa. 86400 IN NS w.arin.net.
209.in-addr.arpa. 86400 IN NS x.arin.net.
209.in-addr.arpa. 86400 IN NS y.arin.net.
209.in-addr.arpa. 86400 IN NS z.arin.net.
209.in-addr.arpa. 86400 IN NS dill.arin.net.
;; Received 200 bytes from 203.119.86.101#53(e.in-addr-servers.arpa) in 325 ms
146.85.209.in-addr.arpa. 86400 IN NS ns4.google.com.
146.85.209.in-addr.arpa. 86400 IN NS ns1.google.com.
146.85.209.in-addr.arpa. 86400 IN NS ns2.google.com.
146.85.209.in-addr.arpa. 86400 IN NS ns3.google.com.
;; Received 127 bytes from 199.212.0.63#53(z.arin.net) in 100 ms
103.146.85.209.in-addr.arpa. 86400 IN PTR bru01s01-in-f103.1e100.net.
;; Received 85 bytes from 216.239.36.10#53(ns3.google.com) in 5 ms
Мне это кажется неплохим, но почему
user@vh01:~$ host 209.85.146.103
Host 103.146.85.209.in-addr.arpa not found: 2(SERVFAIL)
потерпеть поражение? Но нет, если я запрашиваю адрес, обслуживаемый моим собственным сервером?
user@vh01:~$ host 192.168.180.4
4.180.168.192.in-addr.arpa domain name pointer vh01.example.de.
Прямой поиск DNS будет обрабатываться вашим DNS, но по умолчанию интернет-провайдер не делегирует какой-либо диапазон вашему серверу имен, поэтому ваш сервер имен не будет разрешать обратный трафик.
Чтобы настроить RDNS и разрешить этот тип записей вашим сервером имен, вам необходимо попросить вашего интернет-провайдера делегировать диапазон вашему серверу имен, но обычно интернет-провайдер или хостинговая компания делегируют обратный DNS, только если у вас есть / 24 (a полный класс C) или более.
Если у вас есть только один общедоступный IP-адрес, вам придется попросить своего интернет-провайдера создать запись PTR в их обратном DNS.
Если у вас есть диапазон общедоступных IP-адресов, ваш интернет-провайдер должен будет предоставить обратный DNS-сервер для ваших DNS-серверов для записей PTR, и вам необходимо установить обратную зону DNS для этих IP-адресов. Это можно сделать либо в виде отдельных записей CNAME (для менее чем 256 IP-адресов), либо в виде полной пересылки подсети.