Wie am besten Mailserver auf auf anderen Server umziehen?

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Wie am besten Mailserver auf auf anderen Server umziehen?

Post by andreask2 »

Hallo!

Ich würde gerne einen Mailserver auf einen anderen Server umziehen, und überlege gerade, wie ich das möglichst unproblematisch machen kann. Das Problem dabei ist ja DNS. Selbst wenn ich vorher die TTL auf 1 Minute stelle, viele Provider halten sich da leider nicht dran, so dass

1. E-Mails für eine gewissen Zeit parallel an beide Server zugestellt werden, und

2. die User je nach verwendetem DNS-Server den einen oder anderen Server zum Mailversand / IMAP verwenden. Dadurch verschwinden dann z.B. gesendete Mails in IMAP, wenn nach ein paar Stunden auf die neue IP umgestellt wurde.

Wie macht Ihr das? Man kann den alten Mailserver ja auch schlecht nen Tag abschalten...

Was habt Ihr für Erfahrungen, wie lange dauert die DNS-Umstellung Eurer Erfahrung nach, und welche Provider richten sich nicht nach den TTL Werten (Telekom)? Wie macht man so eine Umstellung, die möglichst reibungslos verläuft?

Viele Grüße
Andreas
Top

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by Roger Wilco »

Ich würde das Mailsystem auf dem neuen System einrichten, die MX Records auf den neuen Server setzen und den MTA auf dem alten System dann so konfigurieren, dass dieser erhaltene E-Mails an den neuen Server weiterleitet. Das geht am einfachsten, indem dieser als Relayhost für alle E-Mails genutzt wird. Alternativ ginge auch eine Art Portforwarding von Port 25/587 vom alten auf den neuen Server mittels Netfilter oder rinetd und Konsorten.
Top

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by andreask2 »

20-30 Minuten, wenn Du die IP im DNS änderst? Das ist aber schnell!

War das nicht so, dass Mail-Server die Zustellung nochmal versuchen, wenn der SMTP nicht erreichbar ist? Dann geht halt nur das Abrufen nicht, oder nur wenn man kurzzeitig die IP verwendet oder /etc/hosts ändert.

Das heißt also etwa:
1. alten Mailserver komplett abschalten
2. DNS-Eintrag ändern
3. Übertragung der Daten

richtig?
Top

ren
Posts: 18
Joined: 2006-01-04 11:58
Location: Karlsruhe

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by ren »

Ich musste letztens einen Mailserver migrieren, bei dem es keine Downtime/verzögerte Zustellung geben durfte.
Nachdem der neue Server installiert und getestet ist, und ggf. die Mails per rsync kopiert:

1. auf dem alten Server xinetd installieren, stoppen, und /etc/xinetd.d/smtp anlegen

Code: Select all

service smtp
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        user            = nobody
        wait            = no
        redirect        = mx-new.example.com 25
        log_type            = FILE /var/log/smtp-redirect.log
        log_on_success      = HOST
        log_on_failure      = HOST
}

2. Finalen rsync auf den Neuen, dann

Code: Select all

/etc/init.d/exim4 stop && /etc/init.d/xinetd start

3. per tail an den redirect.log hängen (evtl. gleich durch logresolve pipen)

Jetzt kann man in Ruhe die DNS Einträge umbiegen, auch wenn sich manche Server nicht an eine kurze TTL halten, kommen alle Mails unverzögert an.
Auf dem neuen Server kann man dann im Mailserver-Log nachschauen, welche Mails über den Redirect reinkommen, falls man (kann bei vielen Domains passieren) noch einen mx Eintrag vergessen hat.
Nach einer Woche oder so kann man dann den alten Server abschalten. Bei mir kamen zwar immer noch Mails auf dem Alten rein, das war aber 100% Spam von nicht vertrauenswürdigen IP's. (-> logresolve)


Cheers,
Ren
Top

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by andreask2 »

Roger Wilco wrote:Ich würde das Mailsystem auf dem neuen System einrichten, die MX Records auf den neuen Server setzen und den MTA auf dem alten System dann so konfigurieren, dass dieser erhaltene E-Mails an den neuen Server weiterleitet. Das geht am einfachsten, indem dieser als Relayhost für alle E-Mails genutzt wird. Alternativ ginge auch eine Art Portforwarding von Port 25/587 vom alten auf den neuen Server mittels Netfilter oder rinetd und Konsorten.


Relayhost ist glaube ich eine gute Idee. Aber kann das sein, dass das mit qmail nur ohne Authentifizierung geht?

http://www.itbert.de/2007/04/01/qmail-u ... relayhost/

Oder verstehe ich das was falsch? Müsste ich da Zugangsdaten von irgendeinem Postfach des Mailservers verwenden?
Top

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by andreask2 »

Ren wrote:Ich musste letztens einen Mailserver migrieren, bei dem es keine Downtime/verzögerte Zustellung geben durfte.
Nachdem der neue Server installiert und getestet ist, und ggf. die Mails per rsync kopiert:


Das sieht schön einfach aus, allerdings läuft hier inetd, damit geht redirect glaube ich nicht, oder?
Top

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by Roger Wilco »

andreask2 wrote:Relayhost ist glaube ich eine gute Idee. Aber kann das sein, dass das mit qmail nur ohne Authentifizierung geht?

Ich kenne mich mit qmail nicht wirklich gut aus. AFAIK stimmt das aber, für eine Authentifizierung am Relayhost ist der Patch aus dem von dir verlinkten Blogeintrag nötig.
Allerdings dürfte das gar nicht nötig sein, da du ja nur E-Mails für Domains weiterleitest, für die der alte und der neue MTA zuständig sind. Es ist also überhaupt keine Authentifizierung notwendig. Im Zweifel könntest du den alten Server auch einfach auf eine Whitelist setzen, so dass Mails von diesem immer angenommen werden.

andreask2 wrote:Das sieht schön einfach aus, allerdings läuft hier inetd, damit geht redirect glaube ich nicht, oder?

Nein, inetd kann das nicht. Allerdings kann es das bereits genannte rinetd, wenn du xinetd nicht installiert hast und nicht mit iptables rumspielen willst. ;)
Top

User avatar
Joe User
Project Manager
Project Manager
Posts: 11518
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by Joe User »

matzewe01 wrote:-> Also was andere da mit Ihrem Caching haben und denen die sich nicht dran halten... Es gibt Dienste die das einfach beherrschen.

Bei der TLD org gibt es keine derartigen beschränkungen, bei de und anderen schon.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Top

ren
Posts: 18
Joined: 2006-01-04 11:58
Location: Karlsruhe

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by ren »

Das sieht schön einfach aus, allerdings läuft hier inetd, damit geht redirect glaube ich nicht, oder?

Was spricht dagegen, parallel zum inetd temporär den xinetd zu installieren, ist ja nur ein Befehl. Und zumindest bei Debian wir per default kein Port belegt und es verträgt sich problemlos mit allen anderen Daemons. Ich habe jetzt schon mehrere verschiedene Server (hauptsächlich HTTP) mit der Methode umgezogen und es gab nie ein Problem.

Cheers,
Ren
Top

snowball
Posts: 218
Joined: 2004-09-15 10:14

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by snowball »

Meine bisherigen Umzüge habe ich immer mit rinetd gelöst. Der einzige Nachteil hierbei ist, das im Logfile steht, das der Alte Server die Verbindung aufgebaut hätte und nicht der Client. Ist grade bei http nicht so schön, wenn das Logfile mit awstats ausgewertet werden soll.
Top

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by andreask2 »

Problematisch ist hierbei natürlich, wenn man nicht alle Domains gleichzeitig umziehen will, oder?

Außerdem sind das durchaus größere Datenmengen, das dürfte auch komprimiert irgendwas zwischen 10-20 GB sein. Und von dem VServer wo die Daten herkommen, kann man glaube ich nur mit 10 MBit übertragen. Das heißt, das würde schon mal mindestens 5-10 Stunden dauern. Was macht man in der Zwischenzeit? SMTP abschalten?
Top

timeless2
Posts: 416
Joined: 2005-03-04 14:45
Location: Paris

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by timeless2 »

erstmal in Ruhe alles rüberschieben ohne den Server umzustellen und dann kurz vor der Umschaltung ein differentielles Backup machen.
Top

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Wie am besten Mailserver auf auf anderen Server umziehen?

Post by Roger Wilco »

gewuerzwiesel wrote:Kann ich den Hostnamen für den Mailserver sowohl für die alte als auch die neue IP als PTR eintragen, so dass der zweimal vergeben ist?

Nein. Also technisch kannst du das sicherlich, aber es ist einfach völlig sinnlos und sogar kontraproduktiv.

gewuerzwiesel wrote:Zweite generelle Frage: Sollte der PTR exakt der Subdomain des Mailservers (z.B. mx1.hostname.de) entsprechen oder reicht es, wenn er auf die (Haupt-) Domain gesetzt ist (hostname.de).

Das ist im Wesentlichen egal. Es muss einfach konsistent sein, sprich die Auflösungskette PTR -> A -> PTR muss stimmen. Beispiel:

1.1.168.192.in-addr.arpa IN PTR example.com.
example.com. IN A 192.168.1.1
mail.example.com. IN A 192.168.1.1

Dabei kann sich der MTA problemlos als mail.example.com (192.168.1.1) melden, obwohl PTR Resource Record der IP-Adresse auf example.com verweist.
Top