This is an old revision of the document!
Table of Contents
Postfix multi istanza
Vogliamo avere Postfix su uno stesso host che risponde a due indirizzi IP diversi (IP alias) con due configurazioni diverse.
Per inizializzare una configurazione multi istanza di Postfix si lancia il comando
postmulti -e init
vengono aggiunge alcune righe a /etc/postfix/main.cf
:
multi_instance_wrapper = ${command_directory}/postmulti -p -- multi_instance_enable = yes
Quindi si crea la seconda istanza, che deve avere un nome del tipo postfix-
. Nel nostro caso la seconda istanza sarà specializzata come server MX primario, quindi scegliamo postfix-mx
. La seconda istanza deve appartenere anche ad un gruppo, per questo scegliamo il nome mta
:
postmulti -I postfix-mx -G mta -e create
Vengono create le directory /etc/postfix-mx/
, /var/spool/postfix-mx/
, /var/lib/postfix-mx/
. Il file /etc/postfix-mx/main.cf
ha alcuni parametri essenziali per gestire la seconda istanza, ma altri vanno configurati a mano. In particolare abbiamo messo:
data_directory = /var/lib/postfix-mx queue_directory = /var/spool/postfix-mx multi_instance_group = mta multi_instance_name = postfix-mx inet_interfaces = 10.0.1.91 #master_service_disable = inet master_service_disable =
Per legare la seconda istanza all'indirizzo IP alias di deve modificare /etc/postfix-mx/master.cf
:
#smtp inet n - - - - smtpd 10.0.1.91:25 inet n - - - - smtpd
Per abilitare la seconda istanza e verificare che lo sia davvero (deve esserci una y nella terza colonna):
postmulti -i postfix-mx -e enable postmulti -l -a - - y /etc/postfix postfix-mx mta y /etc/postfix-mx
Helper per multi istanza
Per editare il file main.cf
di una istanza secondaria si possono usare in abbinata i programmi helper postmulti
e postconf
. In questo esempio di imposta l'opzione master_service_disable
al valore blank:
postmulti -i postfix-mx -x postconf -e "master_service_disable ="
Avviare tutte le istanze
Lo script start/stop di Debian gestisce le multi istanze, quindi basta dare:
/etc/init.d/postfix restart
Tool mailq, postcat, etc. in multi istanza
Alcuni alias di postfix sono usati per particolari modalità, ad esempio l'alias mailq è tradizionalmente utilizzato per vedere i messaggi in coda. In una configurazione multi istanza è necessario indicare la configurazione alternativa specificando la directory di configurazione. Ad esempio se la directory di configurazione alternativa è /etc/postfix-mx/:
mailq -C /etc/postfix-mx
Discorso analogo per il comando postcat (usato ad esempio per vedere il contenuto di un messaggio in coda) oppure per postsuper. Notare l'opzione -c minuscola:
postcat -c /etc/postfix-mx -q 6702568035C
postsuper -c /etc/postfix-mx -d 6702568035C