Exim unter Gentoo mit lokalen Netz und Dial-Up Verbindung

Ziel

Ziel ist es Exim als Mail Transfer Agent für ein lokales Netzwerk einzurichten. Dabei sollen lokale Adressen richtig umgesetzt werden und die Header richtig gestellt sein, sowie die richtigen Transports (Mailweiterleitungspfade) gewählt werden. Exim soll von außen nicht als Mail-Relay fungieren und AUTH-SMTP unterstützen.

Dabei ist folgende Ausgangssituation die Grundlage:

  • Es existiert ein lokales Netz ohne feste Verbindung zum Internet.
  • Die User haben innerhalb des Netzes lokale eMail Adressen, die im Internet nicht bekannt sind.
  • Ein Rechner innerhalb des Netzes fungiert als Mailserver.
  • Der Mailserver vermittelt lokale Mails und sorgt dafür, daß alle Mails, die aus dem lokalen Netz über das Internet verschickt werden, richtig aufgebaut sind und mit gültigen eMail – Adressen versehen sind.
  • Der Mailserver muss sich beim verschicken von Mail über AUTH-SMTP bei seinem Mail-Releay anmelden.

Installation

Beim Umstieg von einem anderen MTA wird dieser zunächst aus dem System entfernt.
Andernfalls erhält man eine Meldung das exim nicht installiert werden kann, weil es durch den „anderen“ MTA geblockt wird.
Die Deinstallation erfolgt durch anhalten des Dienstes und durch entfernen des Paketes.
Im Fall von qmail als beispielsweise mit

/etc/init.d/qmail stop
emerge -C qmail

Anschließend installiert man Exim mit

emerge exim

Konfiguration

Bevor die Details der eigentlichen Exim-Konfiguration beschrieben werden, hier die Liste der Dateien,
die wir anpassen oder erzeugen und die jeweilige Bedeutung:

/etc/exim/exim.confDie eigentliche Konfigurationsdatei von exim
/etc/mail/aliasesbeinhaltet die Mailaliases
/etc/exim/aliases_exinbeschreibt die Abbildung zwischen externen im Internet gültigen Mailadressen und den lokalen Mailadressen
/etc/exim/aliases_inexbeschreibt die umgekehrte Abbildung wie alias_exin
/etc/exim/asmtpbeinhaltet die Logindaten für AUTH SMTP
/etc/exim/systemfilterbeinhaltet den Filter zur Erzeugung gültiger Message-ID’s

Im Folgenden sind die Konfigurationsdateien aufgeführt und
mit entsprechenden Kommentaren versehen. Die Kommentare aus der exim Installation wurden
entfernt, um mehr Übersichtlichkeit zu erreichen. Die Datei exim.conf steht aufgrund ihrer Länge nur zum Download bereit.

exim.conf 1253 Downloads

/etc/mail/aliases:

MAILER-DAEMON: postmaster
postmaster: root
exim: root
root: some_non_root_user

Nachdem die Datei editiert wurde, muß die Alias-DB neu generiert werden.
Dies geschieht mittels des Kommandos newaliases.

Die beiden Dateien aliases_exin und aliases_inex beinhalten die Abbildung zwischen den echten, externen eMail-Adressen und den eMail-Adressen im lokalen Netzwerk. Exim ersetzt die lokalen Adressen durch
die externen Adressen, bei Versand ausserhalb des lokalen Netzes und die externen durch die lokalen Adressen bei Empfang einer Mail mit einer externen Adresse als Adressat.

Beispiele:
/etc/exim/aliases_exin:
george@web.de Georg@localdomain
judith@freeweb.de Judy@localdomain
/etc/exim/aliases_inex:
Judy Judith Musterfrau
Georg Georg Mustermann

Die Datei asmtp nimmt die Zugangsdaten zum Mailrelay bzw. dem SMTP Server über das Exim alle
Remote-Mails verschickt auf. Es ist dringend darauf zu achten, daß die Rechte dieser Datei auf 0600 stehen,
da sonst das Passwort eventuell für mehrere oder sogar alle User einsehbar ist.
Erreicht wird dies durch den Befehl

chmod 0600 /etc/exim/asmtp

Im folgenden Beispiel sind alle vier von exim unterstützen Authentifizierungsverfahren angegeben, da die Form wie User und Passwort einzutragen sind, von Fall zu Fall variiert.

/etc/exim/asmtp:

login ": smtpuser : meinpasswort"
plain "^smtpuser^meinpasswort"
craml smtpuser
cramp meinpasswort

In der Datei exim.conf wurde bereits auf einen Systemfilter verwiesen. Dieser setzt die richtigen Message-ID’s. Jede Mail die im Internet umher geschickt wird enthält eine Unique-Message-ID (zumindest sollte das so sein). Diese ID ist einmalig und eindeutig weltweit. Da das lokale Netz aber nicht direkt mit dem Internet verbunden ist und so Hostnamen, eMail-Adressen, IP-Adressen nicht eindeutig sein müssen, wird die Message ID durch exim verändert und so eindeutig gemacht.

/etc/exim/systemfilter

# Exim filter
# Prüfe ob diese Nachricht das erste Mal durch den Systemfilter läuft
# wenn nicht, ist die Message-Id schon eindeutig
if not first_delivery
then
finish
endif#
# ersetze die Message-ID
# host ist ein Rechner des lokalen Netzes und localdomain die lokale Domain
# Die Auswahl von someuniquedomain ist hier entscheidend.
# Elegant wäre, eine Domain zu verwenden, die man besitzt.
# Damit ist sichergestellt, daß die subdomain umi (Unique-Message-ID) niemals
# verwendet wird.
#
if "${if def:h_Message-Id: {yes}}" is yes and
${lc:${domain:$h_Message-Id:}} matches "host.\.localdomain" or
${lc:${domain:$h_Message-Id:}} matches "host." then
headers add "X-tmp-Message-Id:< ${local_part:$h_Message-Id:}@umi.someuniquedomain>\n"
headers remove "Message-Id"
headers add "Message-Id: $h_X-tmp-Message-Id:"
headers remove "X-tmp-Message-Id"
endif
Teile diesen Beitrag

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

:bye: 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
mehr...
 


Diese Seite verwendet Cookies. Mit der Nutzung von tuxlog erklärst Du Dich mit der Verwendung von Cookies einverstanden. Detaillierte Informationen über die Verwendung von Cookies auf dieser Website findest Du in der Datenschutzerklärung.

Nach oben scrollen