Wie kann ich Großbuchstaben in meinen Domains haben (ähnlich wie Berkeley.EDU)?

7

Ich verwende NSD3 und versuche nicht, Großbuchstaben in meinen Domain-Namen zu haben.

Wie ist es möglich, Großbuchstaben in Ihrem DNS zu haben?

In verschiedenen OSS-Dokumentationen wird Berkeley.EDU häufig groß geschrieben, und ihr DNS wird bis heute groß geschrieben:

% traceroute www.berkeley.edu
…
15  t1-3.inr-201-sut.Berkeley.EDU (128.32.0.65)  168.794 ms  169.906 ms  168.714 ms
16  t5-5.inr-210-srb.Berkeley.EDU (128.32.255.37)  168.850 ms  168.912 ms t5-4.inr-210-srb.Berkeley.EDU (128.32.255.125)  168.886 ms

Und im Forward-DNS haben auch sie verschiedene Domänen großgeschrieben:

% dig @ns.cs.berkeley.edu. cs.berkeley.edu.
…
;; AUTHORITY SECTION:
cs.berkeley.edu.        86400   IN      NS      cgl.UCSF.edu.
cs.berkeley.edu.        86400   IN      NS      adns1.berkeley.edu.
cs.berkeley.edu.        86400   IN      NS      ns.cs.berkeley.edu.
cs.berkeley.edu.        86400   IN      NS      vangogh.cs.berkeley.edu.
cs.berkeley.edu.        86400   IN      NS      adns2.berkeley.edu.
cs.berkeley.edu.        86400   IN      NS      ns.EECS.berkeley.edu.
…
cnst
quelle
Warum versuchen Sie dies, da bei DNS-Einträgen normalerweise nicht zwischen Groß- und Kleinschreibung unterschieden wird? Warum spielt es eine Rolle?
Moshe Katz

Antworten:

13

Wie in der Dokumentation von NSD (an einem dunklen Ort in der Dokumentation ) vermerkt ,

NSD normalisiert Namen in Kleinbuchstaben.

Wenn Sie möchten, dass Ihre Namen in Groß- und Kleinschreibung angezeigt werden und alles, was Sie in die Zonendatei einfügen, erhalten bleibt, müssen Sie einen anderen Nameserver verwenden, z. B. BIND. Es ist immerhin der Berkeley Internet Name Daemon ...

Während es möglich sein kann, den NSD-Quellcode zu hacken, um die Groß- und Kleinschreibung beizubehalten, sollten Sie vorsichtig sein, da es möglicherweise nicht möglich ist, vorherzusagen, welche Fehler oder unbeabsichtigten Folgen eine solche Änderung haben könnte, und Ihr Nameserver einer davon ist Die letzten Orte, an denen mysteriöse Fehler auftauchen sollen.

Michael Hampton
quelle
2
Ganz zu schweigen von der Verzögerung, die durch das reibungslose Herausgeben von Sicherheitsupdates entsteht, insbesondere wenn die Patches zwischen den Revisionen unterbrochen werden. Weniger technisch gesehen möchte ich dies nicht einem neuen Manager erklären müssen, um zu begründen, warum in der Unternehmensinfrastruktur eine Reihe von benutzerdefinierten Patches ausgeführt werden.
Andrew B
7

Es scheint, dass Ihr DNS3-Server die Datensätze, für die er maßgeblich ist, entstellt (normalisiert). Schauen Sie sich den Quellcode http://www.nlnetlabs.nl/svn/nsd/trunk/dname.c an, insbesondere dname_make und DNAME_NORMALIZE, der nur tolower ist. Von http://www.nlnetlabs.nl/svn/nsd/trunk/dname.h

#if defined(NAMEDB_UPPERCASE) || defined(USE_NAMEDB_UPPERCASE)
#define DNAME_NORMALIZE        toupper
#else
#define DNAME_NORMALIZE        tolower
#endif

Es sollte ziemlich einfach sein, das SVN-Repository abzurufen, eine Änderung an dname.h vorzunehmen, neu zu kompilieren und dann das zu bekommen, was Sie wollen. Natürlich sind Sie dabei auf sich allein gestellt, um Unterstützung zu erhalten.


Wie Michael Hampton auf diese Funktion hinweist

const dname_type *
dname_make_from_packet(region_type *region, buffer_type *packet,
               int allow_pointers, int normalize)
{
    uint8_t buf[MAXDOMAINLEN + 1];
    if(!dname_make_wire_from_packet(buf, packet, allow_pointers))
        return 0;
    return dname_make(region, buf, normalize);
}

wird mit einem fest codierten Parameter aufgerufen, oder normalizeSie müssten ihn aufspüren und auch beheben.

user9517
quelle
4
Sie müssen einen anderen Teil des Codes hacken, wenn Sie dies tun möchten. Es gibt einen normalizeParameter in der dname_make_from_packetFunktion, der von packet.c aufgerufen wird und fest auf 1 codiert ist. Dann kommt man jedoch auf die Frage, ob Sysadmins überhaupt in Nameserver-Interna herumspielen sollten ...
Michael Hampton
3

Sie haben das einfach in ihrer umgekehrten Zone eingerichtet. Wenn Sie Traceroute .. es trifft die IP, dann fragt Ihr Resolver, was das Gegenteil für die IP ist .. es wäre so etwas wie

$ORIGIN 0.32.128.in-addr.arpa.
65     IN      PTR     t1-3.inr-201-sut.Berkeley.EDU.
Mike
quelle
Ich denke nicht, dass das die Frage überhaupt anspricht. Ich habe überall dort, wo sie in nsd3 erwähnt wurden, die richtige Groß- und Kleinschreibung verwendet, aber alle werden immer in Kleinbuchstaben angezeigt.
cnst
2
Es beantwortet es. Domain-Namen interessieren sich nicht für die Großschreibung - DD ist identisch mit dd. In vielen Fällen sehen Sie entweder die Rückseite oder Ihr Frontend entfernt nur Großbuchstaben - es handelt sich nur um eine Präsentation.
TomTom
Meine Frage ist speziell, wie mein Meister solche Hauptstädte nicht entfernen soll.
cnst
2
Bei RFC-Einträgen muss bei Groß- und Kleinschreibung nicht zwischen Groß- und Kleinschreibung unterschieden werden. Es wird nichts darüber gesagt, ob der Fall erhalten bleiben muss oder nicht. Unter Datengesichtspunkten wird dies nicht als signifikant angesehen, und ob der Fall verworfen wird oder nicht, ist implementierungsspezifisch.
Andrew B
Ich denke, der Server gibt zurück, was in der Aufzeichnung enthalten ist. Bei Abfragen wird jedoch nicht zwischen Groß- und Kleinschreibung unterschieden.
Shane Hsu