Einrichten eines SMTP-Relais, das hin und her geht

551
cyllos

Ich habe einen Postfix-SMTP-Server, der zu Hause ausgeführt wird und aufgrund einer ISP-Einschränkung keine E-Mails senden oder empfangen kann. (kein eingehender Port 25 oder ausgehender)
Ich habe ein VPS mit einer öffentlichen IP-Adresse, über die ich meine Heimatmails an das Internet weiterleiten möchte.

Es sollte so aussehen:
Mail empfangen: Internet> VPS Relay> Homeserver
Mail senden: Homeserver> VPS Relay> Internet

Es gelang mir, ein ausgehendes Postfix-SMTP-Relay erfolgreich einzurichten, das funktioniert. Das Problem ist jetzt das Empfangen von E-Mails: Wenn ich dem Relay mitteilte, eingehende Mails an meinen Home-Server zu senden, funktioniert es, aber es sendet auch alle ausgehenden E-Mails an meinen Home-Server (der sie an das Relay zurückschickt, das sie zu mir nach Hause sendet, ...)

Ich habe versucht, einen SSH-Tunnel zu verwenden, um eingehende E-Mails von meinem VPS an meinen Heimserver weiterzuleiten. Dies funktionierte, machte es jedoch zu einem offenen Relay. (Die Anfragen kamen von localhost, also war alles erlaubt)

Das einzige, was ich wissen muss, ist, wie man postfix sagt, eingehende Mails an meinen Home-Server zu senden und ins Internet zu gehen, aber ich konnte es nicht finden.

Danke für einen Blick!

Home-Server-relevante Konfiguration: postconf -n

myhostname = [*homeservers public dns name*] mynetworks = 127.0.0.0/8, [*my public relay's IP*]/32 mynetworks_style = subnet myorigin = $myhostname relay_domains = $mydestination relayhost = [*my public relay's domain name*]:587

VPS-Server-relevante Konfiguration: postconf -n mydestination = localhost myhostname = [*VPS public dns name*] mynetworks = 127.0.0.0/8, [*home server public ip*]/32 mynetworks_style = subnet relay_domains = soft_bounce = yes transport_maps = hash:/etc/postfix/transport

2

2 Antworten auf die Frage

1
davidgo

Das Problem ist, dass Sie nicht "Mydestination" festgelegt haben. Es wird also standardmäßig der Wert meines Hostnamens verwendet, und nicht der Domänenname, für den Sie E-Mails empfangen möchten, und lehnt andere E-Mails als nicht lokal ab.

Soll ich dann meine VPS auf meine VPS setzen? Mein Relay führt Relay-Mails durch, das einzige Problem ist, dass ausgehende Mails ebenfalls an den Home-Server weitergeleitet werden, der sie an meine VPS usw. zurücksendet. cyllos vor 5 Jahren 0
Nein, Sie sollten es auf Ihrem Heimserver einrichten, da dies der Server ist, der E-Mails lokal verarbeiten muss. davidgo vor 5 Jahren 0
Danke für das Helfen, aber das Einstellen macht keinen Unterschied. Ich kann entweder E-Mails empfangen, aber nicht senden oder E-Mails senden, aber nicht empfangen, je nachdem, ob mein Relay E-Mails an meinen Home-Server sendet oder nicht. Wenn ich die Weiterleitung von E-Mails an meinen Home-Server aktiviere, wird alles dort ausgeführt, nicht nur eingehende E-Mails, sondern auch die ausgehenden E-Mails. cyllos vor 5 Jahren 0
Was enthält / etc / postfix / transport und was sind die Zeitstempel für / etc / transport und /etc/transport.db? davidgo vor 5 Jahren 0
Es enthält * smtp: [homeserver ip]: 587 cyllos vor 5 Jahren 0
Dies ist Ihr Problem. Gemäß http://www.postfix.org/transport.5.html sollte dies Ihre Domäne sein. Name smtp: [Heimatserver-IP]: 587, da Sie nur E-Mails an Ihre Domäne senden möchten dieser SMTP-Server - nicht alle E-Mails. davidgo vor 5 Jahren 0
0
cyllos

Ich habe eine Lösung gefunden!

Für diejenigen, die sich fragen: Ich habe einen zweiten Postfix-Server auf demselben Host hinzugefügt und einen zum Empfangen und einen zum Senden von E-Mails verwendet.

Gut gemacht, eine Lösung zu bekommen - aber Sie brauchen (oder wollen meiner Meinung nach) nicht 2 Server auf einem System. davidgo vor 5 Jahren 0
Ich weiß, es ist nicht die beste Lösung, aber im Moment ist das gut genug. Wenn jemand eine bessere Lösung kennt, lass es mich wissen cyllos vor 5 Jahren 0
Befestigen Sie Ihren Transporttisch wie oben! davidgo vor 5 Jahren 0
Danke fürs Helfen. Das Festlegen auf dem Heimserver macht keinen Unterschied, da mein VPS immer noch der Meinung ist, dass er alle E-Mails an meinen Heimserver weiterleiten soll, auch ausgehende E-Mails. cyllos vor 5 Jahren 0
Können Sie die Zeitstempel der Transport- und Transport.db-Datei anzeigen - dh? Haben Sie die .dB-Datei neu erstellt? davidgo vor 5 Jahren 0
Ja, ich habe `postmap` verwendet, um die Datei transport.db zu aktualisieren. cyllos vor 5 Jahren 0