• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

postfix: catch all in virtuellen Domains läuft falsch

Status
Für weitere Antworten geschlossen.

apohl

Newbie
Hi,

ich habe hier ein Problem mit meinem Postfix 2.0.16.

Ich habe unter /etc/postfix/main.cf virtuelle Domains eingetragen:

virtual_alias_domains = domain1, domain2
mydestination = mail.domain1, mal.domain2

in /etc/postfix/virtual stehen dann folgende Einträge:

user@domain1 user_Account
@domain1 user_account2

Rasch die virtual.db schreiben lassen, ein postfix reload und .... alle mails (auch die an user@domain1) landen im Catch-All-Account.

Kommentiere ich den Catch-all-Account aus, dann funktioniert die Zustellung an den user-Account.

Ich versteh nur gerade nicht wieso .... wenn ich die Kommentierung in der Virtual richtig lese, werden die Eintragungen doch nach Priorität abgearbeitet; und Catch-all-Accounts haben eine niedrigere Prio als normale Adressen, oder ?

Achja, bevor jemand fragt; ich habs vorher auch mit dem klassischen Aufbau der virtual ohne Eintragung der virtual_alias_domains in die main.cf probiert, da wurden nur alle Nachrichten gebounced.

Hat jemand einen Tip für mich ?
 

dermichel

Advanced Hacker
also entweder oder:

mydestination und virtual_domains gehen nicht!


wenn virtual_domains gesetzt ist, musst du nur nach den "transport" angeben, aber nichts mehr in der vitual.db datei...

lass in der main.cf alles weg, und bearbeite nur die virtual.db...

normalerweise muesste der postfix in den logs meckern wenn beides gesetzt ist!
 
OP
A

apohl

Newbie
Hallo Michel,

er hat gemeckert, solange ich in mydestination die gleichen Einträge, wie in virtual_alias_domains. Dadurch, das in den Destinations jetzt aber mail.domain steht, motzt er nicht mehr.

Wenn ich Dich richtig verstehe, müßte ich wie folgt vorgehen:

Den virtual_alias_domains Eintrag kicken und die virtual.db nach dem Muster

domain.tld blahfasel
user@domain.tld user_account
@domain.tld user_account2

aufbauen ... das führt bei mir dazu, daß die Mails gebounced werden.

Den Hinweis mit der Transport-Tabelle verstehe ich jetzt gerade nicht... (kann aber auch sein, daß mir die 36 Grad hier im Bunker gerade das Hirn einschmelzen :) )
 

dermichel

Advanced Hacker
ahso - transport brauchst du nicht... das nutze ich hier um virtual-domains an andere MX'e weiterzuleiten.

eigentlich muesste folgendes vorgehen zum erfolg fuehren:


virtual_alias_domains = example.com
virtual_alias_maps = hash:/etc/postfix/virtual


/etc/postfix/virtual

user@domain address, address, ...
# Mail for user@domain is redirected to address.
# This form has the highest precedence.
@domain address, address, ...
# Mail for any user in domain is redirected to
# address. This form has the lowest precedence.





das postfix howto ist voll von beispielen:

http://www.postfix.org/VIRTUAL_README.html
 
OP
A

apohl

Newbie
hm,

womit wieder bewiesen wäre, daß ein HowTo nur so gut ist, wie der dümmste Leser intelligent ist :lol:

Ich werd mir heute abend mal einen VServer aufsetzen und das durchtesten ...

wenn ich nicht weiter komme schrei ich .... ansonsten schon mal Danke !
 
OP
A

apohl

Newbie
*rumschrei_und_hektisch_mit_den_armen_wink*

Ich habe das jetzt mal gemacht und zwei derzeit ungenutzte domains genommen, um das zu testen.

Ich füg erstmal ein, was ich wo konfiguriert habe:

/etc/postfix/main.cf:

Code:
 content_filter = smtp-amavis:ip_adresse:10028

inet_interfaces = ip_adresse
myhostname = mail.domain1.tld
mydestination= mail.domain1.tld
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = domain2.tld

/etc/postfix/master.cf:

Code:
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd 
#smtps	  inet	n	-	n	-	-	smtpd
#  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission	inet	n	-	n	-	-	smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
#qmgr      fifo  n       -       n       300     1       qmgr
qmgr     fifo  n       -       n       300     1       nqmgr
#tlsmgr	  fifo	-	-	n	300	1	tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp

#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

# amavis-D einbinden
smtp    inet     n     -     n     -     50     smtpd -o content_filter=smtp:ip_adresse:10028

ip_adresse:10029     inet     n     -     y     -     -     smtpd 
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=ip_adresse
        -o strict_rfc821_envelopes=yes
        -o smtpd_error_sleep_time=0
        -o smtpd_soft_error_limit=1001
        -o smtpd_hard_error_limit=1000
        -o virtual_alais_maps=hash:/etc/postfix/virtual          
        -o virtual_alais_domains=domain2.tld
        -o mydestination=mail.domain1.tld
        -o myhostname=mail.domain1.tld
        -o smtp_data_done_timeout=1200
        -o disable_dns_lookups=yes
		
smtp-amavis    unix     -     -     y     -     50     smtp 
  
        -o smtp_data_done_timeout=1200
        -o disable_dns_lookups=yes

/etc/amavisd.conf:

Code:
$mydomain = 'domain1.tld'; 

$myhostname = 'mail.domain1.tld';

/etc/postfix/virtual:

Code:
user@domain2.tld account
@domain2.tld sammelaccount

Im DNS ist für beide Domains mail.domain1.tld als MX definiert, "ip_adresse" ist in den Orginal-Dateien logischerweise eine echte IP.

Die Master.cf mag bezügl. der Konfiguration von Amavis etwas eigenartig aussehen, da der/die Server aber VServer auf einem Host sind, mußte das so angepasst werden.

Im maillog taucht Folgendes auf, wenn ich versuche mir eine Mail zu senden (an unser@domain1.tld und cc:irgendwas@domain2.tld):

Code:
Aug 11 09:39:49 vserver postfix/smtpd[19324]: connect from mail.gmx.de[213.165.64.20]
Aug 11 09:39:49 vserver postfix/smtpd[19326]: connect from pop.gmx.de[213.165.64.20]
Aug 11 09:39:49 vserver postfix/smtpd[19324]: ACB2E468035: client=mail.gmx.de[213.165.64.20]
Aug 11 09:39:49 vserver postfix/smtpd[19326]: B0DEB468036: client=pop.gmx.de[213.165.64.20]
Aug 11 09:39:49 vserver postfix/smtpd[19324]: ACB2E468035: reject: RCPT from mail.gmx.de[213.165.64.20]: 554 <user@domain1.tld>: Relay access denied; from=<andre_pohl@gmx.net> to=<user@domain1.tld> proto=SMTP helo=<mail.gmx.net>
Aug 11 09:39:49 vserver postfix/cleanup[19328]: B0DEB468036: message-id=<11760.1092209989@www46.gmx.net>
Aug 11 09:39:49 vserver postfix/nqmgr[19309]: B0DEB468036: from=<absender@gmx.net>, size=1463, nrcpt=1 (queue active)
Aug 11 09:39:49 vserver postfix/smtpd[19326]: disconnect from pop.gmx.de[213.165.64.20]
Aug 11 09:39:50 vserver postfix/smtpd[19333]: connect from unknown[ip_adresse]
Aug 11 09:39:50 vserver postfix/smtpd[19333]: 47A93468037: client=unknown[ip_adresse]
Aug 11 09:39:50 vserver postfix/cleanup[19328]: 47A93468037: message-id=<11760.1092209989@www46.gmx.net>
Aug 11 09:39:50 vserver postfix/nqmgr[19309]: 47A93468037: from=<absender@gmx.net>, size=1925, nrcpt=1 (queue active)
Aug 11 09:39:50 vserver postfix/smtpd[19333]: disconnect from unknown[ip_adresse]
Aug 11 09:39:50 vserver postfix/smtp[19330]: B0DEB468036: to=<sammelaccout@domain1.tld>, orig_to=<irgendwas@domain2.tld>, relay=ip_adresse[ip_adresse], delay=1, status=sent (250 2.6.0 Ok, id=18927-01, from MTA: 250 Ok: queued as 47A93468037)
Aug 11 09:39:50 vserver postfix/smtp[19334]: warning: mailer loop: best MX host for domain1.tld is local
Aug 11 09:39:50 vserver postfix/smtp[19334]: 47A93468037: to=<sammelaccount@domain1.tld>, relay=none, delay=0, status=bounced (mail for domain1.tld loops back to myself)
Aug 11 09:39:50 vserver postfix/cleanup[19328]: 6147A468036: message-id=<20040811073950.6147A468036@mail.domain1.tld>
Aug 11 09:39:50 vserver postfix/nqmgr[19309]: 6147A468036: from=<>, size=3625, nrcpt=1 (queue active)
Aug 11 09:39:50 vserver postfix/smtpd[19324]: disconnect from mail.gmx.de[213.165.64.20]
Aug 11 09:40:12 vserver postfix/smtp[19330]: 6147A468036: to=<absender@gmx.net>, relay=mx0.gmx.de[213.165.64.100], delay=22, status=sent (250 2.6.0 {mx018} Message accepted)

Ich für meinen Teil versteh mittlerweile nur noch Bahnhof...
 

dermichel

Advanced Hacker
deine master.cf (grad was amavis angeht) ist total verbollert :)

wieso traegst du dort amavis ein? pipe die mail an amavis auf localhost:10024 und gut issses... wozu der eintrag in der master,cf? zumal du dort wieder eine postfix instanz laufen laesst und dort mails entgegennimmst!

content_filter = smtp:[localhost]:10024

mit SMTP ist die uebertragungsart gemeint - kein port usw..


das muss ich mir mal in ruhe ansehen - z.z. fehlt mir dazu echt die ruhe...
am besten gehen wir das mal abends im chat auf channel linux-club.de durch!
 
OP
A

apohl

Newbie
zu meiner Ehrenrettung sei gesagt, daß ich das so in mehreren HowTo´s gefunden haben. Einige Sachen mußte ich aufgrund der Tatsache, daß der Server ein VServer ist, selbst anpassen.

Pipen an localhost geht nicht, da hier dann der VServer-Host angesprochen wird und nicht der V.

Ich werd versuchen, mich heute Abend irgendwann in den Caht zu schmeissen; hoffentlich kommt mir nichts dazwischen.
 
OP
A

apohl

Newbie
Guten Morgen Michel,

wenn ich ehrlich bin nein, trotdem danke....


Ich will gleich noch mal was ausprobieren; vieleicht bringt mich das ja weiter.
 
OP
A

apohl

Newbie
Moin,

ich habs jetzt .... entspricht zwar überhaupt keinem HowTo, aber hauptsache es läuft:

main.cf:
Code:
content_filter = smtp-amavis:IP_Adresse:10028

inet_interfaces = IP_Adresse
myhostname = mail.domain1.de

mydestination= mail.domain1.de, domain1.de, mail.domain2.de
virtual_alias_domains = domain2.de
virtual_alias_maps = hash:/etc/postfix/virtual

master.cf:

Code:
# amavis-D einbinden
smtp    inet     n     -     n     -     50     smtpd -o content_filter=smtp:IP_Adresse:10028 

IP_Adresse:10029     inet     n     -     y     -     -     smtpd 
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=IP_Adresse
        -o strict_rfc821_envelopes=yes
        -o smtpd_error_sleep_time=0
        -o smtpd_soft_error_limit=1001
        -o smtpd_hard_error_limit=1000
	-o virtual_alais_maps=hash:/etc/postfix/virtual
	-o virtual_alais_domains=domain2.de
        -o smtp_data_done_timeout=1200
        -o disable_dns_lookups=yes
		
smtp-amavis    unix     -     -     y     -     50     smtp 
  
        -o smtp_data_done_timeout=1200

DNS: MX ist jeweils auf mail.domain.de gesetzt.

In der amavisd.conf steht dann halt entsprechendes....

Trotzdem Danke für Deine Bemühungen !
 
Status
Für weitere Antworten geschlossen.
Oben