jueves, 23 de septiembre de 2010

Instalación de un servidor de correo (parte2)

En la entrada anterior, vimos cómo activar en un servidor el envío y recepción de correo por medio del sendmail, en esta ocasión, vamos a habilitar este servidor para que reciba el correo de nuestra organización. En mi ejemplo, voy recibir el correo del dominio unixymas.com.mx con el servidor ubuntu.unixymas.com.mx.

Para dar de alta este servicio, es indispensable anunciarlo en Internet por medio del servidor DNS de mi dominio, por lo que vamos a utilizar el que instalamos en una entrada anterior, con este mismo servidor (solaris10.unixymas.com.mx), vamos a realizar pruebas, así que, previamente le instalé el sendmail.

Para anunciar en Internet el servidor de correo para el dominio, agregamos en el archivo de la zona que corresponde a nuestro dominio un registro MX de esta forma:

unixymas.com.mx.        IN MX 10 ubuntu.unixymas.com.mx.

Con este registro, estoy definiendo para el dominio unixymas.com.mx un servidor de correo (Mail eXchanger) con un número de prioridad 10 y por nombre ubuntu.unixymas.com.mx. El número de prioridad es completamente libre a nuestro criterio, en el caso de que existiera más de un servidor de correo, el número define qué servidor debe anunciar con más frecuencia, si para todos los servidores el número de prioridad es igual, los anuncia con la misma frecuencia. El nombre del servidor puede ser parte de nuestro dominio o ser un servidor que pertenezca a un dominio diferente, las 2 condiciones que debe tener es que su nombre pueda ser resuelto por algún servidor y que éste tenga una respuesta autoritativa. Para este ejemplo, el servidor es parte de mi dominio, por lo que en la misma zona tengo definido un registro A para este servidor:

ubuntu  IN A 192.168.188.132

Una vez finalizada la edición de mi archivo de zona, reinicio el servidor BIND, este reinicio puede ser simplemente dando de baja el servidor y dándolo de alta nuevamente. La otra forma es por medio del comando rndc desde el mismo servidor:

rndc reload

Ahora, volviendo al servidor de correo, vamos a cambiarnos al directorio cf/cf dentro de los archivos de instalación, aquí recordaran que se encuentran los archivos de configuración, los .mc, vamos a realizar algunas modificaciones al archivo sendmail.mc para "enmascarar" nuestros mensajes, es decir, que los mensajes generados en el servidor, aparezcan solo con el dominio en su remitente en lugar de agregar el nombre completo del servidor, para esto vamos a agregar las siguientes líneas:

MASQUERADE_AS(`dominio'): Define la máscara, es decir, dominio con el que se van a enmascarar los mensajes.

FEATURE(`allmasquerade'): Indica que debe agregar la máscara al nombre de los usuarios que envíen mensajes.

FEATURE(`masquerade_envelope'): Indica que en los encabezados, la dirección de remitente debe estar enmascarada.

Para mi servidor el archivo sendmail.mc quedo de la siguiente forma:

divert(-1)
#
# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers.
#       All rights reserved.
# Copyright (c) 1983 Eric P. Allman.  All rights reserved.
# Copyright (c) 1988, 1993
#       The Regents of the University of California.  All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#

#
#  This is a generic configuration file for Linux.
#  It has support for local and SMTP mail only.  If you want to
#  customize it, copy it to a name appropriate for your environment
#  and do the modifications there.
#

divert(0)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
MASQUERADE_AS(`unixymas.com.mx')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl
MAILER(local)dnl
MAILER(smtp)dnl

Noten que las cadenas de caracteres se delimitan con un acento grave al inicio y un apóstrofe al final, además de que todas las sentencias se delimitan al final con la cadena dnl, esta cadena sería un equivalente al punto y coma de algunos lenguajes de programación.

Terminada la edición del archivo "compilamos" el archivo por medio del m4, de esta forma:

m4 ../m4/cf.m4 sendmail.mc > sendmail.cf

Si llegara a aparecer un mensaje de error relacionado con permisos sobre el archive sendmail.cf, simplemente le cambiamos los permisos o lo borramos. El archivo sendmail.cf lo copiamos a /etc/mail.

Por último modificamos el archivo /etc/mail/local-host-names agregando el nombre de nuestro dominio (en este caso unixymas.com.mx), reiniciamos el sendmail y ya tenemos listo nuestro servidor para enviar y recibir mensajes con el nombre de nuestro dominio.

En mi caso voy a probar utilizando el comando mail:

mail hajarami@solaris10.unixymas.com.mx
Subject: Prueba
Mensaje de prueba
.

Este es el mensaje que se recibió incluyendo encabezados:

From hajarami@unixymas.com.mx Thu Sep 23 17:55:18 2010
Return-Path: <hajarami@unixymas.com.mx>
Received: from ubuntu.unixymas.com.mx (ubuntu.unixymas.com.mx [192.168.188.132])
        by solaris10.unixymas.com.mx (8.14.4+Sun/8.14.4) with ESMTP id o8NMtGpG000876
        for <hajarami@solaris10.unixymas.com.mx>; Thu, 23 Sep 2010 17:55:17 -0500 (CDT)
Received: from ubuntu.unixymas.com.mx (localhost [127.0.0.1])
        by ubuntu.unixymas.com.mx (8.14.4/8.14.4) with ESMTP id o8NMt1Dn001306
        for <hajarami@solaris10.unixymas.com.mx>; Thu, 23 Sep 2010 17:55:01 -0500
Received: (from hajarami@localhost)
        by ubuntu.unixymas.com.mx (8.14.4/8.14.4/Submit) id o8NMt1vK001304
        for hajarami@solaris10.unixymas.com.mx; Thu, 23 Sep 2010 17:55:01 -0500
Date: Thu, 23 Sep 2010 17:55:01 -0500
From: Hector Alejandro Jaramillo Zavala <hajarami@unixymas.com.mx>
Message-Id: <201009232255.o8NMt1vK001304@ubuntu.unixymas.com.mx>
To: hajarami@solaris10.unixymas.com.mx
Subject: Prueba
Content-Length: 18

Mensaje de prueba

Como podrán observar, en el mensaje aparece la dirección del remitente sólo con el dominio unixymas.com.mx, si yo envió un mensaje a esta dirección lo voy a recibir en mi servidor ubuntu.

Si tengo conectados mis servidores de correo y DNS en Internet, y en el NIC tengo contratado mi dominio y tengo registrado mi servidor DNS como servidor primario, voy a poder enviar mensajes de esta misma forma a cualquier dirección válida en Internet, además de que también voy a poder recibir mensajes.

Con esto ya tengo un servidor capaz de enviar y recibir mensajes de correo electrónico en Internet, en la siguiente entrega, vamos a ver cómo darle a nuestro servidor la capacidad de enviar y recibir mensajes por medio de una aplicación cliente que corra desde nuestra estación de trabajo.

No hay comentarios.: