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

postfix nur für internen LAN-Mailversand einrichten

Hallo,

ich möchte, dass meine Linux-Maschinen im privaten/internen LAN sich untereinander Mails senden können. Der Mailversand soll nicht über externe Anbieter erfolgen. So wie ich bisher verschiedene Artikel über postfix verstanden habe, sollte dieser dieses Szenario bewerkstelligen können. Gleich vorab die Frage: Geht das überhaupt den wirklich?

Hier im Forum habe ich den folgenden Artikel gefunden: Mail im privaten LAN von radiergummi.
Leider setzt dieser Artikel Kenntnisse voraus, die ich nicht habe, weil doch auch radiergummi schon sehr detaillierte/spezifische Fragen hat, sich mit der Materie gut auskennt und auf einer funktionierenden Konfiguration aufsetzt. Mir ist es leider nicht möglich, dass herauszufiltern, was ich benötige, um einen internen Mail-Versand aufzusetzen.

Folgende weitere Quellen habe ich bisher aufgetan, die mir aber bisher nicht wirklich weitergeholfen haben:

Was ich bisher eingerichtet habe:
Code:
# postconf -n
liefert derzeit folgendes (identisch auf allen anderen Linux-Maschinen in meinem Netzwerk, bis auf die Option myhostname):
Code:
alias_maps = hash:/etc/aliases
biff = no
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
content_filter =
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
defer_transports =
delay_warning_time = 1h
disable_dns_lookups = no
disable_mime_output_conversion = no
disable_vrfy_command = yes
html_directory = /usr/share/doc/packages/postfix-doc/html
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_command =
mailbox_size_limit = 0
mailbox_transport =
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains =
masquerade_exceptions = root
message_size_limit = 0
message_strip_characters = \0
mydestination = $myhostname, localhost.$mydomain
myhostname = linux-7n3z.homenet
mynetworks = 127.0.0.0/8, 192.168.178.0/24
mynetworks_style = subnet
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/packages/postfix-doc/README_FILES
relay_clientcerts =
relay_domains = $mydestination, hash:/etc/postfix/relay
relayhost =
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix-doc/samples
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
smtp_enforce_tls = no
smtp_sasl_auth_enable = no
smtp_sasl_password_maps =
smtp_sasl_security_options =
smtp_tls_CAfile =
smtp_tls_CApath =
smtp_tls_cert_file =
smtp_tls_key_file =
smtp_tls_session_cache_database =
smtp_use_tls = no
smtpd_banner = $myhostname ESMTP
smtpd_client_restrictions =
smtpd_delay_reject = yes
smtpd_helo_required = no
smtpd_helo_restrictions =
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = no
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_tls_CAfile =
smtpd_tls_CApath =
smtpd_tls_ask_ccert = no
smtpd_tls_cert_file =
smtpd_tls_key_file =
smtpd_tls_received_header = no
smtpd_use_tls = no
strict_8bitmime = no
strict_rfc821_envelopes = no
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_domains = hash:/etc/postfix/virtual
virtual_alias_maps = hash:/etc/postfix/virtual
Zu großen Teilen handelt es sich um die Standard-Konfiguration von openSUSE. Was ich bisher angepasst habe sind die folgenden Zeilen:
Code:
...
inet_interfaces = all   # alt: localhost
...
mynetworks = 127.0.0.0/8, 192.168.178.0/24
...
Damit funktioniert jedenfalls nicht der Versand von Maschine zu Maschine. Auf einer Maschine funktioniert aber ohne Probleme der Versand von User zu User. Was fehlt den grundsätzlich, damit ich von einer zu anderen Maschine Mails versenden kann? Wie muss das konfiguriert werden?

Gruß, Hengstenberg
 

spoensche

Moderator
Teammitglied
Wenn du Nachrichten von Rechner zu Rechner schicken willst, dann ist e-Mail schon mal nicht geeignet, weil e-Mails nur von Rechner zu Rechner gesendet werden, wenn der Empfänger nicht in der eigenen Domäne existiert.

e-Mail ist quasi wie die Post.

Beispiel:

Du schreibst einen Brief. Der Empfänger XYZ wohnt in Berlin und du in Köln. Damit du nicht selbst nach Berlin fahren musst, um den Brief beim Empfänger abzugeben (direkte Kommunikation, Ende zu Ende), beauftragst du die Post (Mail- Server) den Brief in den Briefkasten (Mail-Account von XYZ bei einem Provider)

Du willst aber eine direkte Kommunikation (Ende zu Ende, Rechner zu Rechner) umsetzen. Daher ist e-Mail für dein Vorhaben schon mal ungeeignet.

Du brauchst einen LAN internen Messenger, der ohne einen Server auskommt.

Ein paar Beispiele:

https://lanmessenger.github.io/

http://beebeep.sourceforge.net/

BeeBeep ist von der Funktionalität sehr Umfangreich.
 

marce

Guru
... und wenn er doch mail will? Gibt ja auch dafür durchaus Szenarien, die sinnvoll sind.

Wenn "etwas nicht geht" hilft meistens immer ein Blick in's Logfile.

Zudem geht dem "es geht nicht" ja wohl meist ein Versuch voraus, etwas zu tun. Zum Senden eine Mail gibt's da jede Menge Möglichkeiten. - welche hast Du denn versucht?

Aus beiden Informationen könnte man evtl. herausarbeiten, warum es denn nicht ging und entsprechend Abhilfe schaffen...
 
OP
Hengstenberg

Hengstenberg

Member
Danke für eure Antworten spoensche und marce.
Wenn du Nachrichten von Rechner zu Rechner schicken willst, dann ist e-Mail schon mal nicht geeignet, weil e-Mails nur von Rechner zu Rechner gesendet werden, wenn der Empfänger nicht in der eigenen Domäne existiert.
Ok, verstanden. Dann wäre also eine bessere Alternative diese, dass ich mit einem Mail-Client von Maschine A auf das Postfach 1 auf Maschine B zugreife? Maschine B ist ein LAN-interner Server für verschiedene Dinge (NFS, Samba, Medien, usw.). Auf Maschine B erhält root Mails von diversen Diensten (z. B. logwatch, ddclient), die dieser an einen beliebigen User oder Postfach, z. B. an Postfach 1, weiterleitet. Um auf dieses Postfach 1 auf Maschine B zuzugreifen, reicht es dann einfach aus, dass das Verzeichnis mit den Postfächern (/var/spool/mail/Postfächer) lesend und schreibend übers LAN erreichbar ist (also ein rw für other aufweist)?

Zudem geht dem "es geht nicht" ja wohl meist ein Versuch voraus, etwas zu tun. Zum Senden eine Mail gibt's da jede Menge Möglichkeiten. - welche hast Du denn versucht?
Ja, richtig. Versucht habe ich folgendes (aber nach der Erklärung von spoensche, konnte das nicht funktionieren):
Auf Maschine B habe ich von Postfach 2 eine Mail mit mail an Postfach 1 auf Maschine A verschickt:
Maschine A = linux-7n3z.homenet
Maschine B = linux-5h2s.homenet
Postfach 1 = mike
Postfach 2 = chief
chief@linux-5h2s.homenet schickt Mail an mike@linux-7n3z.homenet
Dieser Versuch des Versands wird umgehend vom Mailer-Daemon auf Maschine B behandelt mit der Fehlermeldung:
Code:
<mike@linux-7n3z.homenet>: Host or domain name not found. Name service error
    for name=linux-7n3z.homenet type=AAAA: Host not found

Wenn "etwas nicht geht" hilft meistens immer ein Blick in's Logfile.
Welches Logfile kann ich den konsultieren, wenn meine obige Vorgehensweise wider Erwarten funktionieren könnte?

Gruß, Hengstenberg
 

spoensche

Moderator
Teammitglied
Hengstenberg schrieb:
Um auf dieses Postfach 1 auf Maschine B zuzugreifen, reicht es dann einfach aus, dass das Verzeichnis mit den Postfächern (/var/spool/mail/Postfächer) lesend und schreibend übers LAN erreichbar ist (also ein rw für other aufweist)?

Wenn du auch nur weiterhin daran denkst, den Ordner für alles und jeden, mit Schreibrechten auszustatten, dann komm ich dir durch die Leitung und dann gibts Haue.

Wie rufst du den deine e-Mails ab per POP3 oder IMAP?

Folglich brauchst du auch noch einen POP3 und oder IMAP Server.

Wenn du einen Rechner als Mailserver auserkoren hast, dann brauchst du auf den anderen Maschinen keinen Postfix zu installieren, weil du dich von diesen Maschinen mit einem MUA (Mail User Agent) mit dem Server verbindest und verschickts.

Hengstenberg schrieb:
Fehlermeldung:
Code:
<mike@linux-7n3z.homenet>: Host or domain name not found. Name service error
    for name=linux-7n3z.homenet type=AAAA: Host not found

Der Postfix kann den Host bzw. Domainnamen nicht per DNS auflösen. Ein funktionierendes DNS ist für Postfix aber zwingend notwendig. Postfix überprüft anhand des Domain Namen, ob er überhaupt für die Mail zuständig ist, ob der User authentifiziert werden kann und auch User der eigenen Domain ist. Gleichzeitig überprüft er damit auch die Senderdomain. Wenn für die Senderdomain kein gültiger DNS-Eintrag vorhanden ist, dann akzeptiert der Postfix die e-Mail erst gar nicht.

Wie du siehst, ist ein: "mal eben einen Mailserver fürs LAN installieren, sicher zu konfigurieren und zu betreiben", eben nicht mal eben installiert und einfach ein HowTo auszuführen ist auch der falsche Weg, weil du nicht nachvollziehen kannst, wie der Postfix intern funktioniert, also wie die Mails verarbeitet werden usw.

Dir fehlt einiges an Grundlagen, die für die Installation, Konfiguration und den Betrieb eines Mailservers zwingend notwendig sind.

http://www.postfix.org/documentation.html ist eine gute Anlaufstelle. Mit der Architektur soltlest du beginnen, weil dort der komplette Kommunikationsablauf abgehandelt wird.
 
Oben