SMTP-Konfiguration zur Verwendung von localhost oder 172.17.0.1 funktioniert nicht, wie man debuggt

Diskussion fortgesetzt von Wie konfiguriere ich SMTP, um localhost zu verwenden?:

Ich versuche, eine Verbindung zu Protonmail Bridge herzustellen, die auf dem Host läuft, und es schlägt mit connection refused fehl. Meine Einstellungen sind:

  DISCOURSE_SMTP_ADDRESS: 172.17.0.1
  DISCOURSE_SMTP_PORT: 1025

Jetzt Nmap-Tests:

nmap 127.0.0.1 auf dem Host gibt aus:

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000010s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
1025/tcp open  NFS-or-IIS
1042/tcp open  afrog

nmap 172.17.0.1 im Docker-Container gibt keinen Port 1025 aus.

Ich habe auch in meiner app.yml-Datei im Abschnitt expose versucht:

172.17.0.1:1025:1025

Aber dann konnte der Docker-Container nicht starten und meldete “the port is already in use”.

Schließlich, wenn ich versuche, mich mit Openssl vom localhost aus zu verbinden:

openssl s_client -connect 127.0.01:1025 -starttls smtp

funktioniert es einwandfrei; aber nicht, wenn ich versuche, vom Docker-Container aus zu verbinden:

openssl s_client -connect 172.17.0.1:1025 -starttls smtp

Überprüfung mit ss auf dem Host:

ss -plnt
State  Recv-Q  Send-Q  Local Address:Port  Peer Address:Port  Process
LISTEN   0      4096       127.0.0.1:1025      0.0.0.0:*    users:(("proton-bridge",pid=953,fd=12))

Was mache ich falsch?


Eine Sache, die ich in dieser Stackoverflow-Antwort gefunden habe, besagt:

  • Sie können nur auf Host-Dienste zugreifen, die entweder (a) auf INADDR_ANY (auch bekannt als 0.0.0.0) lauschen oder die explizit auf der docker0-Schnittstelle lauschen.

Zuerst habe ich iptables --list überprüft, was meiner Meinung nach die Standardausgabe liefert:

iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy DROP)
target     prot opt source               destination
DOCKER-USER  all  --  anywhere             anywhere
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             172.17.0.2           tcp dpt:https
ACCEPT     tcp  --  anywhere             172.17.0.2           tcp dpt:http

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere

Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Nun frage ich mich, ob der Protonmail Bridge-Dienst, der auf 127.0.0.1:1025 lauscht, keine Verbindungen vom Docker-Container akzeptiert, weil sie nicht genau von 127.0.0.1 stammen?

Der Traffic muss umgeleitet werden, lesen Sie hier mehr:

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.