Empezaremos mostrando este glosario de términos para estar al tanto de lo que realizaremos:
Puertos usados:
- 25 - SMTP
- 110 - POP3
- 143 - Imap
- 587 - Submision
Breve explicación de como funciona un servidor de correo:
En esta imagen Juan le envia un e-mail a Pedro. Al darle clic en enviar, la solicitud la gestiona en servidor smtp por lo que el protocolo debe buscar a que servidor en universidad.com va a dirigirse. Para ello la peticion pasa por un servidor DNS que va a devolverle información sobre el servidor de destino en univerisdad.com, en este caso correo.universidad.com. A esta información se le conoce como Registros MX.
Una vez que se tiene la la información del servidor que va a recibir, el protocolo SMTP envia la petición a correo.universidad.com de los paquetes a entregar para ser almacenados. Cuando Pedro abre su cliente de correo, el servidor entrante de correo POP o IMAP descargarán esa información a la bandeja de entrada.
- Distribución de linux usada: CentOS 6.5
Instalación Servidor de Correo CentOS
Necesitamos tener configurada nuestra tarjeta de red con una IP fija, ya sea con el asistente Network Manager o desde la consola. En este ejemplo usaremos los siguientes parámetros.
IPADDR= 192.168.0.19 NETMASK=255.255.255.0 GATEWAY= 192.168.0.1 DNS1= 187.185.15.114Con esos datos estará configurado (aunque pueden variarse en función de lo que necesite cada uno).
Para instalar el servidor de correo saliente SMTP . Abrimos la terminal y ejecutamos el siguiente comando:
# yum install postfixUna vez instalados los paquetes, levantamos el servicio.
# yum service postfix startLo configuramos para que inicie automáticamente cada vez que inicie el servidor.
# yum chkconfig postfix onEstará configurado.
Editamos el archivo de configuración main.cf que esta en la siguiente ruta:
# /etc/postfix/main.cf
# Establecer el hostname que vamos a adminsitrar. myhostname = correo.solvetic.net # Establecer el dominio principal. mydomain = solvetic.net #Descomentamos ésta línea: myorigin = $mydomain # Establecer que trabaje por todas las interfaces. inet_interfaces = all #Descomentamos la línea siguiente mynetworks_styles = subnet # Establecer las redes locales, para este ejemplo asumimos que nuestra LAN es 192.168.0.1/24 mynetworks = 192.168.1.0/24, 127.0.0.0/8 #Descomentamos la siguiente línea home_mailbox = Maildir/Guardamos los cambios, salimos y reiniciamos el servicio de Postfix.
#service postfix restartYa estará levantado.
Para instalar el servicio de POP3 e IMAP (servidor de correo entrante):
# yum install dovecotAhora levantamos el servicio:
# yum service postfix startLo configuramos para que inicie automáticamente una vez encendido el servidor:
# yum chkconfig dovecot onEditar el archivo de configuración dovecot.conf
Nos vamos a la siguiente ruta:
# /etc/dovecot/dovecot.confDescomentamos el parámetro:
#Protocols we want to be serving protocols = imap pop3 lmtpGuardamos los cambios, salimos y reiniciamos el servicio de Dovecot.
# service dovecot restartCon esto estará listo.
Ahora vamos a comprobar que nuestro servidor funciona -la parte más divertida- y para ellos crearemos dos usuarios, uno será el emisor y el otro el receptor. Para esta comprobación necesitamos tener instalado telnet o netcat.
# yum install telnet
Creamos dos usuarios comunes:
Usuario 1 # useradd pedro # passwd pedro # password: 12345 Usuario 2 # useradd juan # passwd juan # password: 12345Ahora abriremos una conexión al servidor de correo saliente ESMTP Postfix a través de telnet en el puerto 25 (smtp) con el comando:
# telnet 127.0.0.1 25A continuación escribimos lo siguiente:
HELO solvetic.net -Enter- MAIL FROM: pedro -Enter- RCPT TO: juan -Enter- DATA (Enter). Hola este es una prueba de correo. (terminamos el mensaje en el DATA con Enter y un punto al final) QUITCerramos la conexión y ahora veremos si llegó el mensaje a juan. Para ellos abrimos una conexión al servidor de correo entrante Dovecot a través de telnet en el puerto 110 (POP3).
# telnet 127.0.0.1 110A continuación escribimos lo siguiente:
user juan -Enter- pass 12345 -Enter- LIST -Enter- RETR 1 -Enter- (El número 1 aquí indica que es el primer mensaje enviado)Y ahora podremos ver el mensaje que hemos enviamos de Pedro a Juan.