Instalación de un servidor de correos satélite, redirecciones y alias

Índice

Este servidor de correo se instala en el router de un escenario formado por cuatro máquinas en el que ya existe un servidor de correos “oficial” que puede enviar y recibir correos electrónicos a Internet. Para evitar que el resto de equipos de la red puedan enviar correos hay que configurar el cortafuegos del router.

iptables -A FORWARD -p tcp --dport 25 -s 192.168.0.3 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -d 192.168.0.3 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j DROP
iptables -A OUTPUT -p tcp --dport 25 -d 192.168.0.3 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25 -j DROP

A continuación se puede instalar en esta misma máquina el servidor de correos.

sudo apt update
sudo apt install postfix

La instalación de Postfix es interactiva.

Package configuration




                     ┌─────┤ Postfix Configuration ├─────┐
                     │ General mail configuration type:  │ 
                     │                                   │ 
                     │     No configuration              │ 
                     │     Internet Site                 │ 
                     │     Internet with smarthost       │ 
                     │     Satellite system              │ 
                     │     Local only                    │ 
                     │                                   │ 
                     │                                   │ 
                     │      <Ok>          <Cancel>       │ 
                     │                                   │ 
                     └───────────────────────────────────┘ 
                                                           

En este menú se elige la opción Satellite system para que el servidor de correo se instale con esta configuración.

En este caso, el nombre de dominio se puede configurar con el nombre del host, porque este servidor no va a recibir correos. Esto facilita que se pueda identificar el servidor desde el que se reciben las notificaciones en cada caso.

Package configuration

  ┌────────────────────────┤ Postfix Configuration ├─────────────────────────┐
  │ The 'mail name' is the domain name used to 'qualify' _ALL_ mail          │ 
  │ addresses without a domain name. This includes mail to and from <root>:  │ 
  │ please do not make your machine send out mail from root@example.org      │ 
  │ unless root@example.org has told you to.                                 │ 
  │                                                                          │ 
  │ This name will also be used by other programs. It should be the single,  │ 
  │ fully qualified domain name (FQDN).                                      │ 
  │                                                                          │ 
  │ Thus, if a mail address on the local host is foo@example.org, the        │ 
  │ correct value for this option would be example.org.                      │ 
  │                                                                          │ 
  │ System mail name:                                                        │ 
  │                                                                          │ 
  │ luffy.javi.gonzalonazareno.org__________________________________________ │ 
  │                                                                          │ 
  │                   <Ok>                       <Cancel>                    │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘ 

Cuando se instala un servidor de correo de tipo satélite, hay que definir durante la configuración del servidor también el relay host, en este caso, el servidor de correos “oficial” de la red que tiene capacidad de enviar correos a Internet: sanji.

Package configuration

  ┌────────────────────────┤ Postfix Configuration ├─────────────────────────┐
  │ Please specify a domain, host, host:port, [address] or [address]:port.   │ 
  │ Use the form [destination] to turn off MX lookups. Leave this blank for  │ 
  │ no relay host.                                                           │ 
  │                                                                          │ 
  │ Do not specify more than one host.                                       │ 
  │                                                                          │ 
  │ The relayhost parameter specifies the default external host to send      │ 
  │ mail to when no entry is matched in the optional transport(5) table.     │ 
  │ When no relay host is given, mail is routed directly to the              │ 
  │ destination.                                                             │ 
  │                                                                          │ 
  │ SMTP relay host (blank for none):                                        │ 
  │                                                                          │ 
  │ sanji.javi.gonzalonazareno.org__________________________________________ │ 
  │                                                                          │ 
  │                   <Ok>                       <Cancel>                    │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘ 

Por último, para que desde el servidor satélite se puedan enviar correos a Internet, se debe editar el parámetro mynetworks en el fichero /etc/postfix/main.cf del servidor “oficial” de la red que tiene permiso para enviar correos al exterior a través del cortafuegos, en este caso, en sanji.

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24

Para poder enviar correos hay que instalar, además, la herramienta mail con el paquete bsd-mailx.

sudo apt install bsd-mailx

Envíos de correos de notificación desde un servidor satélite

Algunos servicios pueden usar un servidor de correos local para enviar mensajes de notificación a los usuarios. Para demostrar esta funcionalidad del servidor de correos se usa la aplicación apticron.

sudo apt install apticron

Esta herramienta genera una tarea de cron que envía un correo al usuario root periódicamente con infrmación sobre las actualizaciones de la paquetería del sistema. El envío de este correo se puede forzar con sudo apticron. Tras ejecutar este comando, el usuario root recibe el correo en su buzón de entrada.

root@luffy:~# mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/root": 1 message 1 new
>N  1 root@luffy.javi.g  Tue Feb  4 08:48  136/6405  2 Debian package update(s) 
&

En la cabecera del mensaje se puede comprobar cómo se envía al usuario root desde el propio servidor.

Message 1:
From root@luffy.javi.gonzalonazareno.org  Tue Feb  4 08:48:49 2025
X-Original-To: root
To: root@luffy.javi.gonzalonazareno.org
Subject: 2 Debian package update(s) for luffy.javi.gonzalonazareno.org
MIME-Version: 1.0
Content-type: text/plain; charset=UTF-8
Content-transfer-encoding: 8bit
Date: Tue,  4 Feb 2025 08:48:49 +0000 (UTC)
From: root <root@luffy.javi.gonzalonazareno.org>

apticron report [Tue, 04 Feb 2025 08:48:44 +0000]
========================================================================

apticron has detected that some packages need upgrading on:

        luffy.javi.gonzalonazareno.org 
        [ 10.0.200.61 10.0.3.1 172.16.0.1 192.168.0.1 ]

The following packages are currently pending an upgrade:

        linux-image-6.1.0-30-amd64 6.1.124-1
        linux-image-amd64 6.1.124-1

Redirecciones de correo electrónico

Para redirigir el correo que tiene como destino un usuario del servidor a un correo externo se usa un fichero llamado .forward que se ubica en el home del usuario. Así, para redirigir los correos enviados a root a un correo personal se crea el fichero .forward en el home del root.

sudo su -
nano .forward

Y se escribe en este fichero el correo al que se redirigen los mensajes que se envían al root del servidor.

correo@javihuete.site

Alias de usuarios

En el fichero /etc/aliases se pueden configurar los alias del servidor de correo para que se envíen los mensajes destinados a un usuario a otros usuarios del sistema. Por ejemplo, para que los mensajes enviados a root lleguen también a los usuarios usuario y profesor se edita este fichero con el siguiente contenido:

root: usuario, profesor

Además, para confirmar la modificación de este fichero se debe ejecutar el siguiente comando:

newaliases

Tras configurar el alias, ambos usuarios reciben el correo orignialmente dirigido al root.

usuario@luffy:~$ mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/usuario": 1 message 1 new
>N  1 root@luffy.javi.g  Tue Feb  4 09:11  136/6405  2 Debian package update(s) 
& 
profesor@luffy:/home/usuario$ mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/profesor": 1 message 1 new
>N  1 root@luffy.javi.g  Tue Feb  4 09:11  136/6405  2 Debian package update(s) 
& 

Además, si en el home de uno de estos usuarios se crea un fichero .forward, este correo se reenviará a la dirección de correos indicada en el fichero.

comments powered by Disqus

Relacionados

Recolección centralizada de logs de sistema mediante jouranld

Para configurar un servidor de journald en la red local es necesario que todos los equipos de la red cuenten con el componente systemd-journal-remote instalado. Este componente de systemd permite a los diferentes nodos de la red interactuar entre sí y trasladar la información relativa a los logs del sistema desde los clientes al servidor de logs.

Leer

Cómo enrutar una red en OpenStack

OpenStack es un proyecto de cloud computing (computación en la nube) de software libre y código abierto. En este post se usa esta infraestructura para crear un escenario de enrutamiento.

Leer

Gestión de recursos compartidos en Windows Active Directory con cmd y Powershell

Active Directory o Directorio Activo es un servicio de directorio de Windows en el que un equipo servidor comparte recursos como usuarios, grupos o directorios con los equipos clientes que se conectan a él.

Leer