Mailcow - Mailversand bekommt Timeout über wireguard

Hallo,

ich muss nochmal bzgl Mailcow nahhaken.

Kurz mein Setup: Ich habe in der Hetzner Cloud eine OPNsense stehen. Dahinter hatte ich im Hetzner-Netz einen Server mit Mailcloud stehen. Da hier alles geklappt hatte (dank der Hilfe hier, Stichwort MTU auf 1450 setzen) funktionierte das Sende und empfangen problemlos.

Da ich aber nicht unbedingt einen zusätzlichen Server in der Cloud zahlen will, wollte ich jetzt die Cow auf einen Server bei mir zu Hause ziehe und die Inet Verbindung von Hetzner nutzen.

Dafür habe ich auf meiner VW für die Cow (Proxmox mit VM für die Cow) Wireguard eingerichtet und einen Tunnel zur OPNSense aufgebaut. Die cow läuft auf dem Server in Docker. WG nicht.

Ich habe meine Container vom alten Server migriert. Der Empfang läuft auch tadellos.

Beim versenden scheint es aber wieder Probleme zu geben. Und ich bin mir jetzt unsicher ob es an der generelle Konfiguration über WG aus Docker heraus liegt oder evtl. doch wieder „nur“ an der MTU.

Im Postfix erhalte ich folgende Fehlermeldung:

2024-01-08T22:53:56.363660276Z Jan 8 23:53:56 77d97742ec47 enforced-tls-smtp/smtp[373]: connect to uriports.com[87.239.13.42]:25: Connection timed out
2024-01-08T22:53:56.378019681Z Jan 8 23:53:56 77d97742ec47 enforced-tls-smtp/smtp[373]: E5F7A16B85A: to=ld-4a1d881b7d@learndmarc.com, relay=none, delay=586, delays=556/0.01/30/0, dsn=4.4.1, status=deferred (connect to uriports.com[87.239.13.42]:25: Connection timed out)

Aus den Container heraus kann ich über die Hetzner IP nach draußen telefonieren. Pings, Telnet auf Port 80, CURL…
Ein Telnet auf 25 geht nicht raus. Direkt von meinem PC übers „normale“ Inet geht es.
Von der OPNsense geht der Porttest auch auf.

Ich finde aber auch keine Einstellung in der FW die z. B. für ein Port 80 offen wäre und für 25 nicht.

Hat hier jemand eine Idee?

PS:
Was ich noch zusätzlich jetzt „rausgefunden“ habe ist, über die Paketverfolgung auf der OPNSense, dass die TCP 80 Anfrage von der WG IP Adress 10.100.2.2 direkt raus geht und die TCP 25 sowohl von 10.100.2.2 auch an die lokae IP Adresse meines Servers auf dem die Cow läuft. Es wird quasi die Anfrage doppelt geschickt. Keine Ahnung ob das normal ist, aber es ist noch ein Unterschied. Woher der aber kommen könnte, weiß ich nicht.

PSS: Im tcpdump kann man auch sehen, dass das Paket in Inet eine falsche checksumme hat.
tcpdump: listening on wg1, link-type RAW (Raw IP), snapshot length 262144 bytes
00:00:00.000000 ip: (tos 0x0, ttl 63, id 23803, offset 0, flags [DF], proto TCP (6), length 60)
10.100.2.2.41104 > 87.239.13.42.25: Flags [S], cksum 0x71ad (incorrect → 0xc9e4), seq 555549027, win 65250, options [mss 1450,sackOK,TS val 469970583 ecr 0,nop,wscale 7], length 0
00:00:00.004602 ip: (tos 0x0, ttl 62, id 23803, offset 0, flags [DF], proto TCP (6), length 60)
10.100.2.2.41104 > 192.168.1.93.25: Flags [S], cksum 0x6cf8 (correct), seq 555549027, win 65250, options [mss 1450,sackOK,TS val 469970583 ecr 0,nop,wscale 7], length 0

Also ich verzweifle bald, dabei wird es bestimmt einfach sein. hoffe-ich
Ich habe jetzt noch weiter Pakete versucht zu analysieren. Habe verschiedene Wege getestet. Meine letzte, vllt hilfreiche Erkenntnis ist, dass ein Telnet an einen ext. Mailserver auf Port 25 über die Netzwerkkommunikation über den Wireguard Tunnel NICHT funktioniert. Im Testtool der OPNsense FUNKTIONIERT es aber. Es bleibt also scheinbar irgendwo zw. WG Port und WAN Port liegen. Vielleicht hat ja da jemand eine Idee dazu

Ein Telnet auf Port 80 ist z. B. kein Problem, von „beiden“ Seiten aus.

Ohne jetzt nochmal den langen Text gelesen zu haben.

Dir ist bewusst das neue Accounts bei Hetzner Default den Port 25 ausgehend gesperrt haben für 30 Tage ?

Dann nochmal kurz zusammengefasst. Port 25 ist offen. Der Versand vom Hetzner Cloud Rechner hat funktioniert.
Und Test aus OPNsense auf Port 25 läuft auch erfolgreich. Telnet über den WG Tunnel geht nicht raus.