User Tools

Site Tools


doc:appunti:linux:sa:postfix

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:postfix [2023/12/04 15:35] – [Problemi SSL] niccolodoc:appunti:linux:sa:postfix [2025/12/09 11:55] (current) – [Problemi DNS] niccolo
Line 392: Line 392:
  
 ==== Socket in /var/run/ e nel chroot di Postfix: problema con tmpfs ==== ==== Socket in /var/run/ e nel chroot di Postfix: problema con tmpfs ====
 +
 +Per **Debian 12 Bookworm** vedere la pagina dedicata **[[postfix_courier_authdaemon_debian_12]]**.
  
 Nelle moderne distribuzioni Debian (da 7 Wheezy in poi) la directory **''/var/run/''** viene creata in tmpfs e quindi al reboot è totalmente vuota. Questo è un problema perché la soluzione con il link simbolico vista al paragrafo precedente non sopravvive al reboot. Una soluzione poco elegante è modificare lo script **''/etc/init.d/courier-authdaemon''**, in modo che crei il link prima di avviare il servizio; inoltre questo è sconsigliato se si utilizza il moderno **systemd** (a partire da Debian 8 Jessie). Nelle moderne distribuzioni Debian (da 7 Wheezy in poi) la directory **''/var/run/''** viene creata in tmpfs e quindi al reboot è totalmente vuota. Questo è un problema perché la soluzione con il link simbolico vista al paragrafo precedente non sopravvive al reboot. Una soluzione poco elegante è modificare lo script **''/etc/init.d/courier-authdaemon''**, in modo che crei il link prima di avviare il servizio; inoltre questo è sconsigliato se si utilizza il moderno **systemd** (a partire da Debian 8 Jessie).
  
-Quindi la **soluzione ottimale** è utilizzare un **mount bind** della directory che contiene il socket e **incaricare systemd** di effettuare il mount prima di avviare Postfix. Il punto di montaggio deve essere creato come visto nel paragrafo precedente, la //mount unit// va creata in **/etc/systemd/system/**, deve avere il nome esatto **var-spool-postfix-var-run-courier-authdaemon.mount** e contiene:+La **soluzione ottimale** è utilizzare un **mount bind** della directory che contiene il socket e **incaricare systemd** di effettuare il mount prima di avviare Postfix. Il punto di montaggio deve essere creato come visto nel paragrafo precedente, la //mount unit// va creata in **/etc/systemd/system/**, deve avere il nome esatto **var-spool-postfix-var-run-courier-authdaemon.mount** e contiene:
  
 <file> <file>
 [Unit] [Unit]
 Description=Mount Courier Authdaemon into Postfix chroot Description=Mount Courier Authdaemon into Postfix chroot
-Requires=courier-authdaemon.service +Wants=courier-authdaemon.service 
-After=courier-authdaemon.service+# A stronger dependency may cause a Systemd ordering cycle problem. 
 +#Requires=courier-authdaemon.service 
 +#After=courier-authdaemon.service
  
 [Mount] [Mount]
Line 950: Line 954:
 </file> </file>
  
 +
 +====== Problemi DNS ======
 +
 +Postfix usa una configurazione del **resolver DNS** diversa da quella di sistema, cioè non usa il file **/etc/resolv.conf**; la configurazione in uso è nel file **/var/spool/postfix/etc/resolv.conf**. Un problema comune è che all'avvio di Postfix la configurazione della rete e del DNS resolver non è completata, pertanto Postfix resta in esecuzione con una configurazione del resolver non funzionante (manca il server DNS); in questo caso i messaggi in uscita potrebbero rimanere in coda e non arrivare mai a destinazione:
 +
 +<code>
 +(Host or domain name not found. Name service error for
 +name=mail.rigacci.org type=MX: Host not found, try again)
 +</code>
 +
 +Se Postfix gira in **chroot** (vedere il file ''/etc/postfix/master.cf''), il file ''resolv.conf'' **viene copiato da quello di sistema** in ''/var/spool/postfix/'' all'avvio di Postfix. Se il file di sistema viene modificato successivamente (ad esempio il client DHCP riceve l'indirizzo e le relative informazioni sul DNS), Postfix resta con la vecchia configurazione. Sostituire il file nel chroot con **un link simbolico non funziona**, perché ciò che è fuori dal chroot non è accessibile.
 +
 +Se il file ''resolv.conf'' nel chroot viene aggiornato non è neanche necessario fare il reload di Postfix per sbloccare la coda: il normale retry time oppure un ''postqueue -f'' porta a destinazione i messaggi.
 +
 +FIXME Qule è il normale tempo di retry per //Host not found//? Come modificarlo?
  
 ====== Problemi SSL ====== ====== Problemi SSL ======
Line 961: Line 980:
 Se si ha l'impostazione **smtpd_tls_security_level = may**, il server remoto dovrebbe riprovare senza crittografia, ma in caso di server difettosi può essere impossibile ricevere mail da quell'host. Se si ha l'impostazione **smtpd_tls_security_level = may**, il server remoto dovrebbe riprovare senza crittografia, ma in caso di server difettosi può essere impossibile ricevere mail da quell'host.
  
-Una soluzione temporaneta può essere quella di inibire il flag STARTTLS in risposta al comando EHLO, cioè non annunciare SSL a quel particolare host. Questo comportamento si ottiene con una riga in main.cf:+Una soluzione temporanea può essere quella di inibire il flag STARTTLS in risposta al comando EHLO, cioè non annunciare SSL a quel particolare host. Questo comportamento si ottiene con una riga in main.cf:
  
 <file> <file>
doc/appunti/linux/sa/postfix.1701700520.txt.gz · Last modified: by niccolo