質問: 以下のようにDNSを設定しているドメインがありますが、サービスを運用しているサブドメインにだけ`ping`したときに`unknown host`になってしまいます。他のサブドメインは解決できるようなのですが、原因がわかりません。 このような場合に考えられる原因はなんでしょうか。ちなみにドメインはnamecheapで取得していてデジタルオーシャンのDNSに転送しています。 DNSレコード ``` TXT subdomain.domain.com Google Search Consoleの文字列 A *.domain.com サーバのIPアドレス NS domain.com ns1.digitalocean.com. NS domain.com ns2.digitalocean.com. NS domain.com ns3.digitalocean.com. ``` pingの実行結果 ``` ping wrongsubdomain.domain.com => 成功 ping subdomain.domain.com => unknown host ```
回答: 通常、問い合わせたサブドメインが存在しない場合に始めて ワイルドカードによる解決が行われます。しかし、今回の場合は `subdomain.domain.com`(のTXTレコード)が存在している為、ワイルドカードによる解決はおこなわれ無いのかもしれません。 次の解説によると「ドメイン名は存在するが、 指定された問い合わせタイプと一致するデータは存在しない」という状態だと思われます。 IABによる論評:DNSワイルドカードの使用に関するアーキテクチャ上の懸念について - JPNIC > > ワイルドカードレコードが存在する場合、ルールはさらに複雑になります。 具体的には、問い合わせクラスが一致し、問い合わせドメイン名との完全一致がなく、 問い合わせドメイン名と最も近い一致がワイルドカードである場合、システムは、 ワイルドカードにあるリソースレコードが問い合わせドメイン名であるとみなして、 問い合わせドメイン名と一致するリソースレコードのセットをその場で合成します。 このため、 そのワイルドカードが希望する問い合わせタイプと一致するレコードを持つ場合、 システムは上記の「success」の場合と同様にそのレコードを返します。 そうでない場合は、「no data」の場合と同様に、ドメイン名は存在するが、 指定された問い合わせタイプと一致するデータは存在しない旨を返します。 > > > Aレコードを解決するためには すでに登録している subdomain.domain.com のすべてのレコードを消すか、Aレコードを明示的に設定してみてください。 また、ワイルドカードは正しく使用しないと 予期しない結果になることがあります。 詳しくは 上述の引用元記事をご確認ください。