Vertieftes Auseinandersetzen mit DNS und Zonefiles...

  • Thread starter Thread starter Deleted member 14254
  • Start date Start date
D

Deleted member 14254

Guest
Hallo guten Morgen liebe Gemeinde :)

...eigentlich habe ich das DNS verstanden. Also Aufbau der Zone-Files mitsamt der "Verknüpfungs-Verfahren" durch A- AAAA- CNAME- und MX- Einträge... Nur je mehr ich darüber lese, umso mehr glaube ich mittlerweile schon an langsam einsetzende Paranoia :confused::o

Inetsite: http://wiki.hetzner.de/index.php/Mailserver_Hostnamen erklärt zwar sehr gut und verständlich folgendes:

Code:
Der MX-Eintrag muss wie man sieht nicht mail... oder smtp... lauten, diese Einträge sind eigentlich nur für die Konfiguration der Mailprogramme bei den Kunden sinnvoll. Die Einträge im Mailprogramm müssen mit dem MX-Eintrag in der Domain auch nicht übereinstimmen. So kann der MX-Eintrag wie im Beispiel "server3.super-duper-hoster.de" lauten, die Kunden tragen in Ihren Mailprogrammen aber beispielsweise "mail.grossefirma.de" ein. Um dies zu definieren, muss man noch die folgenden Einträge anlegen: 

www			IN	A	213.133.99.99
ftp			IN	A	213.133.99.99
smtp			IN	A	213.133.99.99
pop3			IN	A	213.133.99.99
mail			IN	A	213.133.99.99

Code:
Überlegenswert wäre allerdings die Vewendung von CNAME's statt A-Records. Ändert sich die IP-Adresse, dann müssen nicht alle Zonendateien manuell geändert werden, sondern lediglich der A-Eintrag für "server3.super-duper-hoster.de". Die Einträge würden dann so aussehen:

www			IN	CNAME	server3.super-duper-hoster.de.
ftp			IN	CNAME	server3.super-duper-hoster.de.
smtp			IN	CNAME	server3.super-duper-hoster.de.
pop3			IN	CNAME	server3.super-duper-hoster.de.
mail			IN	CNAME	server3.super-duper-hoster.de.

Bis hier ist alles sonnenklar... Begründungen einleuchtend.

Aber jetzt kommts: Nimmt man aber das Standardzonefile, hat man beispielsweise dann soetwas wie:

Code:
www			IN	A	IP-Adresse
ftp			IN	CNAME	www
smtp			IN	CNAME	www

Ich habe es so verstanden, das CNAMES == Aliase für einen Hostnamen sind...
...und genau das ist es, was mir irgendwie in diesem gerade genannten und folgendem Beispiel nicht gefällt:

Code:
localhost		IN	A	127.0.0.1
@			IN	A	213.133.99.99
server3			IN	A	213.133.99.99
 
[B]www			IN	CNAME	server3[/B]
ftp			IN	CNAME	server3
smtp			IN	CNAME	server3
pop3			IN	CNAME	server3
mail			IN	CNAME	server3
 
@			IN	MX 10	server3

In diesem Beispiel ist www ein Alias von server3. Im OBIGEN ALLERERSTEN Beispiel wird www mit einem A-Record an die Server-IP gebunden. Dies ist aber nach Hetzners-DNS-Regeln dann eine Sub-Domain, da man dort Sub-Domains im Zone-File der Haupt-Domain definiert, während er im letzten Beispiel lediglich ein Alias vom Server ist... Zudem gibt man einen Hostnamen mit einem A-Record bekannt:

Code:
Hostname
Dieser Name wird in der Zonendatei der Domain als A-Record definiert (die IP-Adresse ist nur ein Beispiel): 

server3		IN	A	213.133.99.99

Ich hoffe, ich hab EUCH jetzt nicht schon verwirrt ;) Mir will um nichts in den Verstand, das einmal und in ein und derselben Hierarchie von Erklärungen ein CNAME auf den Server und ein Anlegen einer Sub-Domain dassselbe sein soll/kann...:confused:

Noch eine Frage hätte ich, wenns mir gestattet ist, den endlospost noch länger zu machen... :rolleyes:

Code:
localhost IN A 127.0.0.1
loopback IN CNAME localhost

Es schreiben viele in Foren, das man soetwas absolut weglassen lann... bzw. weggelassen wird...

Sorry für den Endlospost... Ich möchte es nur gerne verstehen, bzw. wissen, ob Ihr es genauso seht...

Bedanke mich für Eure Worte :)
 
Last edited by a moderator:
Dies ist aber nach Hetzners-DNS-Regeln dann eine Sub-Domain, da man dort Sub-Domains im Zone-File der Haupt-Domain definiert, während er im letzten Beispiel lediglich ein Alias vom Server ist
Du kannst ein CNAME als vollwertige Subdomain sehen welche statt einer IP eine andere (Sub)Domain zum Ziel hat. (Ja, das nennt man halt Alias =D )
Ein CNAME muss uebrigens nicht ein Alias fuer die gleiche Domain sein, CNAME www.deinedomain.de kann zb auf google.de verweisen.

localhost IN A 127.0.0.1
loopback IN CNAME localhost
Es gibt nicht wirklich einen Sinn den Domainnamen localhost.deinedomain.de statt localhost zu verwenden, ausser dass letzteres kein FQDN (vollwertiger Domainname) ist.
Allerdings wird dort wo man es braucht eh ein oeffentlich erreichbarer Domainname verwendet wie SERVERNAME.deinedomain.de
 
Hallo d4f :)

Danke für Deine Erklärungen :) Das hab ich dann soweit verstanden, denke ich :rolleyes: Aber beim localhost/loopback...

d4f said:
Es gibt nicht wirklich einen Sinn den Domainnamen localhost.deinedomain.de statt localhost zu verwenden, ausser dass letzteres kein FQDN (vollwertiger Domainname) ist.
Allerdings wird dort wo man es braucht eh ein oeffentlich erreichbarer Domainname verwendet wie SERVERNAME.deinedomain.de

Hiesse, ich brauche:...

Code:
localhost IN A 127.0.0.1
loopback IN CNAME localhost

wirklich nicht unbedingt... Hatte schonmal bemerkt, das mir das Anführen von "servername.domain.tld" ebenfalls als "localhost" dient... Auf die Art und Weise rufe ich phpmyadmin auf...

Beispiel:

Code:
servername.domain.tld/phpmyadmin

wäre dasselbe als habe ich:...

Code:
localhost IN A 127.0.0.1
loopback IN CNAME localhost

MIT im Zonefile... und rufe so phpmyadmin auf:

Code:
localhost.domain.tld/phpmyadmin

Nur da man wie Du sagst sowieso über den ÖFFENTLICH erreichbaren "SERVERNAME.domain.tld" an "localhost" kommt, also beides sich wie ein und dasselbe verhält, kann ich es weglassen... Richtig?
 
CNAME-Einträge sind Aliases für andere A-Einträge (bzw. auch AAAA-Einträge), nicht für Hostnamen. Daher ist auch das hier völlig OK:
Code:
www			IN	A	IP-Adresse
ftp			IN	CNAME	www
smtp			IN	CNAME	www
CNAME-Einträge haben aber auch ein paar Nachteile: Jeder Lookup auf den CNAME-Eintrag zieht einen Lookup des A-Eintrags, auf den verwiesen wird nach sich. Außerdem können CNAME-Einträge nicht für MX verwendet werden.
Und der Vollständigkeit halber: MX-Einträge müssen immer auf einen anderen A-Eintrag (und ggfl AAAA-Eintrag verweisen), nie auf einen CNAME oder gar eine IP.
Dann das Thema localhost:
localhost.domain.tld/phpmyadmin würde bei deinem Zonefile den PHPMyAdmin auf deinem Server unter dieser Adresse auch nur von deinem Server aus erreichbar machen. Das kannst du aber auch ohne Zonefile per localhost/phpmyadmin erreichen. Und von jedem anderen PC würde localhost.domain.tld mit dem von dir angeführten Zonefile nie auf deinem Server landen.
 
Hallo danton :)

Danke für Deine Hilfe :) Eine Frage bezüglich localhost habe ich aber jetzt nach Deiner Erklärung:

danton said:
localhost.domain.tld/phpmyadmin würde bei deinem Zonefile den PHPMyAdmin auf deinem Server unter dieser Adresse auch nur von deinem Server aus erreichbar machen. Das kannst du aber auch ohne Zonefile per localhost/phpmyadmin erreichen.

Das würde aber meiner Meinung nach nicht den Server meinen, sondern meine lokale Installation auf diesem PC hier. localhost OHNE JEGLICHE Angabe einer Domain meint doch immer den "gegenwärtigen" PC. Also würde ich "localhost/phpmyadmin" in die Browserzeile schreiben, dann wird dieser meine lokale phpmyadmin-Installation auf dem PC meinen, von dem ich Dir gerade schreibe...

danton said:
CNAME-Einträge sind Aliases für andere A-Einträge (bzw. auch AAAA-Einträge), nicht für Hostnamen. Daher ist auch das hier völlig OK:
Code:
www			IN	A	IP-Adresse
ftp			IN	CNAME	www
smtp			IN	CNAME	www
CNAME-Einträge haben aber auch ein paar Nachteile: Jeder Lookup auf den CNAME-Eintrag zieht einen Lookup des A-Eintrags, auf den verwiesen wird nach sich.

Eine andere Variante, die ich nehmen könnte, um diesen Nachteilen vorzubeugen, wäre evtl:

Code:
www    IN A   IP-Adresse
mail     IN A   IP-Adresse ...usw...

...also alles als A-Eintrag zu machen... Bei mir wird ausser www lediglich VIELLEICHT(!) ftp kommen und mail. "mail" wird der mailhost sein, der später im Mail-Client-Programm benutzt wird.

Aquivalent zu freenet.de && gmx.net beispielsweise:

Domain: freenet.de
Subdomain: www.freenet.de
Mailhost(s): mx.freenet.de (extra das Beispiel von freenet.de, da bei denen Ausgang/Eingang von nur einem mailhost verwaltet wird (bei gmx.net sinds beispielsweise 2: pop.gmx.net/mail.gmx.net))
 
Last edited by a moderator:
Hallo danton :)
localhost OHNE JEGLICHE Angabe einer Domain meint doch immer den "gegenwärtigen" PC

Und wenn du einen Eintrag localhost in deinem Zonefile hast, der auf 127.0.0.1 zeigt, dann auch mit Domain. Dein localhost-Eintrag im Zonefile wäre also nicht eindeutig und sollte daher weg gelassen werden.

...also alles als A-Eintrag zu machen... Bei mir wird ausser www lediglich VIELLEICHT(!) ftp kommen und mail. "mail" wird der mailhost sein, der später im Mail-Client-Programm benutzt wird.

Da sich in der Regel ja die IP vom Server nicht oft ändert, hält sich die Änderung im Zonefile auch bei mehreren A-Einträgen in Grenzen ;-)
CNAME machen an einem Punkt immer Sinn, nämlich dann, wenn man auf einen A-Eintrag verweist, den man nicht kontrolliert und somit auch nicht sofort weiß, wenn sich die IP ändert (z.B. wenn man für seine Domain Google-Dienste wie Mail o.ä. nutzen will).
 
Danke Dir vielmals, danton :) Der Euro fällt nun schonmal 10-cent-weise und nicht nur centweise ;)

Eine Frage habe ich noch:

Angenommen, ich mache folgendes:

Code:
@			IN	A	213.133.99.99
servername		IN	A	213.133.99.99

www			IN	CNAME	servername
ftp			IN	CNAME	servername
mail			IN	CNAME	servername
 
@			IN	MX 10	servername

Dann wäre mein mailserver später "servername.domain.tld"

Mache ich soetwas:

Code:
@			IN	A	213.133.99.99
servername		IN	A	213.133.99.99

www			IN	A	213.133.99.99
ftp			IN	A	213.133.99.99
mail			IN	A	213.133.99.99
 
@			IN	MX 10	???

Die "???" hab ich extra so aufgeführt: HIER in diesem Beispiel, würde ich fast schon "???==mail" sagen. Denn hier gibt es keine "CNAME's" bzw. Aliases, die auf den "eigentlichen 'servername' zeigen...

Sorry, wegen der bohrenden Fragerei. Danach hab ichs begriffen. :o

EDIT:

Glaube, ich hab mir grade selbst schon geantwortet:

In beispiel 1 könnte ich auch mail.domain.tld verwenden später beim Mailserver, da dort mail ein "Alias" von "servername" ist?!
Unten kann ich dasselbe, wobei hier per A-Record mail auf "direkte" weise ein hostname meiner Domain ist... Genaudasselbe wie "www" und "ftp"...
/EDIT
 
Last edited by a moderator:
Der Eintrag für dem MX kann ein beliebiger A-Eintrag sein, prinzipiell ist es also egal, welchen du nimmst. Weil der MX-Eintrag auf einen Mail-Server zeigt, macht es natürlich Sinn, mail zu nehmen. Der MX mußt ja noch nicht einmal auf einen Eintrag in der gleichen Domain zeigen:
Code:
@  IN MX 10 mail.anderedomain.de.
Wenn du die vollständige Domain angibst, muß sie mit einem Punkt enden, damit dem DNS-Server das klar ist und er die Domain der Zone nicht mehr anhängt.
 
Okay, super, dann lass ich es so mit den A-Records stehen. Aquivalent dem 2ten Beispiel im letzten Post und lasse als MX-Record auf den A-Record "mail" zeigen. Super. Jetzt hab ich schon hundert mal mehr Durchblick als vor noch 2Stunden :o:rolleyes:

100000 mal Dank an Dich, danton :thumbsup:! Du hast mir sehr geholfen :)
 
Back
Top