web-dev-qa-db-ja.com

奇妙なDNSエントリ

私はDNSシステムについてさらに学び、現在Goで記述された非常に素晴らしいプロジェクトを研究しています。コードでnowhere/?name=probe-test.dns.nextdns.ioに向けていくつかのDNSレコードをクエリしていることに気付きました

最初はこれは正しくないと思いました。ドメイン名ではなく無効なURLのように見えますが、コンソールを起動してDig nowhere/?name=probe-test.dns.nextdns.ioを押すと、Aレコードが返されました。

$ Dig nowhere/?name=probe-test.dns.nextdns.io

; <<>> Dig 9.11.3-1ubuntu1.11-Ubuntu <<>> nowhere/?name=probe-test.dns.nextdns.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53429
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;nowhere/?name=probe-test.dns.nextdns.io. IN A

;; ANSWER SECTION:
nowhere/?name=probe-test.dns.nextdns.io. 300 IN A 45.90.28.0

;; Query time: 26 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Thu Mar 12 18:55:41 EET 2020
;; MSG SIZE  rcvd: 84

これが有効なエントリである方法を誰かが私に説明できますか?.

18
Romeo Mihalcea

ワイルドカードDNSエントリ です。 dns.nextdns.ioゾーンは、dns.nextdns.ioの前にあるものに対するクエリへの応答として45.90.28.0を返すように構成されています。 foobarを探す例をいくつか示します。また、テストとデモに一般的に使用されているので、それらのゾーンにすでに2つある可能性があります。そのため、予期しないものを探しましょう-NoWayThisExists

C:\Users\me>nslookup foo.dns.nextdns.io 8.8.8.8
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    foo.dns.nextdns.io
Address:  45.90.28.0


C:\Users\me>nslookup bar.dns.nextdns.io 8.8.8.8
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    bar.dns.nextdns.io
Address:  45.90.28.0


C:\Users\me>nslookup NoWayThisExists.dns.nextdns.io 8.8.8.8
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    NoWayThisExists.dns.nextdns.io
Address:  45.90.28.0

したがって、最初に配置したものにDNSリゾルバーを作動させる無効な文字が含まれていない限り、応答として45.90.28.0が返されます。そして、あなたの場合、nowhere/?name=probe-testの文字は問題を引き起こしません。実際、/?=-の記号のみで構成される名前を検索できます。

C:\Users\me>nslookup ///???===---.dns.nextdns.io 8.8.8.8
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    ///???===---.dns.nextdns.io
Address:  45.90.28.0
33
Doug Deden