PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Der Mail-Verdampfer (Mails kommen nicht auf dem Mail-Server an)



hurz
30.03.02, 16:34
Hallo miteinander

Ich habe einen ADSL-Anschluss mit einer fixen IP-Adresse. Hinter dem Zyxel-ADSL-Router stehen zwei Linux-Server: der eine für http (192.168.1.3) und der zweite für Mail (192.168.1.3). Der ADSL-Router leitet eingehende IP-Pakete des Ports 25 (SMTP) an den Mail-Server um. Der Namensserver zu meiner Domäne ist beim ADSL-Provider.

Mein erster Versuch, ein Mail an meine Domäne zu senden, führte gleich zu einem Fehler-Antwort-Mail des Names-Servers. Ich gab dabei die Adresse
postmaster@meineDomain.ch
ein.
Da die Fehlermeldung direkt vom Namens-Server kam, war mir klar, dass ich die Mail an
postmaster@mail.meineDomain.ch
schicken muss.

Seither erhalte ich keine Fehler-Mail mehr. Aber die Mail kommt auch nicht auf meinem Meil-Server an. postmaster ist übrigens in der ailas-Liste und verweist auf root. Die Mail wollte ich mir direkt auf dem Mail-Server mit dem Kommando mail anschauen. Aber ausser LogWatch-Mails ist nicht zu finden.

Weiss jemand, wie ich feststellen kann, ob die IP-Pakete der Mail überhaupt an meinen Mail-Server geleitet wurden?

Ich schaute mir mit tail -f folgende logs an:
/var/log/messages
/var/log/maillog
doch es erschien kein Anzeichen, dass überhaupt etwas auf meinem Server ankam.

Welche logs sind die richtigen und wie kann ich den Datenverkehr zu meinem Mail-Server überwachen?

Ich danke Euch für Eure Unterstützung

Hurz, aus der Schweiz

Elektronator
31.03.02, 13:04
Hallöli,

Zuerst solltest du mal nachsehen, wohin deine Mails eigentlich gehen.

nslookup
set querytype=mx
DeineDomain.ch
exit

Damit erhältst du die IP oder den DomainName, der bei deinem Provider-DNS für Email zu deiner Domain eingetragen ist. Das sollte erstmal dein Router sein. Dort hast du ja die Umleitung zu deinem Email-Server.

Der kann aber kaum dieselbe IP haben wie der HTTP-Server, oder?


Dann kannst du noch von deinem HTTP-Server aus einen telnet versuchen:

telnet DeineDomain.ch 25

Da sollte dein Email-Server antworten.


Mit iptraf hat man auch einen guten Überblick über Pakete.

Damit sollte erst mal klar werden, ob die mails überhaupt ankommen.

Grüße Chris

hurz
01.04.02, 21:20
Hallo Elektonator

Beim nslookup erhielt ich folgendes Resultat:

> set querytype=mx
> hurz.ch
Server: 192.168.1.2
Address: 192.168.1.2#53

Non-authoritative answer:
hurz.ch mail exchanger = 20 ns2.init7.net.
hurz.ch mail exchanger = 5 mail.hurz.ch.

Authoritative answers can be found from:
hurz.ch nameserver = ns1.init7.net.
hurz.ch nameserver = ns2.init7.net.
mail.hurz.ch internet address = 213.144.130.111
ns2.init7.net internet address = 212.55.195.90
ns1.init7.net internet address = 213.144.129.2
>
Tja, da es heisst, "Non-Authoritative", bin ich durch die Ausgabe verunsichert. Ich sehe auch, dass eine Namensserver meines ADSL-Providers als Mailserver angegeben ist (20 ns2.init7.net). Ansonsten denke ich, ist es korrekt, dass ich die Mails an postmaster@mail.hurz.ch schicken will.

<B>Zum Telnet</B>
ich habe von meinem Windows98-Rechner aus zwei Telnet-Versuche auf Port 25 gemacht. Einen mit dem telnet-Befehl aus dem DOS-Fenster und den anderen mit PUTTY. Ich verwendete dabei die LAN-Adresse meines Mail-Servers, da der Win98-Rechner und der Mail-Server im gleichen Netz stehen.
Laut PUTTY hat der Mailserver die Verbindung abgelehnt. Nun meine Frage: muss ich den Port 25 noch extra aufschalten? Genügt es nicht, dass der sendmail-Deamon läuft? Wenn es nötig ist, wie muss ich den Kanal aufschalten? Ich kenne xinetd nur flüchtig, daher wäre ich froh um Anleitung.
Ich hatte auf meinem Mailserver mal Firewall aktiviert, doch mit lokkit habe ich diese wieder aufgehoben.
Ich habe übrigens RedHat Linux 7.2.

Ich hoffe, du hast noch die Übersicht in meiner Flut von Fragen. Ichdanke Dir für Deine Unterstützung

Gruss

Hurz

Elektronator
02.04.02, 18:32
Hallo Hurz,

extra "behandeln" musst du port 25 nicht. Sendmail benutzt ihn standardmäßig. Auch mit /etc/hosts.allow, portmap oder xinet.d hat das nichts zu tun. Es kann höchstens noch eine Firewall den port blockieren (#iptables -L).

Das telnet MUSS erst gehen, sonst gibts keine chance, weiterzukommen.

Hast du auch die gleichen IPs (192.168.1.3) gecheckt? Tippfehler?

Von wo aus hast du die Testmail geschickt? Vom internen Netz? Das geht nicht, weil du keinen eigenen DNS hast. Die Auskunft deines Provider-DNS zeigt auf deine OFFIZIELLE IP, die dein Router von AUSSEN zum Email-Server umleitet. Deshalb kann von INNEN da nicht ankommen.

Zum Testen schickts du von intern eine mail an postmaster@192.168.1.3 oder (richtig) von extern eine mail an postmaster@mail.hurz.ch.

Grüße Chris

hurz
02.04.02, 20:53
Hallo Chris

Zu meinen Tests: Ich habe per Web-Mail von meiner bisherige E-Mail-Adresse aus an postmaster@mail.hurz.ch gemailt, also aus dem Internet und nicht aus dem LAN.

Wie du ja sagst, kann es nicht funktionieren, wenn man per telnet nicht über den Port 25 auf den Mailserver kommt. Das mit der falschen IP-Adresse ist nicht möglich, da ich mit Host-Namen arbeite.

Du meinst, dass ev. eine Firewall den Zugriff verhindert. Da ich vom LAN aus nicht über Port 25 auf den Mailserver komme, müsste diese also direkt auf dem Mailserver hocken. Ich hatte auf diesem Server mal die Firewall aktiviert, doch mit lokkit auch wieder aufgehoben. Da ich nicht weiss, welche Dateien von lokkit manipuliert werden, konnte ich nicht prüfen, ob die Firwall auch wirklich sauber aufgehoben wurde. Ich weiss nur, dass SSH, telnet und DNS einwandfrei funktionieren, denn mein Mailserver ist gleichzeitig auch noch mein interner DNS-Server für mein LAN (mit forwarder auf die DNS-Server meines ADSL-Providers).

Mit dem Befehl iptables -L erhielt ich folgendes Resultat:
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
woraus ich schliesse, dass ich die Firewall erfolgreich deaktiviert hatte.

Der sendmail-Deamon läuft auch wirklich, ich habs mit ps -u root geprüft und fand den Process sendmail.

Sollte Dir zu meiner obigen Schilderung noch irgend etwas auf- oder eingefallen sein, so bin ich natürlich dankbar um weitere Tips.

Danke für Deine Hilfe

Andreas

hurz
02.04.02, 21:06
Hallo Chris

Ich habe gerade vom Mailserver aus:
telnet localhost 25
eingegeben und das funktioniert. Es erscheint eine Antwort, die unter anderem ESMTP Sendmail enthält.

Doch wenn ich dasselbe von irgendeinem anderen Rechner im LAN auf den Mailserver versuche, kommt wieder "Connection refused".

Kann das ev an der Datei sendmail.cf liegen?

Gruss

Andreas

geronet
02.04.02, 22:20
Tach, bin der Bruder von Chris..



Sicher kann es an der Datei sendmail.cf liegen. Irgendwo hast du bei sendmail gespeichert dass nur localhost drauf zugreifen darf.



Prüfe folgendes:


Ob in der /etc/hosts.deny oder /etc/hosts.allow was drinsteht
Ob sendmail auch auf der IP-Adresse der Karte horcht mit "netstat -a" (dort sollte dann "*.smtp" stehen oder so)
Was in den logs steht, z.B. /var/log/messages, /var/log/mail usw.

hurz
03.04.02, 23:26
Hallo greonet

Heute morgen habe ich es mit meinem Arbeitskollegen angeschaut. Wir haben im sendmail.cf den Eintrag DaemonPortOptions gefunden, welcher nur auf localhost gesetzt war. Wir haben eine zweite Zeile hinzugefügt mit der LAN-IP-Adresse der Netzwerkkarte. Seither konnte mein Mailserver Mails empfangen, aber noch nicht verschicken.

Doch auch dieses Problem konnten wir lösen mit der Anweisung Dj. Da ich DM korrekt gesetzt hatte, stand ich erstmal vor einem Rätsel, weshalb mein Mailserver trotzdem unter dem Namen gnulp@localhost.localdomain mit dem Zielserver Kontakt aufnahm. Aber eben, google half uns weiter und wir fanden die Anweisung Dj.
Tja, mein sendmail-Wissen holte ich aus dem Buch "Linux Netzwerkadministration" von Jens Banning. Leider erwähnt er in seinem Buch nichts von den zwei heute gefundenen Anweisungen im sendmail.cf, obwohl diese nicht ganz unwichtig sind (auch für LAN, was er ja erklärt).

Als nächstes werde ich versuchen, den POP-Zugriff einzurichten. Danach werde ich mich damit beschäftigen virtuelle hosts im Zusammenhang mit sendmail einzurichten. Mal schauen, ob das überhaupt technisch möglich ist...

Ich danke Euch für Eure Hilfe.

Es macht echt Spass, linuxforen zu verwenden, wenn geantwortet wird!! Die Beiträge helfen weiter bei der Analyse der anstehenden Probleme.

Gruss

hurz

Elektronator
04.04.02, 17:56
Tip: Wenn ich etwas Spezielles suche, aber nicht genau weiss, wie der Parameter dazu heisst, verwende ich meist die Suchfunktion in der man-page. Damit habe ich fast immer Erfolg.

Grüße Chris

hurz
04.04.02, 22:17
Die Suchfunktion in der Man-Page? Ist das wie unter vi der '/'?

Ich arbeite am liebsten im Text-Modus, denn meine Linux-Rechner sind nicht die schnellsten. Wie muss ich die Suchfunktion in der Man-Page anwenden?

Gruss

Hurz

jensemann
05.04.02, 17:04
Hi
Ja, einfach '/' wie im vi.
Mfg jensemann