einen lokalen Mailserver im LAN ankündigen über DNS-Server

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

einen lokalen Mailserver im LAN ankündigen über DNS-Server

Beitrag von pangu » 25.02.2012 16:12:16

Grüßgott miteinander,

ich hab einige Fragen offen, zu einem internen Mailserver im Firmennetzwerk und dessen Domain. Ich habe momentan meinen lokalen DNS-Server (BIND9) mit intranet.meinefirma.de konfiguriert, so heißt also meine Domäne im LAN. Das heisst ein Hostname lautet z.B. "arbeitsknecht" und sein FQDN lautet "arbeitsknecht.intranet.meinefirma.de". Die Mitarbeiter sollen jedoch E-mail-Adressen in dem Format "v.nachname@meinefirma.de" besitzen.
Ich habe einen lokalen Mailserver im LAN (lokmail.intranet.meinefirma.de) auf dem postfix+dovecot läuft. Er versendet ausgehende eMails nicht direkt, sondern leitet diese an meinen öffentlich Mailserver im Internet (extmail.meinefirma.de) weiter. Der wiederum kümmert sich um den Versand von den eMails zu den jeweiligen Empfängerdomains. Ich möchte dass alle vom internen LAN versendeten Nachrichten erstmal an den lokalen internen Mailserver gesendet werden (also zu lokmail.intranet.meinefirma.de).

Der postfix soll dann anhand der Empfängeradresse entscheiden:

a.) wenn die Empfängeradresse m.mustermann@intranet.meinefirma.de oder p.mueller@meinefirma.de lautet, dann behält er diese eMail im LAN und übergibt sie einfach an dovecot. Dovecot steckt diese Nachricht also in die Mailbox des virtual users. Der Mitarbeiter m.mustermann oder p.mueller ruft dann wie gewohnt über seinen IMAP/POP3-Client seine Nachrichten vom lokmail.intranet.meinefirma.de ab.

b.) wenn die Empfängeradresse ans öffentliche Internet gerichtet ist, z.B. info@externsite.com oder g_heinrich@handwerker.de, dann schickt der postfix des lokmail.intranet.meinefirma.de diese Nachricht weiter an seinen definierten relay, also an extmail.meinefirma.de. Der Postfix dort schickt dann die Emails raus, indem er die MX records von externsite.com und handwerker.de abfrägt, und an dessen Mailserver zustellt.

Meine Basisfragen hierzu sind:

1.) Ankündigung via DNS. wie kündige ich eigentlich meinen vorhandenen Mailserver in meinem LAN an ? ich muss doch meinen Clients erstmal beibringen, dass für sämtliche versendete Nachrichten der lokmail.intranet.meinefirma.de verwendet werden soll, oder? Löse ich das durch einen MX-Eintrag auf meinem BIND9-Server im LAN? Dazu muss ich also noch einen A record erstellen, oder? Wie müsste der Syntax richtigerweise aussehen?
mein BIND (hostname = nameserver.intranet.meinefirma.de ist wie folgt konfiguriert.

/var/cache/bind/zone.intranet.meinefirma.de

Code: Alles auswählen

$ORIGIN .
$TTL 604800     ; 1 week
intranet.meinefirma.de     IN SOA  nameserver.intranet.meinefirma.de. hostmaster.nameserver.intranet.meinefirma.de. (
                                2011012327 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                39600      ; minimum (11 hours)
                                )
                        NS      nameserver.intranet.meinefirma.de.
$ORIGIN intranet.meinefirma.de.
client1                  A       192.168.0.11
client2                  A       192.168.0.12
lokmailserver         A       192.168.0.222
mail                    CNAME   lokmailserver
Ich hatte einfach einen cname erstellt damit ich mit "mail" einen üblichen Namen für meinen lokalen Mailserver habe und einfach zu merken und weitersagen ist. Ich schätze mal das sollte ich aber jetzt ändern, da sowieso der MX-Eintrag reinkommt, oder?

/var/cache/bind/reversezone.192.168.0

Code: Alles auswählen

$ORIGIN .
$TTL 604800     ; 1 week
0.168.192.in-addr.arpa  IN SOA  nameserver.intranet.meinefirma.de. hostmaster.nameserver.intranet.meinefirma.de. (
                                2011012254 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                39600      ; minimum (11 hours)
                                )
                        NS      nameserver.intranet.meinefirma.de.
$ORIGIN 0.168.192.in-addr.arpa.
11                     PTR     client1.intranet.meinefirma.de.
12                     PTR     PC2.intranet.meinefirma.de.
52                      PTR     lokmail.intranet.meinefirma.de.
Wo und wie genau muss jetzt der MX-Eintrag reingesetzt werden? Ist mein Gedankenschritt überhaupt richtig oder muss ich das evtl. anders lösen? Ich möchte ja meinen Clients mitteilen, dass sie für Mails automatisch den lokmail verwenden sollen. Korrigiert mich falls ich mit diesem Arbeitsschritt falsch liegen sollte, und das komfortabler gelöst werden kann.

2.) postfix richtige Einstellung: In dem Zusammenhang mit den Domains intranet.meinefirma.de im LAN und meiner eigentlich Firmen-Domain meinefirma.de bin ich ebenso irritiert, wie ich das korrekterweise in meinem lokmail.intranet.meinefirma.de in der Postfix-Konfigurationsdatei main.cfg festlegen muss. Momentan habe ich folgende Werte:

/etc/postfix/main.cf auf dem lokmail.intranet.meinefirma.de

Code: Alles auswählen

[...]
myhostname = lokmail.intranet.meinefirma.de
mydomain = intranet.meinefirma.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relayhost = extmail.meinefirma.de
relay_domains =
mynetworks = 127.0.0.0/8 192.168.0.0/24
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
3.) wie krieg ich meine Linux-Hosts dazu, dass sie sämtliche Fehlermeldungen ,die sie normalerweise an den lokalen root-account der Maschine senden, einen Menschen erreichen? Diese Systemnachrichten sollen z.B. irgendwie zum admin@meinefirma.de gelangen.

Bin für jeden Tip und Hilfestellung sehr dankbar und wünsche allen ein schönes Wochenende.
Zuletzt geändert von pangu am 27.02.2012 00:44:48, insgesamt 1-mal geändert.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
me
Beiträge: 868
Registriert: 30.10.2005 00:14:23
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Re: einen lokalen Mailserver im LAN ankündigen und konfiguri

Beitrag von me » 25.02.2012 22:54:26

Uh so viele Fragen/Probleme in einem Thread, ich versuch mal mein Glück :)

1)
Falsch, der MX Eintrag ist dafür da, dass andere Server wissen an welchen Server sie eine E-Mail an *@example.com ausliefern sollen.
Einfach in dem Mailclient den MTA einstellen.
Also lass das Zonengefrickel, du machst da im Moment wohl eher mehr kaputt als richtig.

2)
Ein MTA liefert immer an den Smarthost/MX_der_Domain aus, wenn dieser nicht authoriativ für die Domain ist. Solange du in dem Fall postfix für die gewünschten Domains also nicht authoriativ eingestellt hast (einfach Domains zu mydestination hinzufügen in deinem Fall wohl) wird er den Server der unter IN MX example.com eingetragen ist kontaktieren.

3)
Bei cronjobs kannst du zB in crontab -e extra eine Zeile hinzufügen:

Code: Alles auswählen

MAILTO=foo@example.com
Ansonsten trag doch einen Forward ein:

Code: Alles auswählen

echo 'root: foo@example.com' >> /etc/aliases
newaliases
Anytime if we think we were right,
we were maybe wrong.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: einen lokalen Mailserver im LAN ankündigen und konfiguri

Beitrag von pangu » 26.02.2012 21:33:03

Hallo,

wie bringe ich also (rein hypothetisch) 100 Linux-Hosts dazu, dass sie ihre Systemmeldungen (Warnungen, Fehler, etc.) an eine natürliche Person versenden?

die /etc/aliases auf solch einem Host sieht wie folgt aus:
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: admin@meinefirma.de
Das heißt letztendlich wird alles an admin@meinefirma.de versendet. Woher weiß jetzt aber dieser Host, dass er solch eine eMail an lokmail.intranet.meinefirma.de weiterreichen soll? Wenn ich ihm das nicht beibringe, dann wird er ja versuchen einfach direkt die eMail zuzustellen. Er würde also den MX-Eintrag von meinefirma.de suchen, und als Ergebnis kriegt er die öffentliche Internet-Adresse meines Mailservers im Rechenzentrum :) Dann versucht er über seinen Default-Gateway (Internetrouter) die Mail direkt zuzustellen.

Das genau will ich ja vermeiden. Alle zu versendete Mails sollen über den vorhandenen Mailserver "lokmail.intranet.meinefirma.de" gehen. Daher war ja mein Gedanke, dass ich in meiner vorhandenen DNS-Zone irgendwie einen MX-Eintrag verwende á-la MX für *@*.* soll "lokmail" sein.

Wie soll ich denn nun erreichen, dass all die Linux-Hosts für ausgehende eMails den lokmail verwenden sollen?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
me
Beiträge: 868
Registriert: 30.10.2005 00:14:23
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Re: einen lokalen Mailserver im LAN ankündigen und konfiguri

Beitrag von me » 26.02.2012 21:40:13

Du kannst auch transport_maps einrichten, dabei sagst du dem lokalem Postfix, dass er E-mails an die Domain example.com an den Server 123.123.123.123 ausliefern soll.
Simpelster Weg wäre in die main.cf den Eintrag hinzuzufügen/editieren:

Code: Alles auswählen

transport_maps = hash:/etc/postfix/transport_map
Dann ein:

Code: Alles auswählen

echo 'example.com :123.123.123.123' >> /etc/postfix/transport_map
postmap /etc/postfix/transport_map
Anytime if we think we were right,
we were maybe wrong.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: einen lokalen Mailserver im LAN ankündigen und konfiguri

Beitrag von pangu » 26.02.2012 22:47:15

Du scheinst mich nicht verstanden zu haben :) ich möchte nix an meinem Postfix umstellen, wozu auch? Es geht um die Hosts im LAN. Ausserdem müsste dann ja wohl bei den Linux-Clients in deren Mailprogramm was umgestellt werden, oder nicht? Ich hab z.B. Debian-Squeeze überall installiert. Da wird defaultmässig exim4 als Mailer verwendet. Müsste ich also nicht in deren Konfig irgendwo reinschreiben, dass zu sendende Mails an den lokmail.intranet.meinefirma.de weitergeleitet werden sollen? Dazu führe ich auf dem Host einfach aus "dpkg-reconfigure exim4-config" und gebe als relay-host den lokmail.intranet.meinefirma.de ein. Muss ich das bei 100 Clients händisch durchführen? Ich dachte evtl. kann man jedem Host automatisch irgendwie beibringen, welchen Mailserver er nutzen soll ...

schön wärs, wa? :)
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Antworten