追加読書

追加読書

理由を知りたいIPv4を取得できません。dk トップレベルドメイン私のDebian 10で。有効なドメイン名、私が知っている地球上で最短(文書化A)。ネットワーク接続をテストするのに最適です。

私が使うとき、すべてが期待どおりに動作します。

dig A +short dk
193.163.102.58

しかし、私が使うときdk私が所有しているドメインの前にワイルドカードが有効になっています。例えばexample.orgだから:

ping -c1 dk
PING dk.example.org (x.x.x.x) 56(84) bytes of data.
64 bytes from x.x.x.x-reverse-dns (x.x.x.x): icmp_seq=1 ttl=57 time=3.72 ms

--- dk.example.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.716/3.716/3.716/0.000 ms

しかし、ポイントを追加すると機能します。

ping -c1 dk.
PING dk (193.163.102.58) 56(84) bytes of data.
64 bytes from static3.prod.dkhm.dk (193.163.102.58): icmp_seq=1 ttl=51 time=24.6 ms

--- dk ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 24.569/24.569/24.569/0.000 ms

DoT/およびいくつかのパブリック静的DNSリゾルバでstubbyテストされています/etc/resolv.conf(同じ結果)。

unboundnorなどのローカルパーサーはありませんbind

ディレクトリとIPアドレスexample.orgの間に興味深い一致はありません。/etc

/etc/nsswitch.conf誤って設定された場合の鉱山:

[...]
hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files
[...]

何が起こっているのか知っている人はいますか?

答え1

最も短いドメイン名はです.dk完全修飾ドメイン名ではありません。。人間が読める形式はピリオドで終わりません。ピリオドで終わるのは、(人間が読める形式で)完全修飾ドメイン名を表します。

DNS自体を完全修飾ドメイン名として有効にするには、DNSクライアントライブラリ(類似プログラムに接続されているping)は次のようになります。dk~になる、1つ以上のサフィックスを追加することによって。 DNSクライアントが表示されるサフィックスを追加しています。 BIND DNSクライアントライブラリに含まれるほとんどのCライブラリの場合、サフィックスリストは/etc/resolv.confさまざまな方法でオペレーティングシステムに提供される動的ドメイン名サフィックスに置き換えられるというディレクティブで提供されます。

dk.比較するとはい完全修飾ドメイン名とDNSクライアントライブラリは、名前の資格を介してそれらを渡しません。

実際、ここには何の問題もありません。

追加読書

  • ジョナサンデボインポラード(2017)。 」正規化された名前の概念」。DNS名の資格とは何ですか?。よく与えられる答えです。

答え2

解決されるのはdig A dkRAを使用して定義されたドメインであり、これはDNSサーバーである場合とそうでない場合があります。ドメインの特権サーバーを照会する方法として定義されていません。 MX時代以前は、ドメインに応答する電子メールサーバーのアドレスを指すために使用されていましたが、現在は廃止予定の機能です。

TLDを担当する特権ネームサーバーのIPアドレスを取得するには、dkルートネームサーバーにNSレコードを要求することをお勧めします。

$ dig -t NS dk @a.root-servers.net. | sed "s/^/    /"

; <<>> DiG 9.10.6 <<>> -t NS dk @a.root-servers.net.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2109
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 7, ADDITIONAL: 15
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;dk.                IN  NS

;; AUTHORITY SECTION:
dk.         172800  IN  NS  a.nic.dk.
dk.         172800  IN  NS  b.nic.dk.
dk.         172800  IN  NS  c.nic.dk.
dk.         172800  IN  NS  d.nic.dk.
dk.         172800  IN  NS  l.nic.dk.
dk.         172800  IN  NS  p.nic.dk.
dk.         172800  IN  NS  s.nic.dk.

;; ADDITIONAL SECTION:
a.nic.dk.       172800  IN  A   212.88.78.122
b.nic.dk.       172800  IN  A   193.163.102.222
c.nic.dk.       172800  IN  A   194.0.46.53
d.nic.dk.       172800  IN  A   185.159.198.45
l.nic.dk.       172800  IN  A   192.38.7.242
p.nic.dk.       172800  IN  A   194.0.47.42
s.nic.dk.       172800  IN  A   193.176.144.15
a.nic.dk.       172800  IN  AAAA    2001:1580:0:180d::122
b.nic.dk.       172800  IN  AAAA    2a01:630:0:80::53
c.nic.dk.       172800  IN  AAAA    2001:678:74::53
d.nic.dk.       172800  IN  AAAA    2620:10a:80ab::45
l.nic.dk.       172800  IN  AAAA    2001:7f8:1f::1835:242:0
p.nic.dk.       172800  IN  AAAA    2001:678:78:42:ad::53
s.nic.dk.       172800  IN  AAAA    2a00:d78:0:102:193:176:144:15

;; Query time: 38 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Mon Jun 01 08:26:00 WEST 2020
;; MSG SIZE  rcvd: 455

dkネットワーク訪問者の便宜のために、A レコードでそのドメインの Web サーバーを指すリソースレコードを表示することもできます。この場合、RR Aはdk.DNSサーバーを指すのではなく、/ 217.70.186.102へのHTMLリダイレクトで応答するngINXサーバー(eksempel.dk)を指しているようです。www.dk-hostmaster.dk

別の名前を表示するping理由は、ドットのない名前要求(例:dk)の場合、DNSリゾルバー(@ JdeBPが言ったように)が使用するドメインのサフィックスリストを追加してRR Aで解決されるためです。関連 PTR DNS レコード。

pingまたは、193.163.102.58のA RRとして解釈され、次にdk.193.163.102.58のPTR /逆RRを取得するdot(dk。)を使用しますstatic3.prod.dkhm.dk

static3.prod.dkhm.dkdkドメインを担当する組織が本番ネットワーク用にデフォルトで作成した名前。

$ nslookup
> set type=A
> dk.
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   dk
Address: 193.163.102.58
> 193.163.102.58
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
58.102.163.193.in-addr.arpa name = static3.prod.dkhm.dk.

またはpingを監視します。

ping -c1 dk.

tcpdumpを使用してください:

$ sudo tcpdump -n port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
12:44:04.742533 IP 192.168.5.143.46424 > 192.168.5.2.53: 12659+ A? dk. (20)
12:44:04.744365 IP 192.168.5.2.53 > 192.168.5.143.46424: 12659*- 1/0/0 A 193.163.102.58 (48)
12:44:04.849969 IP 192.168.5.143.46424 > 192.168.5.2.53: 37304+ PTR? 58.102.163.193.in-addr.arpa. (45)
12:44:04.893196 IP 192.168.5.2.53 > 192.168.5.143.46424: 37304 1/0/1 PTR static3.prod.dkhm.dk. (117)

PS BIND言語では、上記のRR Aを次のように定義します。

$ORIGIN dk.
@          IN       A   193.163.102.58

RR = リソースレコード

TLDR これは無効な DNS 回答ではなく、文書化され、期待される動作です。

「トピックから離れた」説明:奇妙なことに、eksempel.dk文書/教育/開発サーバーのようです。このサーバーは、暗号化可能な証明書を使用してそれをさらに確認します。

関連情報