Portál AbcLinuxu, 31. května 2024 00:21


Dotaz: postfix smtp relay - prodleva 8 sekund

5.1.2020 21:46 Deryl | skóre: 11
postfix smtp relay - prodleva 8 sekund
Přečteno: 548×
Odpovědět | Admin

Ahoj,

používám postfix jako smtp relay (na různé smtp servery) a z nějakého důvodu se po připojení klienta objeví 8 sekund prodleva.

smtpd -v, loglevel 4:

Jan 05 21:24:56 tiger postfix/smtpd[36902]: auto_clnt_create: transport=local endpoint=private/anvil                   
Jan 05 21:24:56 tiger postfix/smtpd[36902]: connection established                                                     
Jan 05 21:24:56 tiger postfix/smtpd[36902]: master_notify: status 0                                                    
Jan 05 21:24:56 tiger postfix/smtpd[36902]: name_mask: resource                                                        
Jan 05 21:24:56 tiger postfix/smtpd[36902]: name_mask: software                                                        
Jan 05 21:25:04 tiger postfix/smtpd[36902]: connect from unknown[45.143.222.191]                                       
Jan 05 21:25:04 tiger postfix/smtpd[36902]: match_list_match: unknown: no match

 

Dále už to běží jako po másle.

Netušíte někdo, v čem to vězí či kde hledat zdroj problému? Je jedno, jsetli se připojí lokální klient (Rainloop webmail) nebo vzdálený (Android FairMail).


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.1.2020 21:53 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Odpovědět | | Sbalit | Link | Blokovat | Admin
S největší pravděpodobností máte zapnutou nějakou kontrolu IP adresy, odkud se klient připojil – převádí se na DNS název, hledá v blacklistu apod. Ta prodleva 8 sekund je zvláštní – na to, aby ta kontrola probíhala správně, je to dost dlouhý čas. Pokud naopak kontrola nefunguje a končí to na timeout, je 8 sekund zase docela málo. Ale spíš bych si tipoval na ten timeout, že máte zapnutou nějakou kontrolu, která nefunguje.
Josef Kufner avatar 5.1.2020 22:18 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
U takovýchto kontrol bych čekal timeout právě jen pársekundový, aby se klient neodpojil. Když jsem si hrál kdysi s telnetem, tak některé servery odpojovali klienty po cca 10 sekundách bez aktivity. Navíc pokud je to jen kvůli zalogování IP adresy, nemá smysl moc zdržovat.

Právě vzhledem k tomu, že v logu je u IP adresy "unknown", tak bych to viděl na pomalý/timeoutující resolver. Matně si vzpomínám, že jsem takový problém kdysi také měl.
Hello world ! Segmentation fault (core dumped)
5.1.2020 22:28 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
drill 45.143.222.191 a whois 45.143.222.191 odpovídají v milisekundách. Budu ještě hledat...
6.1.2020 18:37 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund

Nevím, co dělá drill, ale i neexistence DNS záznamu se kešuje, takže opakované dotazy jsou již rychlé. Mně první dotaz na PTR záznam k této adrese trval jedna a půl sekundy.

Postfix ve výchozím nastavení překládá adresy a zapisuje je to Received: hlavičky v e-mailu.

6.1.2020 21:34 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Pak zřejmě postfix nevyužívá DNS cache. 8 sec timeout je opakovaný ze stejného hosta...
5.1.2020 22:30 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Zkoušel jsem ještě vypnout verifikaci odesílatele, ale beze změny.

https://stackoverflow.com/questions/32020139/how-to-disable-postfix-address-verification
5.1.2020 22:35 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Asi máte pravdu, přidal jsem IP adresu do /etc/hosts a problém zmizel...
7.1.2020 23:55 j
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
To bys ale mel hledat dal, nechces predpokladam opisovat cely ipv4 (natoz ipv6) rozsah do hosts. To vypada, ze ti to dns nejak vubec nefunguje. Kompletni dotaz rozhodne netrva 8s ani kdyz v cache neni vubec nic. Takze to vypada, ze to tipne prave postfix a to proto, ze mu to dns vubec neodpovi.

Hele (predevsim ten query time):
dig -x 45.143.222.191

; <<>> DiG 9.14.8 <<>> -x 45.143.222.191
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 46888
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 011f34c969658694090c5d415e150b0ca5320f2c75f5d981 (good)
;; QUESTION SECTION:
;191.222.143.45.in-addr.arpa.   IN      PTR

;; AUTHORITY SECTION:
45.in-addr.arpa.        10800   IN      SOA     z.arin.net. dns-ops.arin.net. 2017028592 1800 900 691200 10800

;; Query time: 433 msec
;; SERVER: ::1#53(::1)
;; WHEN: Tue Jan 07 23:49:48 CET 2020
;; MSG SIZE  rcvd: 153
Podruhy to nema smysl poustet, je to pod 1ms.

BTW: presne takovyhle maily se rovnou odpojujou, nema reverz, neumi si zaridit za 10 minut nastaveni nebo ... nema IP pod kontrolou => nema narok provozovat mta.
8.1.2020 18:23 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund

To je mi jasné, že je vhodné to vyřešit :-)

Akorát budu muset ještě pohledat, proč s tím má postfix problém.

$ drill -x 45.143.222.191 ;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 51848 ;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; 191.222.143.45.in-addr.arpa. IN      PTR ;; ANSWER SECTION: ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 6 msec ;; SERVER: 10.11.13.1 ;; WHEN: Wed Jan  8 18:18:01 2020 ;; MSG SIZE  rcvd: 45

První dotaz 6 ms (asi je to v cache na routeru) a další už jen 1 ms.... Postfix stále timeout na 8 sekundách.

8.1.2020 19:38 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Podívejte se, co vše máte nakonfigurované, co se má dít při navázání spojení. Používáte nějaké blacklisty, graylisty? Používáte postscreen? Používáte smtpd_ppoxy_filter, smtpd_client_restrictions?
8.1.2020 20:58 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Výchozí konfigurace postfix 3.4.8, Arch Linux. Blacklists/Whitelists jsem nedefinoval.

Webový klient odesílá poštu z adresy 172.17.30.4 (i tam je timeout 8 sec).
#main.cf

compatibility_level = 2  
queue_directory = /var/spool/postfix  
command_directory = /usr/bin  
daemon_directory = /usr/lib/postfix/bin 
data_directory = /var/lib/postfix 
mail_owner = postfix 
myhostname = XXX.XXX.net 
mydomain = XXX.net  
myorigin = $mydomain 
smtp_generic_maps = hash:/etc/postfix/mk_sender_generic_map  
inet_interfaces = all  
mydestination = $myhostname, localhost.$mydomain, localhost  
unknown_local_recipient_reject_code = 550 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 172.17.30.4 
alias_maps = hash:/etc/postfix/aliases  
alias_database = $alias_maps  
debug_peer_level = 1 
#debug_peer_list = 172.17.30.4 
debugger_command = 
<> PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin  
<> ddd $daemon_directory/$process_name $process_id & sleep 5 
sendmail_path = /usr/bin/sendmail 
newaliases_path = /usr/bin/newaliases 
mailq_path = /usr/bin/mailq 
setgid_group = postdrop  
html_directory = no  
manpage_directory = /usr/share/man  
sample_directory = /etc/postfix 
readme_directory = /usr/share/doc/postfix 
inet_protocols = ipv4  
meta_directory = /etc/postfix 
shlib_directory = /usr/lib/postfix  
  
smtpd_tls_cert_file=/etc/letsencrypt/live/XXX.XXX.net/fullchain.pem  
smtpd_tls_key_file=/etc/letsencrypt/live/XXX.XXX.net/privkey.pem 
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
  
smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CBC3-SHA, KRB5-DES, CBC3-SHA  
smtpd_tls_dh1024_param_file = ${config_directory}/mk_dhparams.pem 
  
smtp_tls_security_level = encrypt 
smtp_tls_ciphers = high # or "export" to "medium" or "low" 
smtp_tls_protocols = !SSLv2, !SSLv3 
smtp_tls_policy_maps = hash:/etc/postfix/mk_smtp_tls_policy  
  
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt 

smtp_sender_dependent_authentication = yes  
sender_dependent_relayhost_maps = hash:/etc/postfix/mk_sender_relayhost_map 
smtp_sasl_auth_enable = yes 
sender_dependent_relayhost_maps = hash:/etc/postfix/mk_sender_relayhost_map 
smtp_sasl_password_maps = hash:/etc/postfix/mk_sasl_passwd 

smtp_sasl_security_options = noanonymous  
smtpd_peername_lookup = no 
# master.cf

# ==========================================================================  
# service type  private unpriv  chroot  wakeup  maxproc command + args  
# (yes) (yes) (no)  (never) (100)  
# ==========================================================================  
#smtp  inet  n - n - - smtpd 
#smtp  inet  n - n - 1 postscreen 
#smtpd pass  - - n - - smtpd 
#dnsblog unix  - - n - 0 dnsblog 
#tlsproxy  unix  - - n - 0 tlsproxy 
submission inet n - n - - smtpd  
  -o smtpd_tls_security_level=encrypt 
  -o smtpd_sasl_auth_enable=yes 
  -o smtpd_tls_auth_only=yes  
  -o smtpd_sasl_type=dovecot  
  -o smtpd_sasl_path=private/auth 
  -o smtpd_sasl_security_options=noanonymous  
  -o smtpd_sasl_local_domain=$myhostname  
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject  
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject 
Přidání
smtpd_peername_lookup = no
do main.cf vypne reverse lookup a je po timeoutu...
8.1.2020 21:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Přidání
smtpd_peername_lookup = no
do main.cf vypne reverse lookup a je po timeoutu...
Jak máte nakonfigurovaný systémový DNS resolver? Když zkoušíte překlad přes DNS z příkazové řádky, překládá se podle dřívějších komentářů hned, ale systémový resolver může před tím zkoušet ještě něco jiného.
8.1.2020 21:56 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: postfix smtp relay - prodleva 8 sekund
Nemas nahodou ve firewallu povolene pro port 53 jenom UDP?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.