9. Dominios virtuales

En esta sección veremos la forma en que podamos administrar las cuentas de usuarios en diversos dominios. Por simplicidad, supondremos que los dominios son sólo dos: "incacoca.com" y "dbe.org.pe". Las cuentas existentes deben ser:

oscar@incacoca.com
ana@incacoca.com
alex@incacoca.com
jose@incacoca.com

diego@dbe.org.pe
ana@dbe.org.pe
DiegoMaradona@dbe.org.pe

9.1. Cuentas en el sistema

Lo primero que haríamos en el caso estándar de un solo dominio es crear las cuentas de todos los usuarios:

# useradd oscar
# useradd ana
...
Pero hay dos inconvenientes. En primer lugar, hay dos cuentas distintas (para dos personas distintas) con el mismo usuario "ana". En segundo lugar, la cuenta "DiegoMaradona" no es válida en la medida que Sendmail intentará enviar los mensajes de este destinatario a "diegomaradona" (en minúsculas.)

Una solución a este dilema consiste en asociar nombres de usuario totalmente independientes de la dirección, más o menos del siguiente modo:

oscar@incacoca.com  -> vdu0001
ana@incacoca.com    -> vdu0002
alex@incacoca.com   -> vdu0003
jose@incacoca.com   -> vdu0004

diego@dbe.org.pe    -> vdu0005
ana@dbe.org.pe      -> vdu0006
DiegoMaradona@dbe.org.pe  -> vdu0007
Cualquier otra dirección en estos dominios (o cualquier nuevo dominio) recibirá así un "username" formado por la palabra "vdu" y un número secuencial ("vdu" es un prefijo cualquiera que acabo de imaginar. Para mí significa Virtual-Domain-User.)

Por tanto, crearemos los usuarios del siguiente modo:

# useradd vdu0001
# passwd vdu0001
...
# useradd vdu0007
# passwd vdu0007

9.2. Asociar direcciones electrónicas a las cuentas

Para esto se emplea el archivo "virtusertable" localizado en el directorio "/etc/mail". Allí colocaríamos simplemente:

oscar@incacoca.com  vdu0001
ana@incacoca.com    vdu0002
alex@incacoca.com   vdu0003
jose@incacoca.com   vdu0004
diego@dbe.org.pe    vdu0005
ana@dbe.org.pe      vdu0006
DiegoMaradona@dbe.org.pe   vdu0007
Luego ejecutaríamos "make" (estando todavía en el directorio "/etc/mail") para regenerar la versión compilada.

El archivo "cf" que proporciona RedHat ya incluye la referencia a "virtusertable". Si se partiera de cero, lo más conveniente es usar el método "M4" incluyendo una línea como la que sigue en el archivo "sendmail.mc":

FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
Lo cual genera la referencia a este archivo así como los rulesets necesarios para aprovecharlo.

9.3. DNS

Como cabría de esperarse, en el DNS debe configurarse los registros necesarios para que el correo de forma user@incacoca.com y user@dbe.org.pe se redirija a nuestro servidor. Esto se hace configurando el registro MX en los archivos de configuración de esas zonas. Si nuestro servidor es "correo.laorganizacion.org", la configuración de la zona "incacoca.com" debería contener:

@	1D	IN	MX	0	correo.laorganizacion.org.
La zona "dbe.org.pe" tendría algo similar.

9.4. Local-host-names

Es necesario también indicar a Sendmail que los mensajes de dominios "incacoca.com" y "dbe.org.org" deben ser aceptados. Para esto, incluirlos en el archivo "/etc/mail/local-host-names".

Como siempre, la apertura del relay dependerá de dónde se ubican los clientes, cosa que no se repetirá aquí.

9.5. Configuración del MUA

La única diferencia con el caso "mono-dominio" en lo que compete al MUA, corresponde a la configuración para RECIBIR el correo. Ya sea POP o IMAP, hay que indicar que la recepción se debe hacer con los usuarios "vduXXXX".

Por otro lado, el ENVÍO sí se debe hacer con la dirección electrónica completa (por ejemplo alex@incacoca.com)