
Ich versuche, dig, den Bash-Befehl in Ubuntu 18.04LTS, zu verwenden, um alle TXT-Datensätze aus einer Domäne namens abzurufenwww.zhihu.com, und es liefert mir inkonsistente Ergebnisse.
Der Befehl, den ich verwende, ist:
dig @8.8.8.8 SOA +short -t txt zhihu.com
Dieses Ergebnis sieht für mich gut aus:
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"
In der nächsten Sekunde, in der ich es ausführe, erhalte ich jedoch:
root@mx:/var/www/html/server# dig @8.8.8.8 SOA +short -t txt zhihu.com
;; Warning, extra type option
e4094fc1d98c915a.ksyunad.com.
Und das e4094fc1d98c915a.ksyunad.com
Ding stellt sich als ein CNAME-Eintragswert heraus aufwww.zhihu.comim DNS.
Was ist denn hier los?
Antwort1
Zunächst fordern Sie sowohl den SOA
als auch TXT
den Datensatz an. Die TXT
Abfrage wird gesendet und eine Warnung ausgegeben.
Das Hauptproblem besteht darin, dass die Domäne zhihu.com
falsch konfiguriert ist:
- Da es sich um eine delegierte Domäne handelt, benötigt
SOA
undNS
erfasst sie - Die Existenz eines
CNAME
Eintrags ist nicht mit fast allen anderen Einträgen kompatibel (außer DNSSEC).
Daher kommt es zu einem inkonsistenten Verhalten: Jeder DNS-Resolver kann diese Inkompatibilität nach Belieben auflösen. 8.8.8.8
ist eine Anycast-Adresse: Jedes Mal, wenn Sie eine Verbindung herstellen, handelt es sich möglicherweise um einen anderen Server.