Puncte:1

S-a adăugat dkimproxy la OpenSMTPD... bucla de e-mail la trimiterea către propriul meu domeniu

drapel in

Am o configurație OpenSMTPD care funcționează bine și i-am adăugat dkimproxy.

Totul funcționează frumos și mail-tester, etc., toate raportează că am semnarea corectă DKIM și scorul meu de e-mail este 10/10, etc.

Problema este că ...

Dacă încerc să trimit un e-mail de la [email protected] la [email protected], serverul de e-mail intră într-o buclă și e-mailul nu este trimis niciodată. Văd asta în jurnalul de corespondență:

15 nov 08:34:13 mail dkimproxy.out[38686]: semnare DKIM - semnat; mesaj-id=<[email protected]>, semnatar=<[email protected]>, de la=<[email protected]>
Nov 15 08:34:13 mail smtpd[33463]: 4dea90938ef29e98 smtp message msgid=0b62ff80 size=104666 nrcpt=1 proto=ESMTP
15 nov 08:34:13 mail smtpd[33463]: 4dea90938ef29e98 smtp envelope evpid=0b62ff80eb408785 from=<> to=<[email protected]>                                                               
15 nov 08:34:13 mail smtpd[33463]: 4dea9092f4274d88 mta livrare evpid=6fe8c750a74f16ac de la=<> to=<[email protected]> rcpt=<-> source="2020.04.03.03.04.0.03. (mail.mydomain.com)" delay=1s result="Ok" stat="250 2.0.0 0b62ff80 Mesaj acceptat pentru livrare"

... și se face așa de 50 de ori și din nou - în cele din urmă renunță la această eroare:

15 noiembrie 08:34:18 mail smtpd[33463]: warn: bucla detectată                                                                                                                                            
15 nov 08:34:18 mail smtpd[33463]: 4dea9097226c93aa smtp failed-command command="DATA" result="500 5.4.6 Buclă de rutare detectată: Buclă detectată"                                                    
Nov 15 08:34:18 mail smtpd[33463]: 4dea90969c6cf495 mta delivery evpid=49514d020281ac48 from=<> to=<[email protected]> rcpt=<-> source="200.02.03.03.02.03 (mail.mydomain.com)" delay=1s result="PermFail" stat="500 5.4.6 Buclă de rutare detectată: Buclă detectată"

Habar n-am care este problema. Acest lucru se întâmplă numai atunci când îmi trimit e-mail către mine sau către alt utilizator cu acest domeniu care este găzduit pe acest server de e-mail.

# cat dkimproxy_in.conf

# specificați pe ce adresă/port ar trebui să asculte DKIMproxy
asculta 200.100.240.135:10025

# specificați la ce adresă/port DKIMproxy redirecționează e-mailurile
releu 200.100.240.135:10026


# cat dkimproxy_out.conf 

# specificați pe ce adresă/port ar trebui să asculte DKIMproxy
asculta 200.100.240.135:10027

# specificați la ce adresă/port DKIMproxy redirecționează e-mailurile
releu 200.100.240.135:10028

# specificați pentru ce domenii se poate semna DKIMproxy (separate prin virgulă, fără spații)
domeniul mydomain.com

# specificați ce semnături să adăugați
semnătură dkim(c=relaxat)
chei de domeniu de semnătură (c=nofws)

# specificați locația cheii private
fișierul cheie /root/dkim.private.key

# specificați selectorul (adică numele înregistrării cheii introduse în DNS)
selector selector1

# controlați câte procese folosește DKIMproxy
# - mai multe informații despre aceste opțiuni (și altele) pot fi găsite de
# rulează `perldoc Net::Server::PreFork'.
#min_servers 5
#min_spare_servers 2

... și asta e tot... mulțumesc.

EDIT - aici este opensmtpd.conf:

fișier aliasuri de tabel:/usr/local/etc/mail/aliases

filtru check_dyndns phase connect potrivește rdns regex \
    { '.*\.dyn\..*', '.*\.dsl\..*' } \
    deconectați „550 fără conexiuni rezidențiale”

filter check_rdns phase connect match !rdns \
    deconectați „550 fără rDNS”

filter check_fcrdns phase connect match !fcrdns \
    deconectați „550 fără FCrDNS”

ascultați pe 200.100.240.135 filtru { check_dyndns, check_rdns, check_fcrdns }

ascultați pe 200.100.240.135 portul 10028 eticheta DKIM

ascultați pe 200.100.240.135 transmiterea portului

acțiunea „local_mail” mbox alias <aliases>
acțiunea „relay_dkim” gazdă releu smtp://200.100.240.135:10027
acțiune „outbound” releu helo mail.mydomain.com
    
potrivire de la orice e-mail-de la acțiunea „[email protected]” „local_mail”

potriviți eticheta DKIM pentru orice acțiune „outbound”
potrivire pentru orice acțiune „relay_dkim”

potrivire de la orice acțiune pentru domeniul „mydomain.com” „local_mail”
potrivire pentru acțiunea locală „local_mail”

potrivire de la orice auth pentru orice acțiune „outbound”
potrivire pentru orice acțiune „outbound”
Paul avatar
drapel cn
Ce sistem de operare folosești? Poti te rog sa postezi `smtpd.conf`?
user227963 avatar
drapel in
Sistemul de operare este FreeBSD. Pot posta smtpd.conf dar, din nou, totul funcționează grozav - scor perfect de la mail-tester, semnarea DKIM este grozavă... totul funcționează bine și aș putea trimite prin e-mail propriul meu domeniu înainte de a adăuga dkimproxy... este doar DUPĂ adăugare dkimproxy că primesc o buclă de e-mail cu propriul meu domeniu ....
user227963 avatar
drapel in
OK, a adăugat smtpd.conf...
Paul avatar
drapel cn
Dacă acestea sunt toate pe același server, este neobișnuit să nu folosiți `lo0` sau `127.0.0.1`. Există vreun motiv special pentru care utilizați DKIMproxy? Acel pachet nu pare să fi fost actualizat în vreo zece ani, plus că poate fi mai ușor să găsești exemple de configurare pentru instrumentele utilizate de întreținerii OpenSMTPD, cum ar fi `rspamd` care se află în porturile FreeBSD, cel mai bine pot spune, și este în `smtpd.conf(5)`. Evaluați mai îndeaproape în ordinea `meciului`, deoarece `smtpd` "regulile meciului sunt evaluate secvenţial, primul meci fiind câștigător."
user227963 avatar
drapel in
Trebuie să folosesc dkimproxy pentru că există o problemă ciudată de compatibilitate binară freebsd cu rspamd (și senderscore). Așa că folosesc dkimproxy care, din nou, FUNCȚIONEAZĂ EXCEPTIONAL... este doar această buclă ciudată care trimite la propriul meu domeniu de pe propriul meu domeniu...
Paul avatar
drapel cn
Există vreun motiv pentru care utilizați o adresă IP de interfață externă în loc de loopback?
Puncte:1
drapel cn

Acest răspuns este scris presupunând că nu există niciun motiv pentru a utiliza interfața externă pentru procesele interne. Întrebarea nu include pf.conf configurație care poate avea setări care intră în conflict cu procesarea normală a e-mailului atunci când se utilizează o altă interfață decât loopback și ar trebui să aibă set skip pe lo sau echivalent configurat.

smtpd.conf:

# Verificați că aceasta este locația corectă a aliasurilor, ceea ce este în mod normal
# situat în /etc/mail/aliases. Dacă ați schimbat pseudonimele
# implicit, asigurați-vă că rulați newaliases.
fișier aliasuri de tabel:/usr/local/etc/mail/aliases

filtru check_dyndns phase connect potrivește rdns regex \
    { '.*\.dyn\..*', '.*\.dsl\..*' } \
    deconectați „550 fără conexiuni rezidențiale”

filter check_rdns phase connect match !rdns \
    deconectați „550 fără rDNS”

filter check_fcrdns phase connect match !fcrdns \
    deconectați „550 fără FCrDNS”

ascultați pe 127.0.0.1 portul 10028 eticheta DKIM
ascultați pe filtrul 200.100.240.135 \
    { check_dyndns, check_rdns, check_fcrdns }
ascultați pe 200.100.240.135 transmiterea portului

acțiunea „local_mail” mbox alias <aliases>
acțiunea „relay_dkim” gazdă releu smtp+notls://127.0.0.1:10027
acțiune „outbound” releu helo mail.mydomain.com

potriviți eticheta DKIM pentru orice acțiune „outbound”
potriviți e-mail-de la „[email protected]” acțiunea „local_mail”
potrivire de la orice acțiune pentru domeniul „mydomain.com” „local_mail”
potrivire de la orice auth pentru orice acțiune „outbound”
potrivire pentru acțiunea locală „local_mail”
potrivire pentru orice acțiune „relay_dkim”

# interpretez acest lucru ca fiind redundant:
# potrivire pentru orice acțiune „outbound”

# Această linie de configurare originală pare fără sens pentru că
# „mail-from” este și „de la orice”, deci eliminat „din orice”
# potrivire de la orice e-mail de la acțiunea „[email protected]” „local_mail”

Chiar dacă dkimproxy_in.conf este configurat, în prezent nu există nicio autentificare a antetelor DKIM în mesajele primite, deoarece aceasta nu este configurată în versiunea originală smtpd.conf, așa că nu l-am adăugat.

dkimproxy_in.conf:

# specificați pe ce adresă/port ar trebui să asculte DKIMproxy
asculta 127.0.0.1:10025

# specificați la ce adresă/port DKIMproxy redirecționează e-mailurile
releu 127.0.0.1:10026

dkimproxy_out.conf:

# specificați pe ce adresă/port ar trebui să asculte DKIMproxy
asculta 127.0.0.1:10027

# specificați la ce adresă/port DKIMproxy redirecționează e-mailurile
releu 127.0.0.1:10028

# specificați pentru ce domenii se poate semna DKIMproxy (separate prin virgulă, fără spații)
domeniul mydomain.com

# specificați ce semnături să adăugați
semnătură dkim(c=relaxat)
chei de domeniu de semnătură (c=nofws)

# specificați locația cheii private
fișierul cheie /root/dkim.private.key

# specificați selectorul (adică numele înregistrării cheii introduse în DNS)
selector selector1

# controlați câte procese folosește DKIMproxy
# - mai multe informații despre aceste opțiuni (și altele) pot fi găsite de
# rulează `perldoc Net::Server::PreFork'.
#min_servers 5
#min_spare_servers 2
Paul avatar
drapel cn
Este probabil că acest lucru necesită încă unele modificări. Vă rugăm să testați și să comentați.
user227963 avatar
drapel in
Mulțumesc foarte mult - asta a rezolvat într-adevăr bucla de e-mail.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.