
Ubuntu 18.04LTSのbashコマンドdigを使用して、ドメインからすべてのtxtレコードを取得しようとしています。知义义、一貫性のない結果が得られます。
私が使用するコマンドは次のとおりです。
dig @8.8.8.8 SOA +short -t txt zhihu.com
この結果は私にとっては良いように思えます:
root@mx:/var/www/html/server# dig @8.8.8.8 SOA +short -t txt zhihu.com
;; Warning, extra type option
"m5g7qjk31l5d1hkq6m3zvcf6lg2f0h16"
"google-site-verification=q42VyLbU7bjRv5xb2279AX9jJ3Vuxp-e4XG_f1EQRGk"
"v=spf1 include:_spf.google.com include:cust-spf.edmsphere.com -all"
しかし、次の瞬間にそれを実行すると、次のようになります:
root@mx:/var/www/html/server# dig @8.8.8.8 SOA +short -t txt zhihu.com
;; Warning, extra type option
e4094fc1d98c915a.ksyunad.com.
そして、e4094fc1d98c915a.ksyunad.com
問題はCNAMEレコードの値であることが判明しました知义义DNS で。
何が起きてる?
答え1
SOA
まず、とレコードの両方を要求しますTXT
。TXT
クエリが送信され、警告が発行されます。
主な問題は、ドメインzhihu.com
が誤って構成されていることです。
- 委任されたドメインであるため、記録が必要で
SOA
ありNS
、 - レコードの存在は、
CNAME
他のほとんどすべてのレコードと互換性がありません(DNSSECを除く)
したがって、一貫性のない動作が発生します。各 DNS リゾルバは、必要に応じてその非互換性を解決できます。これ8.8.8.8
はエニーキャスト アドレスです。接続するたびに、異なるサーバーになる可能性があります。