Nota: questo è un obiettivo d’esame RHCE 7.
Prerequisiti
Per testare questa configurazione, è necessario configurare un server di posta centrale.
Procedura d’installazione
La configurazione di un server DNS master può essere evitata utilizzando la sintassi [mail.example.com] (vedere di seguito) o l’indirizzo IP del gateway di posta.
Installa il pacchetto postfix se non è già lì:
# yum install -y postfix
Attiva il servizio postfix all’avvio (normalmente già abilitato):
# systemctl enable postfix
Avvia il servizio postfix (normalmente già avviato):
# systemctl restart postfix
Configurazioni principali
Ci sono due casi da distinguere:
il sistema non riceve alcuna posta dall’esterno ma inoltra tutte le mail inviate dagli utenti locali (anche le e-mail dagli utenti locali agli utenti locali) a un server di posta centrale: questa è la configurazione null-client,
il sistema accetta qualsiasi e-mail dalla rete locale e li inoltra con quelli inviati dagli utenti locali ad un server di posta centrale: questa è la configurazione del gateway di posta.
L’obiettivo dell’esame RHCE 7 sembra essere più orientato verso la configurazione null-client.
Questo tutorial spiegherà come implementare questa configurazione. I dettagli relativi alla configurazione del gateway di posta verranno mostrati in seguito.
Configurazione Null-client
Supponiamo che il tuo server sia chiamato server.example.com sulla rete 192.168.1.0/24 e il tuo server di posta centrale (gateway di posta in uscita) si chiami mail.example.com a 192.168.1.1.
Modifica il file /etc/postfix/main.cf e modifica le seguenti direttive:
myhostname = server.example.com mydomain = example.com myorigin = $mydomain inet_interfaces = loopback-only mydestination = relayhost = 192.168.1.1
Nota 1: fai attenzione a non specificare $mydomain nell’opzione mydestination (questo memorizzerà tutte le mail localmente, che non è esattamente quello che vuoi).
Nota 2: se hai un server DNS che si occupa di record MX, puoi specificare relayhost = mail.example.com invece dell’indirizzo IP.
Nota3: Se non si imposta un server DNS (ma si utilizza il file /etc/hosts) o se il server DNS non gestisce i record MX, è possibile specificare relayhost = [mail.example.com], questo modulo disattiva le ricerche MX.
Controlla la sintassi:
# postfix check
Controlla la configurazione non predefinita:
# postconf -n
Ricarica la configurazione postfix:
# systemctl restart postfix
Nota: normalmente non è necessario riavviare i processi quando i parametri vengono modificati, è sufficiente un reload. Tuttavia, quando si modifica il parametro inet_interfaces, è necessario riavviare tutti i processi.
C’è un modo più veloce di modificare il file /etc/postfix/main.cf, puoi anche usare il comando postconf. Questo comando con l’opzione -e cambia un parametro con il suo valore specificato e scrive tutto nel file /etc/postfix/main.cf! Puoi verificarlo riavviando i processi postfix o riavviando il server!
# postconf -e 'relayhost = 192.168.1.1'
Per ottenere il valore associato al parametro relayhost, digitare:
# postconf relayhost relayhost = 192.168.1.1
Test
Per inviare una mail al server di posta centrale (è necessario creare tale utente sul server di posta centrale), digitare:
# echo "This is a test." | mail -s "Test" me@example.com
Nota: il comando echo introduce il contenuto della posta. L’opzione -s specifica l’oggetto della posta seguito dal destinatario.
Controlla la coda di posta locale, digitare:
# mailq -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 822FA3DE4 535 Tue Aug 5 16:54:45 root@example.com (cannot update mailbox /var/mail/me for user me. destination /var/mail/me is not owned by recipient) me@example.com -- 0 Kbytes in 1 Request.
Riordinare una mail (-r), digitare:
# postsuper -r 822FA3DE4 postsuper: name_mask: all postsuper: inet_addr_local: configured 2 IPv4 addresses postsuper: inet_addr_local: configured 2 IPv6 addresses postsuper: renamed file deferred/8/822FA3DE4 as maildrop/822FA3DE4 postsuper: 822FA3DE4: requeued postsuper: Requeued: 1 message
Per eliminare la posta (-d) nella coda locale, digitare:
# postsuper -d 822FA3DE4
Nota: il comando postsuper -d ALL cancella tutti i messaggi nella coda di posta (ALL in maiuscolo).
Per leggere la posta precedente per me sul server di posta centrale (qui mail.example.com), connettersi ad esso e digitare:
[mail]# su - me $ mail Heirloom Mail version 12.4 7/29/08. Type ? for help. "/var/spool/mail/me": 1 message U 1 root Tue Aug 5 18:31 22/755 "Subject: Test"
Per controllare tutto il processo seguito da un’e-mail, digitare:
# tail -f /var/log/maillog 18:07:40 postfix/pickup[2338]: 822FA3DE4: uid=89 from=<root@example.com> orig_id=0FB353E45 18:07:40 postfix/cleanup[24446]: 822FA3DE4: message-id=<20140805145446.0FB353E45@server.example.com> 18:07:40 postfix/qmgr[2339]: 822FA3DE4: from=<root@example.com>, size=535, nrcpt=1 (queue active) 18:07:40 postfix/local[24448]: warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch 18:07:41 postfix/local[24448]: 822FA3DE4: to=<me@example.com>, relay=local, delay=4375, delays=4375/0.02/0/0.25, dsn=4.2.0, status=deferred (cannot update mailbox /var/mail/me for user me. destination /var/mail/me is not owned by recipient)
Configurazione del gateway
Se si desidera configurare una configurazione di gateway di posta (un server che riceve e-mail dalla rete locale e le inoltra ad un server di posta centrale), eseguire i seguenti passaggi.
Modifica il file /etc/postfix/main.cf e modifica le seguenti direttive:
myhostname = server.example.com mydomain = example.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost mynetworks = 192.168.1.0/24, 127.0.0.0/8 relayhost = 192.168.1.1
Nota: rispetto alla configurazione del client null, i processi Postfix ascoltano tutte le interfacce di rete (la direttiva inet_interfaces), accettano le mail inviate al dominio example.com (la direttiva mydestination) limitate alla rete locale (la direttiva mynetworks).
Attenzione: non specificare $mydomain nella variabile mydestination se non si desidera memorizzare le mail localmente (questo errore è stato precedentemente fatto in questo tutorial).
Controlla la sintassi:
# postfix check
Controlla la configurazione non predefinita:
# postconf -n
Ricarica la configurazione postfix:
# systemctl restart postfix
Apri il firewall per ricevere email dall’esterno:
# firewall-cmd --permanent --add-service=smtp success
Ricarica la configurazione del firewall:
# firewall-cmd --reload success
Consigli utili
Prima o durante l’esame, puoi andare sulla directory /usr/share/doc/postfix-2.10.1/README_FILES per leggere i files BASIC_CONFIGURATION_README e STANDARD_CONFIGURATION_README riempiti con molti esempi di configurazione Postfix.
Pingback: Obiettivi esame RHCE 7 - prometheusproject