User Tools

Site Tools


doc:appunti:linux:sa:postfix_multi_istance

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 (usato ad esempio per eliminare un messaggio dalla coda). Notare l'opzione -c minuscola:

postcat -c /etc/postfix-mx -q 6702568035C
postsuper -c /etc/postfix-mx -d 6702568035C
doc/appunti/linux/sa/postfix_multi_istance.txt · Last modified: 2017/12/06 18:09 by niccolo