Wie erlaube ich Postfix zu relayen?

Menace

New Member
Hallo,
ich versuche seit einer Woche mein Postfix-Server zu konfigurieren. Ich habe mir sogar das Postfixbuch gekauft, aber anscheinent bin ich zu beschränkt um es zum laufen zu kriegen. Daher wende ich mich jetzt an euch.

Problem:
Mein Server ist unter einer Domain zu erreichen. Mail für diese Domain nimmt Postfix 2.3.3 auch an und legt sie in die User-Postfächer ab. Bislang ist keine Auth-Methode eingerichtet. Ein POP3/IMAP-Server ist noch nicht installiert.

Wenn ich nun Mails an meinen Postfix-Server schicke, die er nicht lokal zustellen kann, sondern weiterleiten soll, kommt es zur Fehlermeldung:
"554 Relay Access Denied"
Das Ziel der Weiterleitung habe ich mit:
relayhost = [mail.isp.net] auch definiert. Dieser Mail-Server meines Providers erfordert keine Authorisierung.

Welche Einstellungen muss ich zusätzlich noch tätigen, dass mein Postfix-Server alle Mails, die nicht seiner Domain entsprechen, auch relayed?

Wichtig ist mir erstmal das es funktioniert. Irgendliche Einschränkungen und Sicherheitsmechanismen kann ich dann später noch errichten.

Ich bin für jede Hilfe dankbar.
 
Last edited by a moderator:
Wenn ich nun Mails an meinen Postfix-Server schicke, die er nicht lokal zustellen kann, sondern weiterleiten soll, kommt es zur Fehlermeldung

Im Normalfall ist dieses Verhalten ja auch genau richtig, dass der MTA nur die Mails annimmt, für die er zuständig ist.
In wenigen anderen Fällen kann es sinnvoll sein, Ausnahmen zu erlauben. Daher solltest Du noch mal etwas genauer beschreiben, was Du erreichen willst, damit wir uns bei der Suche hier gleich in die richtige Richtung bewegen.

Ansonsten kann ich kaum glauben, dass der MX Deines Providers keine Authentifizierung erfordert. Wahrscheinlich erlaubt er das Relaying nur denjenigen Clients, die über die eigenen IP-Adressen des Providers kommen (die dadurch ja authentifiziert sind).:o Wenn Du von einer anderen IP kommst, wirst Du sicherlich keine Mails über diesen MX verschicken können.

Viele Grüße,
LinuxAdmin
 
> eigenen IP-Adressen des Providers kommen (die dadurch ja authentifiziert sind).
Richtig.

> Daher solltest Du noch mal etwas genauer beschreiben, was Du erreichen willst,

Ich möchte einen Mail-Server einrichten der im Grunde das tut was ein Mail-Server eines Providers tut nur das meiner an deiner DSL-Leitung zu Hause steht. Aus Client Sicht:
- POP3-Postfach mit Benutzerauthentifizierung
- SMTP-Server zum Versenden von Mails
+ dabei lokale Mailverteilung für die verschienenen eigenen Benutzer
+ automatisches Mail-Relay für Mails an "Nicht-eigene-Benutzer" an den SMTP-Server meines Providers, da ein direktes mailen mit dynamischer IP so gut wie unmöglich ist.

Mit der 30-Tage-Version vom Kerio-Mail-Server habe ich es schon zum laufen gebracht. Daher weis ich, das es gehen muss. Aber die Lizenzgebühr ist mir zu hoch. :(
 
Da Dein Mailserver ja in einem lokalen Netzwerk steht, kannst Du das Relaying allen Hosts in Deinem Netz erlauben:
Code:
# The mynetworks parameter specifies the list of "trusted" SMTP
# clients that have more privileges than "strangers".
#
# In particular, "trusted" SMTP clients are allowed to relay mail
# through Postfix.  See the smtpd_recipient_restrictions parameter
# in file sample-smtpd.cf.
#
# You can specify the list of "trusted" network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the "ifconfig" command.
# 
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don't do this with a dialup site - it would cause Postfix to "trust"
# your entire provider's network.  Instead, specify an explicit
# mynetworks list by hand, as described below.
#  
# Specify "mynetworks_style = host" when Postfix should "trust"
# only the local machine.
# 
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = host

# Alternatively, you can specify the mynetworks list by hand, in
# which case Postfix ignores the mynetworks_style setting.
#
# Specify an explicit list of network/netmask patterns, where the
# mask specifies the number of bits in the network part of a host
# address.
#
# You can also specify the absolute pathname of a pattern file instead
# of listing the patterns here. Specify type:table for table-based lookups
# (the value on the table right-hand side is not used).
#
mynetworks = 192.168.0.0/16
Bei mydestination trägst Du alle Deine lokalen Domains ein, für die Du empfängst. Bei relayhost trägst Du entsprechend
Code:
relayhost = [smtp.dein-provider.de]
ein, der dann den Rest, der nicht in mydestination steht, bekommt. Das sollte eigentlich schon reichen.

Viele Grüße,
LinuxAdmin
 
Erstmal danke. Es geht! Zum ersten mal :D
Der mynetworks eintrag war falsch. Mit 192.168.0.0/16 geht es, mit 192.168.0.0/24 geht es nicht. Den Hintergrund kenne ich nicht.

Was mache ich nun, wenn ich auf den Server über die dynamische IP vom Provider zugreifen möchte? (DSL-Router mit Portfreigabe ist eingerichtet.)
 
Was mache ich nun, wenn ich auf den Server über die dynamische IP vom Provider zugreifen möchte? (DSL-Router mit Portfreigabe ist eingerichtet.)

Das Stichwort lautet SMTP Auth. Alles weitere sollte dann über die Boardsuche zu finden sein.
 
Habe das selbe Problem. SMTP Auth läuft, SASL, alles wunderbar konfiguriert. Nur leider kann ich nur Mails versenden, wenn ich explizit meine T-Com IP unter "mynetworks" eintrage. Also auch Einträge wie "0/0" bringen die Fehlermeldung des Mailclients aus dem Startposting. Was kann ich unter mynetworks eintragen, damit ich eine ganze IP-Range erfasse und nicht nur meine aktuelle, dynamische IP?!
 
Wenn es nur funktioniert, solange Du Deine aktuelle Dyn-IP einträgst, wird das Relayen offensichtlich nicht erlaubt, weil eine Authentifizierung erfolgt ist, sondern nur weil in smtpd_recipient_restrictions "permit_mynetworks" drin steht...

Wie sehen denn bei Dir die relevanten Teile in /etc/postfix/main.cf aus?

Viele Grüße,
LinuxAdmin

PS: Du willst nicht wirklich allen Telekom-Kunden erlauben, über Deinen Server SPAM und Viren zu verschicken
 
Last edited by a moderator:
Hab jetzt mal permit_mynetworks raus genommen, das hat allerdings keine Änderung gebracht. Geht immer noch nicht.

Code:
smtpd_recipient_restrictions = permit_mynetworks, reject_unknown_recipient_domain, permit_sasl_authenticated, reject_unauth_destination, check_policy_service inet:127.0.0.1:12525

PS: Du willst nicht wirklich allen Telekom-Kunden erlauben, über Deinen Server SPAM und Viren zu verschicken
SMTP Auth funktioniert ja. Wenn ich z.B. meine eigene IP eintrage, allerdings andere Userdaten verwende, so wird der Versand abgewiesen. abuse.net/relay findet auch keine offenen Relays.


edit:
Hatte die Standardeinträge von
smtpd_tls_cert_file
und
smtpd_tls_key_file
noch nicht entfernt und diese waren somit doppelt gesetzt ;-)

Funktioniert jetzt einwandfrei.
 
Last edited by a moderator:
Back
Top