理由を知りたい平らな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
(同じ結果)。
unbound
norなどのローカルパーサーはありません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 dk
RAを使用して定義されたドメインであり、これは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.dk
dkドメインを担当する組織が本番ネットワーク用にデフォルトで作成した名前。
$ 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
文書/教育/開発サーバーのようです。このサーバーは、暗号化可能な証明書を使用してそれをさらに確認します。