Postfix #
Característiques #
- Enviament de correu sortint amb SMTP
- MTA predeterminat en ubuntu
- Compatible amb MTA sendmail
Instal·lació #
Instal·lar #
sudo apt-get install postfix
sudo apt-get install mailutils (opcional)
Configuració inicial #
sudo dpkg-reconfigure postfix
- S'ha de posar el domini, la xarxa
Directori de configuració #
/etc/postfix
Fitxers de logs #
sudo tail -f /var/log/syslog | grep postfix
sudo tail -f /var/log/mail.err
sudo tail -f /var/log/mail.log
Prova de funcionament #
telnet localhost 25
- Utilitzant les comandes de SMTP enviar un correu a un usuari
- fer login amb l'usuari i executar la comanda mail. Hauria d'apareixer el nou correu
Directives principals #
directiva | descripció |
---|---|
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) | Això és el missatge de benvinguda. Si trobem $ davant una paraula, vol dir que és una variable i volem el valor que contngui. Per exempe $myhostname posarà la cadena "roger-desktop". |
myhostname = roger-desktop | Estableix el nom del host servidor |
alias_maps = hash:/etc/aliases | Indica on està el fitxer d'àlies de correu |
alias_database = hash:/etc/aliases | Indica on està el fitxer de base de dades d'àlies de correu i que és de tipus "hash". "Hash" és un fitxer especial amb format binari (base de dades), obtingut a partir de un fitxer de text, que fa que la cerca d'algun valor al fitxer sigui més ràpida. |
myorigin = /etc/mailname | Domini origen. El domini a afegir per defecte al compte de correu que es fa servir a "mail from:". |
mydestination = acme.com, roger.local, localhost.localdomain, localhost | Dominis que es consideren que són el destí gestionat per aquest servidor Postfix. Quan arribi un correu amb "rcpt to:" amb un nom de domini de la llista, no es reenviarà si no que es guardarà a una bústia. Indica els dominis als que s'entrega el correu localment en lloc de reenviar-lo (acaben el seu viatge). S'ha de posar tots els noms que te l'equip local |
relayhost = | Adreça IP del MTA al que es reenviarà el correu d'aquest MTA. |
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 | Xarxa i/o hosts als que està permés reenviar el seu correu per aquest MTA. Separeu cada xarxa amb un espai. Per exemple, si es vol reenviar el correu de la xarxa 192.168.0.0/24, si aquesta és la nostra xarxa local, cal afegir-la al final. |
mailbox_size_limit = 0 | Tamany màxim de bústia (mailbox), 0= infinit |
recipient_delimiter = + | Símbol per separar els destinataris de correu |
inet_interfaces = all | Interfaces on escolta Postfix |
: Paràmetres postfix |
- Les directives són semblants a variables. Els assignem valor fent:
paràmetre = valor
- Per fer servir el valor guardat a un paràmetre, anteposem $:
parametre2 = $paràmetre
- Exemples:
mydomain = midominio.com
myorigin = $mydomain
mydestination = $myhostname localhost.$mydomain localhost $mydomain
mynetworks = 192.168.0.0/24, 10.0.0.0/8
Altres directives de Postfix #
-
Les restriccions es posen en forma de llista de paràmetres separats per comes. S'avaluen d'esquerra a dreta fins trobar un que es compleixi i ja no es comprova cap més. La darrera pot ser permit o deny per indicar el cas per defecte.
-
Es pot escriure tot a la mateixa regla, però normalment és molt llarg i es fan servir fitxers DB.
-
Si el paràmetre és "hash:/dir/dir/nom-fitxer" indica que hi haurà un fitxer "nom-fitxer.db" (generat a partir del fitxer de text "nom-fitxer"). Amb la comanda postmap es genera aquest fitxer .db a partir de l'original, que conté la llista de regles a comprovar (postmap nom_fitxer). Segons el paràmetre la llista conté uns valors i accions o altres.
-Veiem algunes directives de restriccions:
-
smtpd_client_restrictions = reject_unknown_client ....... Verificar zona inversa
-
smtpd_sender_restrictions: Comprova restriccions en el moment d'enviar la comanda MAIL FROM. Hi ha moltes restriccions (per ip, domini, usuari, etc). Per exemple, per mirar qui pot enviar correu s'ha d'escriure a "main.cf":
-
smtpd_delay_reject=no # Per avaluar la restricció inmediatament
-
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access, permit
-
I editar el fitxer /etc/postfix/access on ficarem les regles a comprovar (un cop fet, executar postmap):
joan@midominio.com reject
epi@midominio.com reject “No pots enviar correu”
- altres
message_size_limit: Tamany màxim de missatge
mailbox_size_limit: Tamany màxim de bústia
smtpd_client_connection_count_limit: Nombre de connexions màximes des d un client smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_access, .
Comandes d'administració de postfix #
- comandes Postfix: Aquestes comandes s'executen en mode consola per a fer operacions del servidor postfix (si volem veure l'estat del servidor postfix o compilar fitxers db)
comanda | descripcio |
---|---|
mailq | Veure la cua de missatges |
postfix flush | Forçar l'enviament de missatges de la cua d'espera |
postmap | Construir els fitxers auxiliars de Postfix |
postconf | Mostrar tota la configuració de Postfix |
newaliases | reconstruir la base de dades d'àlies |