mailcow auf VPS und Probleme bei unbound im Zusammenhang mit mail.protection.outlook.com

  • Du hattest im mc-Forum folgendes geschrieben:

    Zitat

    Andere Domänen wie hotmail.com, outlook.com, microsoft.com … funktionieren ohne Probleme. Es muss irgendiwe mit mail.protection.outlook.com einen Zusammenhang geben.

    microsoft.com verwendet aber offenbar auch mail.protection.outlook.com:

    Code
    $ host microsoft.com
    microsoft.com has address 150.171.109.101
    microsoft.com has IPv6 address 2603:1061:14:64::1
    microsoft.com mail is handled by 10 microsoft-com.mail.protection.outlook.com.

    Funktioniert denn der folgende Aufruf ohne forward-zone?

    Code
    /opt/mailcow-dockerized# docker compose exec postfix-mailcow dig AAAA microsoft-com.mail.protection.outlook.com

    [Suche] RS Piccolo gesucht

    Einmal editiert, zuletzt von terence (31. Juli 2026 um 18:54)

  • Funktioniert denn der folgende Aufruf ohne forward-zone?

    Aus dem postfix Container leider nicht, aus dem unbound Container funktioniert es.

    postfix

    unbound

    Die IPv4-Adresse meines Servers beginnt mit 202.61

    Meine beginnt mit 92.60

  • dig @ns1-05.azure-dns.com A outlook.com

    dig @ns1-proddns.glbdns.o365filtering.com A mail.protection.outlook.com

    dig @ns1-05.azure-dns.com A outlook.com

    dig @ns1-proddns.glbdns.o365filtering.com A mail.protection.outlook.com

  • ist die abfrage genau diese Domain mail.protection.outlook.com ?

    Ich hab mail bei meinen Mails geschaut da kommt z.B. ***********-de02i.mail.protection.outlook.com da bekomme ich dann IPV6 Adressen als Antwort zurück.

    Nein, nicht genau mail.protection.outlook.com, sondern wie bei dir ****-de.mail.protection.outlook.com.


    Ich habe bei meiner Mailcow nur diese Regel für DNS.

    Das habe ich auch mal so übernommen. Allerdings löst es das Problem nicht (auch nach reboot).

  • Meine unbound.conf

  • Den FORMERR bekomme ich auch. Mit +noedns bekomme ich NOERROR.

    Code
    dig @ns1-proddns.glbdns.o365filtering.com AAAA microsoft-com.mail.protection.outlook.com +noedns

    Da das ja zu gehen scheint, kann Dein VPS also den Name Server erreichen. Der zweite geht dann ja sicher auch? ns2-proddns.glbdns.o365filtering.com
    Theoretisch könnte es noch sein, dass unbound versucht, den Name Server ausschließlich via IPv6 zu erreichen. Da dieser aber nur eine IPv4-Adresse hat, würde das fehlschlagen. Hast Du schon einmal versucht, mit tcpdump den Traffic zu analysieren?

  • Hast Du schon einmal versucht, mit tcpdump den Traffic zu analysieren?

    Das geht mir dann zu weit. Ich werde es versuchen.

    Vielleicht sollte ich das mit dem eigenen Mailserver doch noch mal überdenken. Ich bin eingermaßen IT affin, komme glaube langsam an meine Grenzen. Mich verlässt der Mut. ;)

    Ich werde die Tag noch mal eine Neuinstallation versuchen - es dann aber bei Misserfolg sein lassen. Trotzdem vielen Dank für die tolle Unterstützung hier.

    Ich habe noch mal meine mailcow.conf angefügt.

  • Mich verlässt der Mut.

    Na, nicht zu schnell aufgeben! Man wächst und lernt mit den Herausforderungen! :) Ich habe heute z. B. gelernt, daß man bei unbound für einzelne Domains forward-zone einrichten kann - das war mir vorher nicht bewusst.
    Gönn' Dir eine Pause und dann schaust Du Dir das in ein paar Tagen noch einmal an.

    P.S.: Die angehängte Datei sieht mir nicht nach der unbound.conf aus.

    P.P.S.: Vielleicht magst Du Becker884 aus dem mc-Forum noch mitgeben, daß die Firewall sehr wohl funktioniert, wenn sie richtig konfiguriert wird. Man muss sich aber halt ein wenig damit befassen. Dabei helfen können die Hilfe und ggf. der Spickzettel von gunnarh. Bei Fragen und/oder Problemen kann man einen Beitrag im Firewall-Forum erstellen.

  • Worum geht es denn letztlich eigentlich?

    M.E. gibt es keine A oder AAAA Records für "mail.protection.outlook.com"

    Wie in Beitrag #17 geschrieben, scheint das eher eine Subdomain zu sein, die selbst gar keine Adresse hat aber für zahlreiche Hostnamen (hostirgendwas.mail.protection.outlook.com) genutzt wird, die dann jeweils IP-Adressen haben.

    Dass die Query zwar keinen Fehler, aber auch keine IP-Adresse zurückgibt ist völlig normal. Das ist auch bei allen meinen Unbound-Instanzen so. Ungewöhnlich ist nur der Status SERVFAIL im Gegensatz zu NOERROR.

  • M.E. gibt es keine A oder AAAA Records für "mail.protection.outlook.com"

    Stimmt, es geht konkret um einen Empfänger xxx-de.mail.protection.outlook.com. Dort ist es mir aufgefallen, da die Mail nicht angekommen ist und keine DSN Bestätigung zurück kam. mail.protection.outlook.com habe ich u.a. dann immer wieder zum Testen verwendet, da mich eben auch das SERVFAIL gewundert hat. Das Verhalten trifft auf alle Empfänger von mail.protection.outlook.com zu, unabhängig der Subdomain. Mir ist hier bewusst, dass nur für mail.protection.outlook.com keine A oder AAAA zurück kommt.

    Nachdem ich mein unbound-Anpassung (forward-zone) vorgenommen habe, wurde prompt die Mail verschickt und es kam die DSN Bestätigung zurück.

  • Ich habe eben die Ursache gefunden. Da ich ursprünglich noch nicht verstanden habe, dass bei der FW von netcup bei UDP stateless ist, habe ich in der unbound.conf `tcp-upstream: yes` eingetragen. Das habe ich eben entfernt und jetzt funktioniert es.

    Ich könnte mich selbst .... vielen Dank noch mal an euch :)

  • Schön, daß es nun funktioniert! :)
    Da ich den folgenden Text schon geschrieben hatte, poste ich ihn trotzdem noch - vielleicht ist er ja für andere hilfreich.


    Du könntest noch in das Log von unbound schauen, wenn Du das noch nicht getan hast.

    Dazu macht es vermutlich Sinn, die unbound.conf anzupassen, damit weitere Infos protokolliert werden:

    Code
            log-queries: yes
            log-replies: yes
            log-tag-queryreply: yes

    Und diese Option klingt für Dein Problem auch vielversprechend:

    Code
         log-servfail: <yes or no>
                Print log lines that say why queries return SERVFAIL to clients.
                This is separate from the verbosity debug logs, much smaller, and
                printed at the error level, not the info level of debug info from
                verbosity.
    
                Default: no
  • Ich kann den SRVFAIL übrigens mit meinem unbound erwartungsgemäß nachstellen, wenn ich tcp-upstream: yes einstelle und sehe dann im unbound-Log Fehlermeldungen wie diese (mit den o. g. Log-Einstellungen):

    Code
    error: SERVFAIL <microsoft-com.mail.protection.outlook.com. A IN>: all servers for this domain failed, at zone mail.protection.outlook.com. upstream server timeout

    dig meldet bei mir dann auch einen Timeout - ich bekomme also keine Antwort wie es bei Dir der Fall war. Aber Query time: 4000 msec bei Dir deutet m. E. auch auf einen Timeout hin. Vielleicht sind die timeout-Einstellungen von unbound bei uns unterschiedlich, so daß Dein unbound nach 4 Sekunden abbricht und SRVFAIL zurückmeldet. Bei mir versucht er es länger und dig bricht dann wohl selbst ab.

    Soweit so gut. Mir ist allerdings (immer noch) nicht klar, warum der Aufruf mit Deinem unbound-Container funktioniert hat, obwohl laut Beitrag #23 ja offensichlich auch unbound als Resolver verwendet wurde (SERVER: 127.0.0.11#53(127.0.0.11) (UDP)). Das hätte doch genauso fehlschlagen müssen. :/ Da wäre es dann mal interessant, die Logs zu sehen... Wenn Du also noch mal Lust hast, das auszuprobieren, würde mich das Ergebnis interessieren. Wenn nicht, ist es aber auch nicht schlimm. ;)

  • Ich kann den SRVFAIL übrigens mit meinem unbound erwartungsgemäß nachstellen, wenn ich tcp-upstream: yes einstelle und sehe dann im unbound-Log Fehlermeldungen wie diese (mit den o. g. Log-Einstellungen):

    Hast du es aus dem postfix und dem unbound Container heraus probiert?

    Das hätte doch genauso fehlschlagen müssen. :/ Da wäre es dann mal interessant, die Logs zu sehen... Wenn Du also noch mal Lust hast, das auszuprobieren, würde mich das Ergebnis interessieren. Wenn nicht, ist es aber auch nicht schlimm.

    So richtig motiviert bin ich da aktuell nicht. Vielleicht in den nächsten Tagen, um der Hitze zu entfliehen. ;)