• Sprache:

ClouDNS inklusive Secondary-DNS

Bis vor zwei Monaten habe ich all meine Domain-Records über CloudFlare verwaltet. Nicht weil ich mich um DDoS sorgen musste (OVH DDoS Protection sei dank) sondern weil deren Nameserver mir alles boten, was ich brauchte. Zusätzlich dazu hätte ich im Falle des Falles jederzeit den Traffic filtern lassen können, sollte doch mal einer meiner Untermieter einen Angriff forcieren.
Nachdem ich begonnen habe meine Private E-Mail Adresse selbst zu hosten, wollte ich auf Nummer sicher gehen und Secondary-DNS Server einrichten, damit im Falle von Unerreichbarkeit der primären Nameserver (durch welchen Grund auch immer) weiterhin gewährleistet ist. Leider bietet CloudFlare kein AXFR an, weshalb mir die gratis 6 Monate Premium bei ClouDNS (affiliate link!) in meinem Postfach sehr gelegen kamen. Also fix alle Domains akualisiert, die Records importiert und erst mal einen Freundenschrei ausgestoßen nachdem ich die Features von ClouDNS sah. Speziell das DynURL Verfahren ist im Vergleich zur CF Json API ja mal ULTRA praktisch!

Als Secondary-DNS Server sollen die von INWX herhalten. Nicht weil die die besten dafür sind sondern einfach weil alle meine Domains dort liegen und ich deren DNS dadurch automatisch schon mitbenutzen kann. Deren Wiki Artikel zum Thema Secondary-DNS erklärt sehr verständlich was auf Ihrer Seite zu tun ist. Präferierte ClouDNS und INWX NS eintragen und als Master IP die des Primary NS, welchen man bei ClouDNS im SOA definiert hat angeben.

Bei ClouDNS unter Zonen Transfer die IP des Transfer NS von INWX (steht im Wiki) zulassen und NS Records für die INWX NS anlegen.

Fertig!

Alles was verbleibt ist die Nameserver der Domains auf das neue NS-Set zu ändern und zu warten bis ClouDNS und INWX alles abgeglichen haben.
Nach einer Stunde habe ich dann via nslookup mal geschaut ob die INWX NS meine Records übernommen haben

nslookup craptalk.de ns.inwx.de
nslookup craptalk.de ns2.inwx.de

Wenn die NS von INWX korrekt auflösen und nicht über fehlende A/AAAA Records meckern hat der Transfer funktioniert und das Secondary-DNS steht.
Ich denke ich werde nach Ablauf der Gratis Monate bei ClouDNS bleiben. Das Angebot ist für den Preis von 22$ pro Jahr echt verdammt gut.

Bestehende Postfächer auf Uberspace abrufen

Ich habe mir kürzlich einen Uberspace zugelegt, um die Erreichbarkeit von einigen kritischen Services zu sichern. Unter anderem läuft mein Mailverkehr zukünftig nicht mehr über den Freemailer GMX, sondern über meine name.tld auf dem Uberspace. Zumindest in den ersten Monaten möchte ich allerdings weiterhin die Mails von meinen GMX Postfächern abrufen weil es immer irgendeinen Account gibt, den ich noch nicht umgestellt habe oder eine mir schreibende Person den Adresswechsel bisher nicht mitbekommen hat.
Fetchmail ist auf den Uberspaces nicht installiert, dafür aber das offenbar sogar bessere Getmail. Die Konfiguration ist trivial einfach und die vorhandene Doku mehr als ausgiebig.

Der Abruf meiner GMX Postfächer funktioniert und liefert alles in mein entsprechendes Maildir aus. Soweit so gut. Ich hätte aber gern Spam wie zum Beispiel die GMX Newsletter auch als solchen markiert und aussortiert und nicht in meiner Inbox. Getmails Filter-Option bringt mir leider nicht mehr als einen [SPAM] Tag im Betreff und DSPAMs potentielle Spamwahrscheinlichkeit im Header weil Getmail die Mails nur an die Filter weitergibt und wieder abholt. Einzige Verarbeitungsoptionen nach den Filtern wären dann drop oder keep was mir im Falle eines False Positives nicht erlaubt die Mail trotzdem zu sehen oder mir weiterhin dem Spam in die Inbox zustellt.

Mein Lösungsansatz ist die Mails nach dem Abrufen durch Getmail in den Uberspace Mailflow (in meiner Konfiguration netqmail -> maildrop -> SpamAssassin -> DSPAM -> Maildir) einzubinden. Dadurch würden sie ebenfalls die Filter durchlaufen aber danach von Maildrop auch entsprechend wegsortiert werden.
Getmail bietet als MDA qmail-local an was in der Theorie gut passen würde. Leider setzt Getmail einen Multidrop-Retriever für MDA_qmaillocal als Destination voraus und das trifft bei GMX/Web.de nicht zu.
Dies lässt sich aber einfach umgehen, indem man als Destination MDA_external mit selbst definierten qmail-local Parametern verwendet:

[destination]
type = MDA_external
path = /var/qmail/bin/qmail-local
arguments = ("-N", "unix user", "/pfad/maildir", "%(local)", ".qmail Trennzeichen", ".qmail-EXT bei virtuellen Postfächern", "%(domain)", "%(sender)", "alternative Zustelladresse")

Die Variablen (alles wo ein % vor steht) werden durch Getmail mit den erforderlichen Werten gefüllt. Der qmail-local Pfad ist natürlich nicht absolut und muss für die entsprechende Installation angepasst werden. Alles in den eckigen Klammern, muss mit euren gewünschten Werten gefüllt werden.
Ein Beispiel:

arguments = ("-N", "max", "/user/max/", "%(local)", "-", "max", "%(domain)", "%(sender)", "max@mustermann.tld")

Beim Mailabruf wird jetzt ganz normal qmail aufgerufen der dann nach der passenden .qmail-EXT (in unserem Beispiel .email-max) Datei sucht in welcher der Maildrop Aufruf zum Filtern und sortieren steht.

Mails kommen an und ich bin glücklich!