Ein Rekord VS. Cname Runde N.


7

Erfahrene DNS-Administratoren helfen mir bitte zu verstehen ...

Ich verwende einen kleinen DNS-Server in einer Entwicklungsumgebung, in der die Auflösung für höchstens 5 Domänennamen gleichzeitig ausgeführt wird. Meine Frage ergibt sich aus einer Diskussion hier: Was ist der Unterschied ...

Meine Frage lautet:

  • Was soll ich verwenden, wenn ich einen Domainnamen und mindestens eine Subdomain habe, die auf diese Domain verweist?

Eine Antwort lautet:

  • Ich behaupte, dass die geeignete Lösung hierfür die Verwendung von Cnames ist. Dadurch kann ich eine IP-Adresse einmal ändern und mehrere Hostnamen (die cnames) gleichzeitig beeinflussen. Dies wird mir helfen, die Dinge unkompliziert zu halten. Dadurch wird auch die Verwaltung von TTL-Datensätzen viel einfacher und zuverlässiger. Ich bin anfällig für Fehler, daher wird dies auch meine Chancen auf Fehler einschränken.

Eine andere Antwort lautet:

  • Andere argumentieren, dass Abfragen durch die Verwendung von A-Name-Datensätzen beschleunigt werden (ich argumentiere nicht unbedingt gegen diese Tatsache).

Ich weiß, dass beides funktionieren wird, aber die angenommenen Standards, die auf den RFCs für DNS basieren, lassen mich glauben, dass wir Cnames und A Names korrekt verwenden sollten und angemessen waren. Regeln können gebrochen werden, aber was bringt es, wenn Sie sich nicht auf sie verlassen können?

Bitte beantworten Sie diese Frage nur, wenn Sie einen großen DNS-Server betreiben oder Erfahrung damit haben. Ansonsten erwarte nicht, dass deine Meinung meine Meinung ändert . Mir wurde gesagt, dass alles eine Frage der persönlichen Präferenz ist und ich möchte, dass dies anders ist.

Vergib mir, wenn du glaubst, ich arbeite an einem sehr alten Punkt.

Antworten:


11

ok, die antwort ist in deiner frage versteckt:

... kleiner DNS-Server ... höchstens 5 Domainnamen ...

... Abfragen werden durch die Verwendung von A-Name-Datensätzen beschleunigt ...

Normalerweise werden DNS-Suchvorgänge selten durchgeführt und ohnehin in der App oder auf dem anfordernden System zwischengespeichert. Dieses Argument der Beschleunigung ist also nur hypothetisch.

Ich verwende eine relativ große DNS-Infrastruktur, die lokal mehrere tausend Hosts mit über 300 verschiedenen Domänen bedient.

Ich halte A-Aufzeichnungen auf ein Minimum und verwende CNAMEs, wann immer dies möglich ist und wann es logisch sinnvoll ist. Als Faustregel gilt: Ein Datensatz nur für die primäre Schnittstelle des Knotens und für den Knoten, für den ebenfalls eine umgekehrte Auflösung erforderlich ist. Alles andere (wie Dienste, die auf dem Server ausgeführt werden) ist ein CNAME.

Der Grund dafür, dass nicht mehrere A-Werte vorhanden sind, liegt auch darin, dass Sie einen entsprechenden PTR erwarten würden (allerdings keine Voraussetzung !!). Aber Sie können nicht, wenn Sie nur 1 IP haben.

mit anderen Worten:

name1 IN A IP1
IP1 IN PTR arpa.name1
name2 IN CNAME name1

ist ok, aber

name1 IN A IP1
IP1 IN PTR arpa.name1
name2 IN A IP1
IP2 IN PTR arpa.name2

ist nicht so (in der Tat möchten Sie nicht wirklich den letzten Eintrag haben!)

Aber andererseits ist es wirklich eine Frage des gesunden Menschenverstandes und der Präferenz, es gibt keine harten Regeln.


+1 für den Hinweis, dass der DNS zwischengespeichert ist (was unweigerlich dazu führt, dass "Sie den Cache geleert haben", warum ein Computer die alte URL lädt)
Patrick R

@pulegium - Ich werde dies wieder öffnen, um weitere Informationen zu erhalten.
Patrick R

5

Haben Sie einen ADatensatz für den primären (oder "Infrastruktur") Hostnamen des Servers.

Die darauf gehosteten Websites sollten dann CNAMEDatensätze verwenden, die auf diesen Hostnamen verweisen.

Die Ausnahme ist, wenn "nackte" Domainnamen (dh ohne www.oder ein ähnliches Präfix) funktionieren sollen. DNS-Regeln bedeuten, dass Sie normalerweise keine CNAMEfür diese verwenden können, was leider bedeutet, dass diese AEinträge stattdessen Einträge sein müssen , dh:

$ORIGIN example.net. ; host is in this domain
@      IN SOA ...
       IN NS ...
server IN A 192.0.2.1

$ORIGIN example.com. ; website is in this domain
@      IN SOA ...
       IN NS ...
       IN A 192.0.2.1 ; can't be a CNAME - other RRs already here
www    IN CNAME server.example.net.

Sie möchten Anmeldeinformationen? Siehe mein Profil ...


1
+1, um darauf hinzuweisen, warum cname-Regeln bei "nackten" Domainnamen nicht funktionieren. Das war mir noch nicht einmal in den Sinn gekommen.
Patrick R

Danke für die "bloße" Erwähnung. Ich denke, die einzige Möglichkeit besteht darin, eine andere Domäne zu verwenden, um Hosts zu benennen (z. B. machine1.example.net, machine2.example.net, machine3.example.net) und dann CNAMEs zu verwenden, um auf diese Computer zu verweisen (z. B. youtube). com -> machine1.example.net, flickr.com -> machine2.example.net), richtig?
Rafa

2

Ich bin mir nicht sicher, wie Sie ein "großes" DNS-System definieren. Ich habe an einem von ungefähr 30 und einem von ungefähr 50 gearbeitet.

Ich würde sagen, dass Sie diese Frage nicht für alle Setups genau beantworten können. Ihr Leistungsprofil, Ihre verfügbaren Ressourcen, die Häufigkeit, mit der Sie IP-Adressen aktualisieren müssen, und die verfügbaren Tools beeinflussen diese Entscheidung.

Ein Administrator, der versucht, die letzten Leistungseinbußen aus einem System herauszuholen, das selten die IP-Adresse ändert oder Zugriff auf ein Tool hat, um auf einfache Weise umfassende Änderungen vorzunehmen, hat eine andere Antwort als ein Administrator, der mehr Leistung als Zeit hat. Wie viele IP-Adressen und / oder Host-Computer Sie verwalten, kann sich auswirken. Die Bedürfnisse Ihrer Kunden können sich auswirken.

Persönlich verwende ich CNAMEs, wenn nur wenige Computer und eine große Anzahl von Domänen beteiligt sind. Wenn ich relativ wenige Domains pro Server habe, bevorzuge ich A-Einträge. Trotz Ihrer Implikation, dass es definitiv beantwortet werden kann, denke ich, dass es stark von der Situation, den Ressourcen und (ja) den persönlichen Vorlieben abhängt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.