iceview schrieb:
Klar soll der Sender nur auf 25 senden. Die Ports sind z.B. bei unserer Firewall schon vorkonfiguriert (wenn man es nutzen mag) in die gängigen Services mit deren Portgruppen. Websurfing = 80+443 / Mail = 443+25+587+110 usw...sind in unseren Fall Sophos UTM 220.
80+443 für Web sind nur Zielports. Du unterschiedest leider nie zwischen Quell- und Zielport. Was mit "Klar soll der Sender nur auf 25 senden" gemeint ist, bleibt deshalb leider nebulös.
Zielport(also die Serverseite beim Verbindungsaufbau) beim Versenden einer Mail per SMTP ist 25. Der Quellport (Clientseite) bei diesem Versenden wird jedoch in aller Regel nicht 25 sein. Die TCP-Verbindung sieht also so z.B. so aus: SMTPclient:20000 <----> SMTPserver:25
Beim Websufen analog: HTTPclient:20000 <---> HTTPserver:80
(Die 20000 steht jeweils für "zufälliger Port größer 1023")
Man _kann_ auch den Quellport einer TCP-Verbindung auf was festes setzen, erntet damit aber die in meiner ersten Antwort genannten Einchränkungen. (nur 1 Verbindung gleichzeitig, man muß root sein wenn Port kleiner 1024)
Natürlich gehen die Geräte nur mit den Ports raus... sonst wäre ja eine Einschränkung der Verbindungen überhaupt nicht möglich.
Mit diesen Ziel-Ports, ja. Aber nicht mit diesen Quell-Ports.
Um die Unterhaltung sinnvoll zu machen:
1. Bitte nicht mehr nur von "Port" reden. Bei Paketen genau QuellPort oder Zielport unterscheiden. Da diese beim Antwortpaket genau vertauscht werden, ggf. sagen, von welcher Seite der Verbindung gerade die Rede ist.
2. laß uns die 2 Rechner Rechner Ubuntu und Mailserver nennen
Den hintere Teil deines Beitrags, wo du die beiden Varianten vergleichst, sagt mir nicht viel, weil zu vieles unklar ist. Ebenso die Gui-Screenshots. Ganz besonders ist unklar, was du bei
Wenn ich zusätzlich definiere Mailserver darf alles an Ubuntu Rechner (also einen Rückweg schaffe) --> dann geht es.
genau getan hast. Ich gehe davon aus, das du auf dem Mailserver diese Firewallregel ein/ausschaltest, richtig? Nötig wäre kein Zulassen von "alles an Ubuntu". Nötig wäre nur "Antwortpakete an Ubuntu für bestehende Verbindungen zum SMTP-Server" zuzulassen. Die Regel dafür würde man auf einer Linuxkiste sehr strikt etwa so formulieren:
iptables -A OUTPUT -o eth0 -p tcp --sport 25 -d ubuntu-ip -m state --state ESTABLISHED,RELATED -j ACCEPT
oder allgemeiner für die Testphase
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Was deine GUI-Firewall tatsächlich tut, ist aus den Screenshots nicht zu erraten, insbesonderen nicht was genau sie erlaubt, wenn deine "alles-erlauben-regel" nicht aktiv ist. Auf dem Mailserver kannst du für die fragliche Verbindung bei
eingehenden Paketen NUR auf Ziel-Port 25 prüfen und bei
abgehenden Paketen NUR auf Quell-Port 25.
Mein Tip, um die Ursache zu finden:
Log dich auf Ubuntu ein und verschicke von da mal manuell eine Mail via SMTP an den Mailserver. Dann siehst an welcher Stelle es klemmt und kannst besser auf Ursachensuche gehen. Du sagst also auf Ubuntu "telnet mailserver:25" und redest mit dem Mailserver SMTP. Nimm Mailadressen, die bei dir funktionieren sollen, nicht meine. Das sieht dann etwa so aus:
Code:
$ telnet mailserver:25
Trying 11.12.13.14...
Connected to mailserver.
Escape character is '^]'.
220 ESMTP server ready
HELO ubuntu
250 irgendeine nette antwort
MAIL FROM: absender@bla.com
250 OK
RCPT TO: empfaenger@bla.com
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
Das ist der Mailinhalt
.
250 OK
QUIT
221 mailsever closing connection
Connection closed by foreign host.
$
In meinem Beispiel lief alles glatt. Die Mail wurde vom Mailserver erfolgreich angenommen. Wenn das geht, sollte auch sendmail (bzw. der Sendmailersatz deiner Wahl, der sich nur aus Kompatibilitätsgründen "sendmail" nennt) aus dem Skript seine Mail an den Mailserver absetzen können.