Dominio virtual de e-mail Introducción Con el poder actual de los computadores personales, las tareas que antiguamente eran realizadas por varios servidores hoy son fácilmente realizadas por uno solo. Con el éxito de Internet y del sistema de e- mail, somos llevados a administrar varios dominios de e-mail indepen­ dientes en la misma máquina. Y es ahí que entra Linux! 11.. PPrriinncciippiiooss Dominios virtuales de e-mail, son una forma de administrar listas independientes de usuarios en el mismo servidor. Cada dominio virtual tiene su propio archivo de señas, su propio directorio de e-mail y su propio archivo de alias. Para cada dominio virtual de e-mail, el _L_i_n_u_x_c_o_n_f irá a definir: · /etc/vmail/passwd.dominio_virtual · /etc/vmail/shadow.dominio_virtual · /etc/vmail/aliases.dominio_virtual · /var/spool/vmail/dominio_virtual/ · /vhome/dominio_virtual/ donde dominio_virtual es un dominio, como foo.com.br por ejemplo. 22.. LLaa ccaajjaa ddee ddiiáállooggoo ddee llaa ddeeffiinniicciióónn ddee ddoommiinniioo vviirrttuuaall Para crear un dominio virtual de e-mail nuevo, usted debe completar una caja de diálogo sencilla. Hay otras tareas relacionadas al DNS y a alias de IP, que se describen en otra sección de esta ayuda. A continuación tenemos la descripción de la caja de diálogo principal. 22..11.. UUnn nnoommbbrree Usted debe darle un nombre al dominio. Eso es todo. 22..22.. DDeessttiinnoo ddee rreettoorrnnoo Es un campo opcional. Normalmente, cuando un mensaje de e-mail es enviado para una cuenta de un dominio virtual de e-mail, ocurre el siguiente proceso: · Revisa si existe un alias con ese nombre. Si existe, manda el mensaje para todos los miembros de la lista. Los alias pueden apuntar hacia otros alias. · En caso de que no haya un alias, entonces revisa la lista del dominio virtual. El e-mail es anexado a la caja del usuario correspondiente. · En caso de que no haya ni alias ni usuario, el mensaje es rechazado y el remitente recibirá un mensaje de error. Si ese campo está definido, el e-mail en vez de ser rechazado, será enviado a esa dirección de retorno, que puede ser: vvaaccííoo Es el por defecto. El mensaje es rechazado. oottrroo__uussuuaarriioo@@oottrroo__ddoommiinniioo El mensaje es enviado a un usuario específico de otro dominio. @@oottrroo __ddoommiinniioo El mensaje es enviado para la misma cuenta, pero en otro dominio. Por ejemplo, un e-mail enviado para desconocido@este_dominio será repetido para desconocido@otro_dominio. ccuueennttaa El mensaje es enviado para otra cuenta en el mismo dominio. Esta cuenta puede ser un alias. 22..33.. AArrcchhiivvooss ddee aalliiaass Cada dominio virtual tiene implícito un archivo de alias llamado /etc/vmail/alias.dominio donde "dominio" es el nombre del dominio. Usted puede definir uno más. Ellos serán usados por el programa vdeliver. El implícito tiene la prioridad más alta. El vdeliver mira en el primero, después en el segundo, hasta encontrar el nombre. Note que, como los alias normales (/etc/alias) procesados por el sendmail, la definición de alias puede apuntar hacia otros alias, pueden ser definidas listas de discusión, etc. Los archivos de alias son gerenciados por la misma caja de diálogo de los alias del sendmail, y como tal, ofrece las mismas capacidades. 22..44.. AAlliiaass ppaarraa eessttee ddoommiinniioo Es posible tener varios nombres de dominio que apunten hacia el mismo directorio de e-mail. Usted puede adicionar todos los que sean necesarios. Por ejemplo, alguien define el dominio virtual foo.com y después registra el foo.com.br. Usando alias de dominio, ambos dominios serán equivalentes. 33.. UUnnaa nnoottaa aanntteess ddee eemmppeezzaarr El dominio virtual de e-mail es un suplemento a las capacidades normales del e-mail de su servidor. El dominio de e-mail normal todavía es administrado apropiadamente y los e-mails son guardados en /var/spool/mail. Entonces, si su máquina está corrientemente aceptando e-mails para el dominio foo.com.br y usted quiere recibir separados los e-mails para foo1.com.br y foo2.com.br, sólo tendrá que definir estos dos dominios virtuales de e-mail. La configuración de foo.com.br permanece inalterada. 44.. CCóómmoo ddeeffiinniirr uunn ddoommiinniioo vviirrttuuaall ddee ee--mmaaiill Aquí le presentamos esto, paso a paso: 44..11.. CCóómmoo aaddaappttaarr llooss cclliieenntteess PPOOPP El usuario POP no tiene que hacer nada especial, lo cual es algo excelente: "queremos abrigar varios servidores de e-mail en una máquina, y no queremos que todos sepan eso" &:) 44..22.. CCóómmoo iinnssttaallaarr eell sseerrvviiddoorr El truco para leer el e-mail es exactamente el mismo de un dominio virtual de WWW: usted necesita direcciones IP. Suponga que desee crear tres dominios virtuales de e-mail: va.foo.com.br, vb.foo.com.br y vc.foo.com.br. Piense en ellos como si usted fuera a instalar tres servidores independientes, cada uno sirviendo a un único dominio. Esto es lo que describiremos, y después mostraremos que esos tres servidores pueden ser colocados en una sola máquina. 44..22..11.. EEnn eell DDNNSS Desde el punto de vista del DNS, se tiene un servidor de e-mail por dominio. Entonces el registro MX de cada dominio será: · va.foo.com.br -> e-mail.va.foo.com.br · vb.foo.com.br -> e-mail.vb.foo.com.br · vc.foo.com.br -> e-mail.vc.foo.com.br Con el DNS, es eso lo que se informa al mundo, y a los usuarios de e- mail. De resto, usuarios del va.foo.com.br, buscarán su e-mail en e- mail.va.foo.com.br, usuarios del vb.foo.com.br, buscarán su e-mail en e-mail.vb.foo.com.br, y usuarios del vc.foo.com.br, buscarán su e-mail en e-mail.vc.foo.com.br. Con esta configuración, se puede tener un servidor (real) por dominio de e-mail (el estado corriente antes del dominio virtual de e-mail). 44..22..22.. IInnssttaallaannddoo llooss sseerrvviiddoorreess Para continuar la configuración (sea real o virtual), vaya al DNS y defina un número IP para cada servidor (ése es el punto clave). Serán usados números IP privados como ejemplo, y todos estarán en la misma red. · e-mail.va.foo.com.br -> 172.16.0.1 · e-mail.vb.foo.com.br -> 172.16.0.2 · e-mail.vc.foo.com.br -> 172.16.0.3 Entonces se pueden instalar tres servidores Linux con estos IPs y decir al _S_e_n_d_m_a_i_l de cada uno que acepte uno de esos tres dominios. 44..22..33.. TToorrnnáánnddoossee vviirrttuuaall En vez de instalar tres servidores Linux, instale apenas uno. Para cada dominio virtual de e-mail, se debe hacer: · Defínalo usando el _L_i_n_u_x_c_o_n_f, lo que requiere apenas nombrar el dominio. · Defina un alias de IP (con el _L_i_n_u_x_c_o_n_f) para que la máquina responda por ese número IP también. Esto se hace en el menú "Ambiente de red/Alias de IP para máquinas virtuales" · Instale el /usr/lib/linuxconf/lib/vpop3d como un sustituto al /usr/sbin/in.pop3d en el /etc/inetd.conf. El vpop3d es un buen sustituto del pop3d aunque usted no use dominios virtuales. El alias de IP es el punto clave. El protocolo POP no tiene cómo identificar el destino de una requisición, excepto con el número IP de destino. Es por eso que los clientes POP deben usar un nombre diferente (en verdad un IP diferente) para leer los mensajes de dominios de e-mail diferentes, algo que ya se esperaba. 44..22..33..11.. CCóómmoo iinnssttaallaarr eell vvppoopp33dd ¿El vpop3d es un sustituto del servidor POP que usted usa en su distribución? No siempre. Varias distribuciones vienen con un pop3d diferente, que tiene soporte para NIS, PAM y otros métodos de autenticación. La mejor manera de tener soporte para todo eso fácilmente es dejar el servidor pop3d nativo cuidando el dominio de e- mail _p_r_i_n_c_i_p_a_l, y el vpop3d administrando apenas los virtuales. Para obtener este resultado, simplemente pase como un argumento al vpop3d la ruta del servidor pop3 nativo. El vpop3d le dará el control de las requisiciones POP hechas al dominio principal. Aquí le damos un ejemplo de cómo ajustar el /etc/inetd.conf: pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/lib/linuxconf/lib/vpop3d /usr/sbin/ipop3d Entonces para instalarlo, no retire la llamada del pop3d, sino simplemente coloque el /usr/lib/linuxconf/lib/vpop3d delante. Esta línea puede variar un poco en cada distribución. 55.. CCóómmoo ddeeppuurraarr uunnaa ccoonnffiigguurraacciióónn Muchos errores cometidos en la definición de dominios virtules se relacionan al DNS. Aquí le suministramos algunos tests que usted puede realizar para verificar si su configuración está correcta. Un aviso: usar clientes POP (programa de e-mail) no sirve para evaluar ese tipo de configuración. Esos programas no son muy informativos para ese tipo de tarea. O funcionan o no funcionan. 55..11.. RReevviissaannddoo eell DDNNSS Para cada dominio virtual, usted debe hacer algo en el DNS. Usando el dominio va.foo.com.br como ejemplo, aquí le presentamos los pasos: 55..11..11.. EEll MMXX El comando nslookup -q=mx va.foo.com.br deberá mostrar algo útil. Por lo menos el nombre del servidor de e- mail debe ser obtenido con sus números IP. O será e- mail.va.foo.com.br, o el nombre oficial del servidor. El nombre obtenido no necesita hacer parte del dominio va.foo.com.br, apenas debe apuntar el servidor físico apropiado. 55..11..22.. EEll sseerrvviiddoorr ddee ee--mmaaiill vviirrttuuaall El e-mail.va.foo.com.br debe ser definido en el DNS. El comando nslookup e-mail.va.foo.com.br debe producir un número IP. Además de eso, el comando nslookup o-número-IP-obtenido debe mostrar e-mail.va.foo.com.br. Si usted no obtiene eso como respuesta, entonces el servidor POP virtual no funcionará, y punto final. Usted necesita tener el mapeamento reverso correcto de ese número IP. El Linuxconf hace eso automáticamente si el mapeamento especial del reverso del dominio está definido en el mismo DNS del dominio virtual. Entonces, si usted tuvo la salida correcta de esos dos comandos, ya ha hecho la peor parte. 55..11..33.. ¿¿HHaayy uunn sseerrvviiddoorr eessccuucchhaannddoo?? Después usted realiza el siguiente comando: telnet e-mail.va.foo.com.br que debe conectarse al servidor físico. Eso prueba que el alias de IP está instalado correctamente. 55..11..44.. ¿¿HHaayy uunn sseerrvviiddoorr PPOOPP vviirrttuuaall eessccuucchhaannddoo?? Ejecute el siguiente comando y vea si el vpop3d está instalado apropiadamente. En caso afirmativo, nada más puede salir mal o estar errado. telnet e-mail.va.foo.com.br pop-3 Usted debe obtener +OK Virtual va.foo.com.br POP3 Server (Versión 1.004) ready. El "va.foo.com.br" es el punto clave aquí. Si usted no lo obtuvo como respuesta, entonces o el dominio virtual no está definido, o el vpop3d no está instalado en el /etc/inetd.conf. 55..11..55.. UUnnaa hheerrrraammiieennttaa ppaarraa hhaacceerr uunnaa rreevviissiióónn rrááppiiddaa El script /usr/lib/linuxconf/lib/checkvdomain puede usarse para hacer una revisión de la instalación del vpop3d para un dominio virtual. Para aprender más, córralo sin argumentos. El script /usr/lib/linuxconf/lib/testalldomain lee el archivo /etc/named.boot y extrae todos los dominios definidos en él. Entonces él corre el script checkvdomain (asumiendo que hay una máquina virtual de e-mail para cada dominio) en todos los dominios. Entonces él dice si el dominio está configurado apropiadamente o no. Es muy útil para un administrador que administra muchos dominios virtuales. 66.. UUnnaa vveezz ooppeerraacciioonnaall 66..11.. CCóómmoo aaddiicciioonnaarr uussuuaarriiooss PPOOPP Una vez que un dominio virtual de e-mail está funcionado, usted todavía tiene que adicionar usuarios POP a él. Hay una entrada de menú en Cuentas de usuarios llamada Cuentas POP virtuales (solamente e- mail) . Él lo deja escoger un dominio virtual y adicionar o editar cuentas nuevas en él. 66..22.. CCooaaddmmiinniissttrraaddoorr Para cada dominio virtual de e-mail, hay un privilegio nuevo adicionado al Linuxconf. Usted puede garantizar ese privilegio a cualquier usuario normal. Él podrá gerenciar la lista de usuarios (apenas usuarios POP) del dominio virtual. Eso es totalmente operacional usando la interfaz HTML también. 66..33.. CCóómmoo uunn uussuuaarriioo ppuueeddee ccaammbbiiaarr ssuu sseeññaa Un problema con los usuarios POP (y también usuarios PPP) es que ellos no tienen acceso a una cuenta shell desde donde podrían fácilmente cambiar su seña. El Linuxconf provee una solución a ese problema, pero está disponible apenas en la interfaz HTML. Ella tiene soporte total para dominios virtuales de e-mail. Si usted apunta su navegador para la siguiente URL: http://seu_servidor:98/htmlmod:userpass: accederá una pantalla sencilla que deja a cualquiera cambiar su propia seña. "Su_servidor" puede ser cualquiera de los servidores POP virtuales o el nombre normal de su servidor. El Linuxconf administrará el archivo de señas apropiado basado en el número IP usado para alcanzarlo. Es una buena idea _e_s_c_o_n_d_e_r esa URL en una de sus páginas de informaciones de su servidor (es medio aburrida de digitar). 77.. AAllgguunnooss pprroobblleemmaass 77..11.. TTooddooss llooss ee--mmaaiill ddee ddoommiinniiooss vviirrttuuaalleess ssaalleenn eennmmaassccaarraaddooss Eso es ocasionado por una mala configuración del DNS. Todo el e-mail que sale del servidor es reescrito, entonces parece que vino del dominio principal del servidor. Este problema se origina de una funcionalidad nueva del sendmail. En su inicio, el sendmail barre todas las interfaces de red (y alias de IP) y coge los nombres asociados con sus números IP. Él asume que todos esos nombres son equivalentes al dominio principal del servidor. Cualquier e-mail originario de uno de esos nombres será enmascarado como viniendo del dominio principal. El problema en el DNS es simplemente que usted definió el mapeamento reverso de un número IP para un nombre de dominio, en vez de uma máquina de este dominio. El Linuxconf no lo dejará cometer ese error, pues él nunca hace un mapeamento reverso que señale hacia un nombre de dominio. Pero si se hace el DNS a mano, se está sujeto a eso. Entonces asegúrese de que todos los números IP asociados a alias de IP apuntan hacia una máquina de un dominio, y no hacia el propio dominio. Reinicie su DNS y su sendmail y todo quedará correcto. 88.. CCoonncclluussiióónn Después de definir los alias apropiados de IP, un usuario POP no tiene cómo saber si hay tres servidores o apenas uno. Ése es el punto clave. Si la carga en el servidor aumenta, usted puede querer distribuir algunos dominios virtuales de e-mail en otros servidores. Para todos (los usuarios, del DNS), eso será completamente claro.