Bind9: MX

Also, ich habe von DNS echt keinen Schimmer, dass muss ich ja mal sagen.

ich bin mir nicht sicher, ob das eine Subdomain ist, was ich im Augenblick habe.

Folgendes Konstrukt:

Von Außen ist nur ein MX (mail.4lin.net) erreichbar. Mailman läuft auf einem Webserver, dessen MX nur intern Mails akzeptiert. Damit aber Mails liste@web.4lin.net empfangen werden können, gehen sie an den MX, der von Außen erreichbar ist, und leitet diese dann intern weiter. Das klappte auch, solang wie die IP web.4lin.net auf den externen MX (mail.4lin.net) zeigte. Nun aber zeigt web.4lin.net auf die IP vom Webserver (was gewollt ist). Da die Domain 4lin.net satte 3 Wochen für einen Umzug benötigte (wegen dem .net), blieb mir nur die Möglichkeit, die IP auf den MX zeigen zu lassen, um wenigstens Mail zu haben
Ich dachte, da für die Domain .4lin.net mail.4lin.net zuständig ist, sollte das ebenfalls klappen. Tut es aber nicht. GMX und Konsorten wollen die Mails bei web.4lin.net abliefern, obwohl die Mails ja eigentlich von mail.4lin.net empfangen werden sollten. web.4lin.net ist nur ein CNAME auf www.

Im Augenblick löse ich dieses Problem über eine IPtables Weiterleitung, was aber ein sehr häßlicher Workaround ist. Die Frage also, warum senden externe Mailserver die Mails für web.4lin.net nicht an mail.4lin.net ?

$TTL 86400
@	IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
		2007101300     ; serial
		14400          ; refresh
		1800           ; retry
		604800         ; expire
		86400 )        ; minimum

@                IN	NS	robotns3.second-ns.com.
@                IN	NS	robotns2.second-ns.de.
@                IN	NS	ns1.first-ns.de.

@                IN	A	78.47.171.131
localhost        IN	A	127.0.0.1
mail             IN	A	78.47.171.132
www              IN	A	78.47.171.131
ftp              IN	CNAME	www
imap             IN	CNAME	mail
loopback         IN	CNAME	localhost
pop              IN	CNAME	mail
relay            IN	CNAME	mail
smtp             IN	CNAME	mail
web              IN	CNAME	www
web              IN   MX 10    mail.4lin.net.
@                IN	MX 10	mail

Update

Wie mir scheint, ist web.4lin.net eine Subdomain geworden, in der Sekunde wo ich ihn für Mails verwendet habe. Daher habe ich mal den NS Eintrag ein wenig angepasst. In den nächsten 30 Minuten wird sich zeigen, ob das Müll war, oder …

Deine IP ist:
38.107.191.84

3 Kommentare

  • geschrieben am Oktober 13, 2007 um 14:34 Uhr | Permalink

    Du hast eine “net” Domain. Wer ist Nameserver für “.net”?

    kris@linux:~> dig net ns

    ;; ANSWER SECTION:
    net. 172716 IN NS i.gtld-servers.net.
    net. 172716 IN NS j.gtld-servers.net.

    Wer ist Nameserver für 4lin.net? Fragen wir also mal bei i nach:

    kris@linux:~> dig @i.gtld-servers.net. 4lin.net ns

    ;; ANSWER SECTION:
    4lin.net. 172800 IN NS ns1.first-ns.de.
    4lin.net. 172800 IN NS robotns2.second-ns.de.
    4lin.net. 172800 IN NS robotns3.second-ns.com.

    ;; ADDITIONAL SECTION:
    robotns3.second-ns.com. 172800 IN A 193.47.99.3

    Wie man sieht, kommen drei NS-Records und ein Glue-Record (ein A-Record, nach dem wir nicht gefragt hatten, der aber aus technischen Gründen in .net gespeichert ist) zurück.

    Fragen wir nun mal ns1.first-ns.de. nach dem A- und dem MX-Record für web.4lin.net.:

    kris@linux:~> dig @ns1.first-ns.de. web.4lin.net a

    ;; ANSWER SECTION:
    web.4lin.net. 86400 IN A 78.47.171.131

    Das ist gut – schon mal kein CNAME.

    ; > DiG 9.3.2 > @ns1.first-ns.de. web.4lin.net mx

    ;; ANSWER SECTION:
    web.4lin.net. 86400 IN MX 10 mail.4lin.net.

    ;; ADDITIONAL SECTION:
    mail.4lin.net. 86400 IN A 78.47.171.132

    Es kommt ein MX, und für den auch der A-Record und kein CNAME. Auch gut.

    Und in der Tat:

    h743107:~ # /usr/lib/sendmail -bt user@web.4lin.net
    user@web.4lin.net
    router = dnslookup, transport = remote_smtp
    host mail.4lin.net [78.47.171.132] MX=10

    sagt der exim dazu.

  • geschrieben am Oktober 13, 2007 um 16:19 Uhr | Permalink

    Wow, Danke Kris :-) Das muss ich mir gleichmal notieren. Das lässt sich wunderbar verwenden, für eine Menge Beispiele.

    Wie sieht es denn mit dem CNAME im allgemeinen aus? Ich habe gelernt, dass CNAME eigentlich totaler Mist es, denn er verursacht mehr Traffic, als nötig. Denn bei einem CNAME müssen ja zwei Schritte unternommen werden:
    1.) lookup auf den Namen, zurück kommt ein Alias auf Name2
    2.) Nochmals ein Lookup auf Name2 um nun auch die IP vom ursprünglich erfragten Namen zu erhalten.

    Da verwende ich doch lieber gleich einen A Eintrag mit der IP, statt einem CNAME. Es ist lediglich am Anfang mehr Tipparbeit. Sehe ich das Richtig?

  • geschrieben am Oktober 14, 2007 um 0:17 Uhr | Permalink

    Bei den CNAMEs kommt es drauf an. Wenn Du einen einzigen Rechner hast, der auf »www.example.com«, »ftp.example.com«, »mail.example.com« usw. hören soll, dann hast Du bei A-Records die IP-Adresse dreimal in Deiner Zonendatei und bei CNAMEs nur einmal. Was natürlich weniger Aufwand ist, wenn die IP-Adresse sich mal ändert. Und dank Caching kann es ja auch so aussehen, dass Dein Resolver sich etwas sagt wie »Was ist denn nun http://www.example.com … grübel, such … hmm, CNAME auf bla.example.com … oh, das A-Record hatten wir doch eben schon … 11.12.13.14«. Man kann das also nicht so schwarzweiß sehen.

    Wobei es natürlich Plätze gibt, an denen CNAMEs einfach nicht erlaubt sind. So müssen MX-Records auf Namen zeigen, für die es A-Records gibt, nicht nur CNAMEs.

    Anselm