Я пытаюсь настроить обратный DNS для ipv6 в своей локальной сети. DNS-сервер, который следует делегировать, находится по адресу 2001: 5c0: 1400: b :: 9, а хост, для которого должен работать RDNS, находится по адресу 2001: 5c0: 1500: 300 :: 1. Проблема в том, что dig -x, похоже, не работает, если не указан + trace:
$ dig -x 2001:5c0:1500:300::1
; <<>> DiG 9.9.5-3-Ubuntu <<>> -x 2001:5c0:1500:300::1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 24545
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.0.0.0.5.1.0.c.5.0.1.0.0.2.ip6.arpa. IN PTR
;; Query time: 714 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sun Oct 19 23:31:58 CEST 2014
;; MSG SIZE rcvd: 101
$ dig -x 2001:5c0:1500:300::1 +trace
; <<>> DiG 9.9.5-3-Ubuntu <<>> -x 2001:5c0:1500:300::1 +trace
;; global options: +cmd
. 433182 IN NS l.root-servers.net.
. 433182 IN NS a.root-servers.net.
. 433182 IN NS f.root-servers.net.
. 433182 IN NS c.root-servers.net.
. 433182 IN NS h.root-servers.net.
. 433182 IN NS i.root-servers.net.
. 433182 IN NS g.root-servers.net.
. 433182 IN NS e.root-servers.net.
. 433182 IN NS b.root-servers.net.
. 433182 IN NS j.root-servers.net.
. 433182 IN NS k.root-servers.net.
. 433182 IN NS d.root-servers.net.
. 433182 IN NS m.root-servers.net.
. 435889 IN RRSIG NS 8 0 518400 20141025170000 20141018160000 22603 . kvgfN/rC3esMrbGF3KZFrwogm1EKA+nwZrFMXHf3a9sJsDZdpe4iDrOB 0xKyu9dvcsdfLcVLDMHGojlQqUAOda9KIcOGIdeFXl3IOKAk91XvQfrq mLOz02vrBog6gfFnzA34lGkLan1BtRFqKkjxvIHUyIcxstZkak44p/2/ t1w=
;; Received 913 bytes from 192.168.0.1#53(192.168.0.1) in 369 ms
ip6.arpa. 172800 IN NS d.ip6-servers.arpa.
ip6.arpa. 172800 IN NS b.ip6-servers.arpa.
ip6.arpa. 172800 IN NS c.ip6-servers.arpa.
ip6.arpa. 172800 IN NS e.ip6-servers.arpa.
ip6.arpa. 172800 IN NS f.ip6-servers.arpa.
ip6.arpa. 172800 IN NS a.ip6-servers.arpa.
ip6.arpa. 86400 IN DS 13880 8 2 068554EFCB5861F42AF93EF8E79C442A86C16FC5652E6B6D2419ED52 7F344D17
ip6.arpa. 86400 IN RRSIG DS 8 2 86400 20141026190000 20141019180000 10069 arpa. oRqujHjYlEPu3LNM61WtGMXvMyXYYxvBnTPxYLhZxs3rZxqLNaqmzMQr 5cGjUBoEPbAQSsSvpXBX/VHKRf0FjcpL1kXt6YcmzwMyMKdlQrC9Rrxz AQd1csbsfpJP6E6AwWz3Vbd/AnsghIk+BRKerC2+DxjCxU8UpV9ae/3v R0o=
;; Received 685 bytes from 192.33.4.12#53(c.root-servers.net) in 77 ms
1.0.c.5.0.1.0.0.2.ip6.arpa. 86400 IN NS ns2.gogo6.com.
1.0.c.5.0.1.0.0.2.ip6.arpa. 86400 IN NS ns1.gogo6.com.
1.0.c.5.0.1.0.0.2.ip6.arpa. 10800 IN NSEC 8.c.5.0.1.0.0.2.ip6.arpa. NS RRSIG NSEC
1.0.c.5.0.1.0.0.2.ip6.arpa. 10800 IN RRSIG NSEC 5 11 10800 20141102202721 20141019192721 49851 5.0.1.0.0.2.ip6.arpa. GVMC0TF/hNZGCCRXY4bvpvuyqtmqC5mqhVp0DGhxldJ0m64CVzmOcFMf S3aqoggYRPMYqHNKG4Zjg40/IlwXSdsLmTmOQgBu0OBR4tJBGuomqoTP 7BsXeKx0a3Vgz/8mdz1Nf8e4czGWwkCAo/AomluyWKdEDM5bQiX30Uqa e0k=
;; Received 372 bytes from 2001:dc0:2001:a:4608::59#53(e.ip6-servers.arpa) in 373 ms
3.0.0.0.5.1.0.c.5.0.1.0.0.2.ip6.arpa. 3600 IN NS wonderland.broker.freenet6.net.
;; Received 173 bytes from 72.55.143.215#53(ns1.gogo6.com) in 125 ms
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.0.0.0.5.1.0.c.5.0.1.0.0.2.ip6.arpa. 3600 IN PTR wonderland.broker.freenet6.net.
;; Received 128 bytes from 2001:5c0:1400:b::9#53(wonderland.broker.freenet6.net) in 0 ms
Я также пробовал онлайн-инструменты, такие как http://www.sput.nl/internet/ipv6/chkip6rev.html и действительно они сообщают о СЛУЖБЕ. Я ждал день, чтобы увидеть, было ли это эффектом некоторого кеширования, но проблема не устранена. Что здесь может происходить?
Это не сработает для определенных преобразователей DNS при этом делегировании:
3.0.0.0.5.1.0.c.5.0.1.0.0.2.ip6.arpa. 3600 IN NS wonderland.broker.freenet6.net.
DNS сервер wonderland.broker.freenet6.net
имеет только IPv6-адрес:
$ host wonderland.broker.freenet6.net
wonderland.broker.freenet6.net has IPv6 address 2001:5c0:1400:b::9
Когда ты делаешь dig
затем вы просите настроенный DNS-преобразователь разрешить адрес за вас. Если у этого преобразователя нет IPv6, он не сможет следовать этому делегированию, потому что он не может достичь DNS-сервера, поддерживающего только IPv6. Когда ты делаешь dig +trace
тогда вы все решаете сами. Если в вашей системе есть IPv6, она может следовать по всей цепочке. В системе без IPv6 разрешение тоже не удастся.
В этом случае проблема (также?), Похоже, связана с ошибкой в полномочном DNS-сервере на 2001:5c0:1400:b::9
. Отправляемый им ответ не соответствует стандарту DNS. В соответствии с RFC 1034 исходный вопрос должен быть включен в ответ. Однако ваш DNS-сервер отправляет пустой раздел вопросов (который BIND сообщает как «слишком много вопросов», хотя технически это «недостаточно вопросов», соответствие != 1
Я думаю):
Domain Name System (response)
Transaction ID: 0xad20
Flags: 0x8400 Standard query response, No error
Questions: 0
Answer RRs: 1
Authority RRs: 0
Additional RRs: 0
Answers
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.0.0.0.5.1.0.c.5.0.1.0.0.2.ip6.arpa:
type PTR, class IN, wonderland.broker.freenet6.net
Итак, в основном ваш авторитетный DNS-сервер сломан, и dig
все равно, но "настоящие" DNS-преобразователи ...