postfix, virtuelle Domains ... wie bekomme ich das so umgesetzt?

darkside
Posts: 11
Joined: 2006-12-01 13:25

postfix, virtuelle Domains ... wie bekomme ich das so umgesetzt?

Post by darkside »

Hallo,

ich "lerne" nun schon einige Wochen Postfix und dessen Konfiguration, habe aber irgendwie Probleme meine "Idee" umzusetzen.

Also, der Server soll verschiedene Domains hosten. Über ein Script bekommen alle registrierten Domains auch entsprechenden zone-Files für den DNS angelegt. Das Template für die zone-Files enthält für alle Domains auch einen MX eintrag (wahrscheinlich der Grund, warum es nicht geht).

Postfix möchte ich nun über "virtual_mailbox_domains", "virtual_mailbox_maps" sowie "virtual_alias_maps" einige Domains und Postfächer so einrichten, das eben eMails empfangen werden können.

Aber eben nur EINIGE nicht alle. Ziel soll es sogar sein, Domains temporär vom eMail-Empfang auszuschliessen.

Meine Probleme:
* Versuche ich eine eMail an eine Domain zu senden, die Postfix nicht weiter bekannt ist (aber eben den MX DNS Eintrag hat), lehnt Postfix die Mail mit "mail for <domain> loops back to myself" ab.
* Versuche ich eine eMail an eine Domain zu senden, die zwar eMails empfangen kann, aber das Postfach nicht existiert, kommt ebenso "mail for <domain> loops back to myself"
* lege ich eine Domain innerhalb Postfix lahm, in dem ich sie aus der "virtual_mailbox_domain" Datei entferne (natürlich postmap / postfix reload), das Postfach ist aber weiterhin in der "virtual_mailbox_maps" eingetragen, wird die Mail empfangen und ins Postfach gelegt

Das verhalten der ersten beiden Punkte lässt sich verändern durch "best_mx_transport = virtual".
* Mail an eine Domain die empfangen soll, aber die Empfänger-eMail-Adresse existiert nicht: "unknown user: ..." (was super ist)
* Mail an Domain, die Postfix über seine "virtual_..." Einstellungen gar nicht kennt: "unknown user: ..." (schade, hier hätte ich eine andere Fehlermeldung erwartet, aber ist auch so OK)
* Mail an Domain, die zwar temporär ausgeschaltet (das heist, aus "virtual_mailbox_domain" entfernt) aber ein Eintrag in "...mailbox_maps" für die eMail-Adresse vorhanden ist: Mail wird zugestellt.

Ich habe so das Gefühl, das die "virtual_mailbox_domains" Einstellung ignoriert wird. Mails werden immer dann empfangen, sobal die entsprechende eMail-Adresse in der "...mailbox_maps" ist.

Bekomme ich meine Idee überhaupt umgesetzt, und wenn ja, kann mir wer nen Tipp zum suchen geben?

Danke
Andreas
Top

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

Re: postfix, virtuelle Domains ... wie bekomme ich das so umgesetzt?

Post by flo »

Gib doch mal einen Ausschnitt aus den virtual-Dateien - von mir aus á la "domain1,domain2" usw. - evtl. ist da ein Fehler drin?
Top

darkside
Posts: 11
Joined: 2006-12-01 13:25

Re: postfix, virtuelle Domains ... wie bekomme ich das so umgesetzt?

Post by darkside »

Hallo,

ich habe heute noch mal rumgespielt und konkretisiere das derzeitige Verhalten und Wunschverhalten :)

Gegeben:
domain1 (Hauptdomain): eMails sollen darüber empfangen werden.
domain2: eMails sollen darüber empfangen werden
domain3: eMails sollen nur temporär empfangen werden. Auschalten des Emfangs sollte durch entfernen in der "virtual_mailbox_domains" passieren
domain4: es sollen keine eMails empfangen werden können.

postconf -n (viele Einstellungen habe ich erst mal von einem postfix Buch übernommen):

Code: Select all

2bounce_notice_recipient = <lokaler User>
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
bounce_notice_recipient = <lokaler User>
bounce_size_limit = 50000
broken_sasl_auth_clients = yes
command_directory = /usr/postfix/usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/postfix/usr/libexec/postfix
debug_peer_level = 2
default_destination_concurrency_limit = 20
default_destination_recipient_limit = 50
default_privs = nobody
default_process_limit = 100
delay_notice_recipient = <lokaler User>
error_notice_recipient = <lokaler User>
html_directory = no
inet_interfaces = localhost, <ip1>, <ip2>
initial_destination_concurrency = 5
mail_owner = postfix
mail_spool_directory = /var/spool/mail/
mailbox_size_limit = 5368709120
mailq_path = /usr/postfix/usr/bin/mailq
manpage_directory = /usr/postfix/usr/local/man
maximal_backoff_time = 4000
maximal_queue_lifetime = 5d
message_size_limit = 52428800
minimal_backoff_time = 1000
mydestination = localhost
mydomain = <domain1>
myhostname = mail.<domain1>
newaliases_path = /usr/postfix/usr/bin/newaliases
notify_classes = bounce, 2bounce, delay, policy, protocol, resource, software
queue_directory = /var/spool/postfix
queue_minfree = 209715200
queue_run_delay = 1000
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP Mailserver
smtpd_error_sleep_time = 1s
smtpd_hard_error_limit = 20
smtpd_recipient_limit = 500
smtpd_recipient_restrictions = reject_unknown_recipient_domain, reject_non_fqdn_recipient, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_soft_error_limit = 10
soft_bounce = no
virtual_alias_maps = hash:/etc/postfix/virtual_alias
virtual_gid_maps = static:<gid>
virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_domains = /etc/postfix/virtual_domains
virtual_mailbox_limit = $mailbox_size_limit
virtual_mailbox_maps = hash:/etc/postfix/virtual_mbox
virtual_uid_maps = hash:/etc/postfix/virtual_uids static:<uid>
virtual_domains:

Code: Select all

domain1
domain2
virtual_alias:

Code: Select all

user1@domain1    user1@domain2
user1@domain3    user1@domain2
virtual_mbox

Code: Select all

user2@domain1    <Pfad zur Mailbox>
user1@domain2    <Pfad zur Mailbox>
user2@domain3    <Pfad zur Mailbox>
Zustand ohne "best_mx_transport":
  • Mail an MBox "user2@domain1": kommt an
  • Mail an MBox "user1@domain2": kommt an
  • Mail an MBox "user2@domain3" (Domain steht absichtlich nicht in der virtual_domains, da derzeit keine eMails empfangen werden sollen): Rückmail meines eMail-Servers mit "mail for <domain3> loops back to myself" (schlecht :()
  • Mail an Alias "user1@domain1": kommt an
  • Mail an Alias "user1@domain3" (wieder die Domain, die nicht in virtual_domains steht): kommt an ... soll aber nicht!!
  • Mail an Domain4 (egal welche Adresse): Rückmail meines eMail-Servers mit "mail for domain4 loops back to myself" ... Fehlermeldung soll zwar kommen, aber nicht diese
Zustand mit "best_mx_transport = virtual":
  • Mail an MBox "user2@domain1": kommt an
  • Mail an MBox "user1@domain2": kommt an
  • Mail an MBox "user2@domain3": kommt an ... soll aber nicht !!!
  • Mail an Alias "user1@domain1": kommt an
  • Mail an Alias "user1@domain3" (wieder die Domain, die nicht in virtual_domains steht): kommt an ... soll aber nicht!!
  • Mail an Domain4 (egal welche Adresse): Rückmail meines eMail-Servers mit "unknown user: <eMail-Adresse>".
OK, und nun zu meiner Wunschliste :):
  • ist die Domain Postfix in der "virtual_domains" bekannt, aber der User nicht, kommt "unknown user" zurück
  • ist die Domain nicht in der "virtual_domains" ... u.u. aber einige eMail-Postfächer bzw. Aliase in den entsprechenden Config-Files, soll in jedem Fall eine Meldung kommen, die so in etwas aussagt, das die Domain keine eMails empfangen kann/darf.
So, hoffe nun nicht allzu verschrobene Ideen zu haben und ihr habt für mich ein paar Hinweise, in welche Richtung ich weiter gehen kann (wenn es so überhaupt machbar ist).

Danke

Andreas
Top

curana
Posts: 20
Joined: 2002-10-17 10:36

Re: postfix, virtuelle Domains ... wie bekomme ich das so umgesetzt?

Post by curana »

Hast du dir mal überlegt Postfix mit MySQL-Backend zu betreiben? Dann wären die Abfragen wohl komfortabler zu handhaben und du kannst entsprechend Einträge aktivieren und deaktivieren.

Denk drüber nach :-)
Top

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: postfix, virtuelle Domains ... wie bekomme ich das so umgesetzt?

Post by adjustman »

ja, Postfixadmin wäre best. was für dich.
http://sourceforge.net/projects/postfixadmin/
Top

darkside
Posts: 11
Joined: 2006-12-01 13:25

Re: postfix, virtuelle Domains ... wie bekomme ich das so umgesetzt?

Post by darkside »

Hallo
Hast du dir mal überlegt Postfix mit MySQL-Backend zu betreiben? Dann wären die Abfragen wohl komfortabler zu handhaben und du kannst entsprechend Einträge aktivieren und deaktivieren.
Ja, natürlich hatte ich das am Anfang überlegt ... mich aber wg. der Idee, die ich versuche umzusetzen, für LDAP entschieden. Und auch da habe ich die Möglichkeit gezielt Enträge zu de-/aktivieren ... ein entsprechendes Attribut mit boolscher Eigenschaft vorrausgesetzt. Und das habe ich ja auch bisher immer gemacht ... mit o.g. Effekten. Ich konnte ja beobachten, das Postfix die LDAP Abfragen macht und dann entsprechend keine Antworten nach dem Deaktivieren bekommen hat ... nur schien er es schlicht zu ignorieren.

Aber es hat sich ja gelöst, das Problem. Ich habe die eMails an mich über meinen eigenen Mailserver (also, den Postfix) versucht zuzustellen. Man gab mir den Tip es mal mit googlemail, web.de, o.ä. zu versuchen ... und das klappt tatsächlich wie gewünscht. War wahrscheinlich eigene Dummheit und Unwissen :)

Dank Euch dennoch für die Antworten :)

Andreas
Top