Unterscheidet der Hostname zwischen Groß- und Kleinschreibung?

26

Unterscheidet der Hostname zwischen Groß- und Kleinschreibung? Ist

ping MYHOST

gleicht

ping myhost

Kommt es auf den verwendeten DNS an? Gibt es Unterschiede zwischen Win / Mac / Unix-Systemen?

Michelemarcon
quelle
2
Hier ist ein RFC. tools.ietf.org/html/rfc4343
Zoredache

Antworten:

24

Bei aus DNS aufgelösten Namen wird die Groß- und Kleinschreibung nicht berücksichtigt. Dies ist wichtig, um Verwirrung zu vermeiden. Wenn die Groß- und Kleinschreibung beachtet würde, hätten wir acht Varianten von .com (.com, .Com, .Com, .Com, .Com und .COM). Ländercodes hätten vier.

Wenn bei der Namensauflösung zwischen Groß- und Kleinschreibung unterschieden wird, erfolgt dies nicht über DNS.

BillThor
quelle
Es wird anscheinend etwas schwierig, nachdem internationalisierte Domainnamen hinzugefügt wurden. In Nicht-ASCII-Kontexten kann der Fall eine Rolle spielen.
Zoredache
1
@Zoredache: Es scheint, dass die internationalisierten Domains, die das IDNA-System verwenden, in Punycode codierbar sein müssen, was die Übersetzung in Kleinbuchstaben beinhaltet. Es gibt auch zusätzliche Einschränkungen, um sicherzustellen, dass die Namen visuell unterschiedlich sind. Außerdem möchten Sie Benutzer nicht dazu zwingen, sicherzustellen, dass sie die Sache richtig angehen.
BillThor
6

Ich hatte das gerade hier bei der Arbeit. DNS sollte die Groß- und Kleinschreibung nicht berücksichtigen. Der RFC gibt dies an. https://tools.ietf.org/html/rfc4343 aber sagt nicht, dass es Kleinbuchstaben sein MUSS.

Wir hatten das Vergnügen, einen Host zu finden, der die Probleme unserer internen Domain "t.local" nicht richtig gelöst hat.

p123$ ping p123-db.t.local
PING p123-db.t.local (192.168.106.175) 56(84) bytes of data.
....works ok

p123$ ping P123-dB.T.lOcal
ping: unknown host P123-dB.T.lOcal

Warum sollte man sich die Mühe machen, den gemischten Fall zu lösen? Denn genau das hat tcpdump als DNS-Abfrage angezeigt, weil die ausgeführte Software danach gefragt hat. pgbouncer wurde für die Verwendung von "p123-db" in seiner Konfiguration konfiguriert, und resolv.conf hat eine Suchdomäne von "t.local" angegeben.

Es stellte sich heraus, dass glibc den Fall zufällig gewechselt hatte. Der Prozess wird als "0x20-Auffüllung" bezeichnet und wurde erstmals 2008 unter "Verwendung von Bit 0x20 in DNS-Labels zur Verbesserung der Transaktionsidentität" beschrieben. Http://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00

Der Hauptzweck ist es, die Entropie so zu erhöhen, dass es schwieriger ist, eine Antwort zu fälschen - der Fall der Frage muss mit dem Fall der Antwort übereinstimmen.

Eine gute Diskussion finden Sie hier. https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


Unabhängig davon führen wir powerDNS intern aus und dies führt Suchvorgänge für eine Datenbank durch. Seit Jahren hat niemand einen Hostnamen oder FQDN in der Domäne t.local mit einem Großbuchstaben verwendet. Daher haben wir nie bemerkt, dass in unserer internen Domäne die Groß- und Kleinschreibung beachtet wird.

Wurde durch einige Optimierungen in der Abfrage behoben, aber dies hätte die 0x20-Lookups in gemischten Groß- und Kleinschreibung wie oben beschädigt.

Kurze Antwort : DNS sollte nicht zwischen Groß- und Kleinschreibung unterscheiden, aber die Frage und Antwort müssen in Zukunft identisch sein.

Criggie
quelle
2
Die Antwort 4 Jahre nachdem die Frage gestellt wurde, ist auf subtile Weise anders. Ich frage mich, in weiteren 4 Jahren wird die Antwort "Ja - DNS ist jetzt case sensitive" sein
Criggie
4

Ich habe gerade ein Problem auf einem eingebetteten SE Linux-Gerät behoben, bei dem die Auflösung des Hostnamens Groß- und Kleinschreibung betraf.

"ping MYHOST" würde auf 127.0.0.1 pingen, während "ping myhost" die richtige IP-Adresse pingen würde.

nslookup hat sowohl in Groß- als auch in Kleinbuchstaben zu korrekten Ergebnissen geführt, was darauf hinweist, dass der DNS-Server nicht fehlerhaft war.

Im Gegensatz zu nslookup, das den Cache ignoriert, geben "getent hosts MYHOST" "0.0.0.0" und "getent hosts myhost" die richtige IP-Adresse aus.

Nscd unterscheidet also offenbar zwischen Groß- und Kleinschreibung. Durch Aufrufen von "nscd -i hosts" zum Löschen des Caches wurde das Problem behoben.

Der MYHOST in (Großbuchstabe) wurde mit 0.0.0.0 zwischengespeichert, da vor dem Erstellen des DNS-Eintrags versucht wurde, eine Verbindung zu MYHOST herzustellen. Dies geschieht, wenn das Remote-Gerät seine DHCP-Zuweisung erhält.

Andrew Weimholt
quelle
0

Wie BillThor bereits erwähnt hat, wird bei der DNS- oder NetBIOS-Auflösung nicht zwischen Groß- und Kleinschreibung unterschieden.

Die verschiedenen Betriebssysteme haben auch kein Problem mit dem unterschiedlichen Gehäuse.

Möglicherweise sind sie den Anwendungen jedoch bekannt. Beispielsweise können die Webplattformen in den verschiedenen Umgebungen die Groß- und Kleinschreibung prüfen. Aus Gründen der Suchmaschinenoptimierung (SEO) ist es heute üblicher, auf unterschiedliche Schreibweisen und Weiterleitungen zu achten. Das hängt jedoch von der Anwendung ab. Die Antwort lautet also, dass sie unterschiedlich ist.

Zum größten Teil spielt der Hostname jedoch auch auf Anwendungsebene keine Rolle, wenn es um Groß- und Kleinschreibung geht.

Scott Forsyth - MVP
quelle