backup-mx (sendmail) und access-datei

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
mettwurscht
Posts: 14
Joined: 2003-02-13 19:20

backup-mx (sendmail) und access-datei

Post by mettwurscht » 2003-04-28 20:51

Hallo zusammen,

ich habe einen sendmail-backup-mx. Momentan sind die domains in der sendmail.cw definiert. Die mails werden dann vom primären mx beim backup-mx abgeholt. Das pass mir aber nicht. :) Trage ich also die domain in die access-Datei ein, dann nimmt die Kiste die mails an und leitet sie an den primären MX weiter. Trage ich eine email-Adresse ein, dann akzeptiert der backup-mx die mail nicht und bringt den fehler "relaying denied".

Woran liegt das?


Ciao
Markus

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: backup-mx (sendmail) und access-datei

Post by flo » 2003-04-29 15:31

Wenn Du auch den Backup-Mx zur Einlieferung von Mails (=relay) benutzt, musst Du eine Authentifizierungsfunktion benutzen, sonst kommt relaying denied. Ein Relay per Access-File zu öffnen, ist riskant und für den Produktivbetrieb nicht zu empfehlen.

Der Backup-MX soll doch nur die "letzte Meile" absichern, d.h. für den Ausfalls des ersten Mx ist im Nameserver noch ein zweiter Server definiert, der die Mails dann "aufhebt".

Grüße,

flo.

mettwurscht
Posts: 14
Joined: 2003-02-13 19:20

Re: backup-mx (sendmail) und access-datei

Post by mettwurscht » 2003-04-30 09:00

Hi,

der erste und der backup-mx sind nicht primär zum relayen gedacht, sondern um die mails für eine domain anzunehmen. Der backup ist eben so konfiguriert, dass er alle mails direkt an den ersten mx weiterleitet. Und das sollen eben nur die sein, die er annehmen soll. Auf beiden läuft auch auth. Das wird aber nur zum relaying benutzt - logischerweise.

Also zusammengefasst: Es geht nicht ums relaying, sondern um redundanz.


Gruß
Markus

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: backup-mx (sendmail) und access-datei

Post by flo » 2003-04-30 23:15

Hi,

Danke für den Hinweis ... nun gut, Redundanz ... ;-)

1) Sobald Du eine eMail-Adresse in den Backup-MX einträgst, geht Mail an diese Adresse in die lokale Zustellung und bleibt nicht in einer Queue hängen, um diese an dem Primary weiterzuleiten.

2) Wenn das gewünscht ist, müsste der User sich im Ernstfall entscheiden, von welchem Server er seine Mails abholt. So eine Lösung kann man nciht wie ein Kaninchen aus dem Hut zaubern - die sauberste Lösung heißt Load Balancing, die weniger saubere wäre Round-Robin-DNS.

3) Selbst wenn dann vier Server bereitstünden, die für den User Mails annehmen bzw. diese in lokale Postfächer zustellen, hättest Du das Problem der Replikation der Maildatenbank, und was passiert, wenn zwei Server gleichzeitig annehmen und ins Postfach schreiben?
ich habe einen sendmail-backup-mx. Momentan sind die domains in der sendmail.cw definiert. Die mails werden dann vom primären mx beim backup-mx abgeholt. Das pass mir aber nicht. Trage ich also die domain in die access-Datei ein, dann nimmt die Kiste die mails an und leitet sie an den primären MX weiter. Trage ich eine email-Adresse ein, dann akzeptiert der backup-mx die mail nicht und bringt den fehler "relaying denied".
Was passt denn bitteschön daran nicht, daß der Primary vom Backup die Mails "holt" - außer, daß dies genau andersrum ist, solange Du nciht fetchmail oder ETRN einsetzt? Der Weg des Eintrags in die Sendmail.cw ist durchaus richtig, aber ich verstehe nicht, warum Du hier mit der Access rummachst?
Der backup ist eben so konfiguriert, dass er alle mails direkt an den ersten mx weiterleitet.
Wie konfiguriert? Per Smarthost? Wenn die DNS-Einträge stimmen, brauchst Du das nicht - im Notfall wäre auch eher der Mailertable dafür zuständig.

Grüße,

flo.

mettwurscht
Posts: 14
Joined: 2003-02-13 19:20

Re: backup-mx (sendmail) und access-datei

Post by mettwurscht » 2003-05-01 10:47

Hi,
1) Sobald Du eine eMail-Adresse in den Backup-MX einträgst, geht Mail an diese Adresse in die lokale Zustellung und bleibt nicht in einer Queue hängen, um diese an dem Primary weiterzuleiten.
Genau so ist es momentan gelöst. Was mich an der Lösung stört ist, wenn sich eine Adresse ändert, dann muss ich das auf jedem MX einpflegen. Und einmal würde mir völlig genügen. Aber halt, die access-Datei müsste ich ja auch pflegen, da ich ja nicht die komplette Domain freigeben möchte.
Problem der Replikation der Maildatenbank, und was passiert, wenn zwei Server gleichzeitig annehmen und ins Postfach schreiben?
Geht das denn? Ich kann mir das nicht vorstellen.
fetchmail oder ETRN einsetzt? Der Weg des Eintrags in die Sendmail.cw ist durchaus richtig, aber ich verstehe nicht, warum Du hier mit der Access rummachst?
Wenn ich ja etwas in die sendmail.cw eintrage, fühlt sich der MX dafür zuständig und behandelt die Namen davor als lokale Benutzer und schmeisst sie eben nicht in die queue, so dass sie an mx-1 geschickt wird, sobald der wieder da ist. Wenn ich die Adresse dagegen in die access-datei eintrage, wird sie ja nur relayt und an den smarthost, der hier mx-1 ist, weitergeleitet, der sie dann letztendlich dem lokalen benutzer ins fach schmeisst.

Bei mir ist es so, dass ich mehrere Adressen einem Benutzer zuweise. Wenn ich da mit fetchmail arbeite, ändert es mir die Empfängeradresse. Und wenn die mail von amavis abgefangen wurde, sehe ich erstmal nicht, an welche "reale" Adresse die mail geschickt wurde. Ich fände diese Lösung einfach sauberer und noch automatischer ohne das ständige gefetche auf mx-2.
Wie konfiguriert? Per Smarthost? Wenn die DNS-Einträge stimmen, brauchst Du das nicht - im Notfall wäre auch eher der Mailertable dafür zuständig.
Nein. der backup legt sie erstmal in ein lokales postfach und der mx-1 holt sie dann per fetchmail. Ich hab mich da unklar ausgedrückt. Tschuldigung. :oops:

Es soll so werden, wie oben beschrieben. Und zwar bin ich einer der domain-auf-dsl-Nutzer. Ich hab einen kleinen Linux-Rechner als router und FW eingerichtet, der erstmal nix ausser das kann. Die mails werden per portforwarding auf den eigentlichen server geleitet und vom dortigen sendmail verarbeitet und auf Viren geprüft. Nun möchte ich den server aber nicht laufen lassen, wenn er denn unbedingt muss. Also soll nur der router laufen und mails annehmen, die er dann direkt an den mx-1 weiterleitet - sobald der eben wieder an ist. Und er soll auch nur die mails an Adressen annehmen, die es tatsächlich gibt. Denn ich will mir den Traffic sparen, wenn jemand halt mal so eine mail an eine Adresse schickt, die es nicht gibt, die aber erstmal angenommen wird, weil die domain in der access-Datei erstmal auf relay gesetzt. Ich möchte, dass der Einliefernde sofort ein User unknown bekommt und nicht erst später an eine evtl. nicht vorhandene Adresse gebounct wird.

Ich hoffe einfachmal, dass mein Anliegen jetzt einigermassen klar rüberkam. :) Es handelt sich nicht um einen echten backup-mx. Am echten backup-mx mache ich das per fetchmail. Und dort auch per sendmail.cw und virtualusers und amavis.


Grüßle
Markus