SMTP-A2: Servidores de correo electrónico

En esta actividad cada alumno va a montar:

  • Dos servidores de correo electrónico (para los dominios dominioa.<login>.prueba y dominiob.<login>.prueba)
  • Dos servidores DNS para mantener la infraestructura necesaria (uno maestro y otro esclavo)

El profesor proporcionará un servidor DNS (192.168.200.1) para el TLD prueba. Este servidor delegará la autoridad para <login>.prueba en cada uno de los dos servidores DNS montados por los alumnos. De este modo, los ordenadores que consulten al DNS proporcionado por el profesor podrán resolver nombres de dominio en todos los subdominios de prueba. Debiendo poder enviar correo entre cualquier subdominio.

Indicaciones:

  • Para contar con suficientes direcciones IP se utilizará la subred 192.168.200.0/24 diferente a la subred utilizada en el aula.
  • Cada alumno utilizará dos máquinas virtuales, clonadas a partir de la proporcionada por el profesor.
  • Las máquinas virtuales únicamente tendrán una interfaz de red en modo puente.
  • Las máquinas virtuales tendrán configurada su interfaz de red de modo estático con las IPs 192.168.200.<100+X> y 192.168.200.<200+X>.

 

Desarrollo de la actividad:

Preparación de las máquinas virtuales e instalación del software:

  1. A partir de la máquina virtual proporcionada por el profesor realice dos clones con los nombres Servidor-A y Servidor-B. No olvide que se tratará de clones enlazados y con reinicio de MACs.
  2. Arranque el primer servidor, edite los ficheros /etc/hostname y /etc/hosts para que la máquina tenga por hostname 'ServidorA'. Aproveche para definir en el fichero /etc/hosts la máquina 'proxy' con la dirección del proxy del aula. Reinicie la máquina y compruebe que arranca con el nuevo nombre.
  3. Repita el punto anterior en el otro servidor.
  4. Instale el software necesario en cada uno de los servidores:
    • apt-get update
    • apt-get install bind9 postfix mailutils
    • Durante la configuración de Postfix se deberá indicar que se trata de un servidor de Internet y el dominio será dominioa.<login>.prueba o dominiob.<login>.prueba según se trate de uno u otro servidor.
  5. Llegados a este punto las máquinas ya no necesitan acceder a Internet para descargar paquetes, con lo que es posible:
    • Configurar la interfaz de red de Servidor-A con la IP 192.168.200.<100+X>
    • Configurar la interfaz de red de Servidor-B con la IP 192.168.200.<200+X>
    • Configurar '/etc/resolv.conf' de ambos servidores con la línea 'nameserver 192.168.200.1'. Puede hacer esto editando el fichero '/etc/resolvconf/resolv.conf.d/base'.

 

Configuración de los servidores DNS

En esta actividad es necesario configurar los servidores DNS encargados de los dos dominios que mantendrá cada estudiante. Por simplicidad, y como ambos dominios son subdominios de <login>.prueba se mantendrá una única zona. Para mantener de forma efectiva dos servidores DNS se configurará uno de ellos como maestro y el otro como esclavo (de modo que realizará una transferencia de zona automática a partir del primero).

  1. Configure en ambos servidores DNS el reenvío de consultas a 192.168.200.1
  2. En la máquina Servidor-A escriba en el directorio '/var/cache/bind' el fichero de zona para <login>.prueba
  3. El archivo de zona deberá:
    • Tener un registro NS indicando que la autoridad para el dominio es ns0.<login>.prueba
    • Tener un registro NS indicando que la autoridad para el dominio es ns1.<login>.prueba
    • Tener dos registros de tipo A para que los nombres anteriores se resuelvan a las direcciones correspondientes, es decir a cada uno de los servidores.
    • Tener un registro MX indicando que smtp.dominioa.<login>.prueba se encargará del correo en el dominio dominioa.<login>.prueba
    • Tener un registro MX indicando que smtp.dominiob.<login>.prueba se encargará del correo en el dominio dominiob.<login>.prueba
    • Tener dos registros de tipo A para que los nombres anteriores se resuelvan a las direcciones correspondientes, es decir a cada uno de los servidores.
  4. En la máquina Servidor-A, en el fichero de configuración /etc/bind/named.conf.local declare la zona tal y como se indica:
            zone "<login>.prueba" {
                 type master;
                 file "<login>.prueba.hosts";
                 allow-transfer { <IP de Servidor-B>; };
            };
  5. Reinicie el servicio Bind y compruebe haciendo preguntas a Servidor-A que todo funciona como es debido.
  6. En la máquina Servidor-B, en el fichero de configuración /etc/bind/named.conf.localse declarará la zona tal y como se indica:
            zone "<login>.prueba" {
                 type slave;
                 file "<login>.prueba.hosts";
                 masters { <IP de Servidor-A>; };
            };
  7. Reinicie el servicio Bind en Servidor-B y compruebe:
    • Que en el fichero de registro de Servidor-A se indica que comienza y se completa una transferencia de zona.
    • Que en el fichero de registro de Servidor-B se indica que comienza y se completa una transferencia de zona.
    • Que en el Servidor-B en el directorio /var/cache/bind ha aparecido el fichero de respaldo de la zona. Y que el contenido de este fichero es equivalente a lo escrito en el servidor maestro.
    • Que al utilizar el comando host para hacer preguntas a Servidor-B contesta tal y como lo haría Servidor-A.
  8. Indique al profesor que ya ha configurado los dos servidores DNS para sus dominios, de manera que se pueda delegar la autoridad en ellos.
  9. Si el profesor le indica que ya se ha delegado la autoridad, cambie el fichero /etc/resolv.conf en ambos equipos para que se utilice el DNS del profesor y compruebe:
    • Que se pueden resolver nombres de sus propias zonas
    • Que se pueden resolver nombres de las zonas de otros compañeros
    • Que se pueden resolver nombres de Internet

 

Prueba de envío de correo electrónico:

  1. Utilice el comando 'mail' para enviar un correo electrónico de usuario@dominioa.<login>.prueba a usuario@dominiob.<login>.prueba y viceversa.
  2. Repase los ficheros de registro de ambos servidores para comprobar que todo funciona como es debido.
  3. Envíe algún correo electrónico de usuario@[dominioa|dominiob].<login>.prueba a usuario@[dominioa|dominiob].<otrologin>.prueba
  4. Utilice el comando telnet para conectar con un servidor SMTP y transmitir un correo electrónico.