  Reescritura de direcciones con sendmail mini-COMO
  Thomas Roessler, roessler@guug.de
  davefx@bigfoot.com
  v0.1, 6 de Mayo de 1998

  Este documento es una breve descripcin de cmo modificar el fichero
  de configuracin de sendmail para un acceso telefnico domstico.

  1.  Introduccin


  Dar por sentado que tiene el tipo de acceso a Internet que parece ser
  comn en las universidades y en los proveedores de servicios de
  Internet hoy en da: usted se conecta con la red de su proveedor
  utilizando PPP sobre una conexin serie. Su correo entrante se
  almacena temporalmente en el servidor POP o IMAP de su proveedor,
  mientras que el correo saliente se enva mediante SMTP. No tiene un
  nombre de dominio propio, por lo que todo debe usar una direccin.

  Asumir tambin que ya ha instalado una versin bastante reciente de
  sendmail, realizado por Eric Allman (la versin ms reciente, al
  escribir estas lneas, era la 8.8.8  (-- Nota del editor: a da de la
  revisin, la ltima versin disponible es la 8.9.3; debera
  actualizarse.  De hecho, si hay un programa que tendra que mantener
  actualizado, es ste...  --) y con ella debera funcionar bien).

  Este documento se refiere particularmente a propiedades especficas de
  los sistemas Debian GNU/Linux; los usuarios de otras distribuciones
  deberan tener algo de cuidado.

  Asegrese de tener esta informacin a mano:


    El servidor de correo de su proveedor de servicios Internet.

    Su direccin de correo electrnico.

  La configuracin que planeamos tiene dos metas principales:


  1. Debe ser posible enviar correo entre los usuarios locales.

  2. El resto del planeta debe ver las direcciones de los usuarios del
     proveedor de servicios Internet, no las direcciones locales.

  Para alcanzar esto, haremos uso del la opcin genericstable de
  sendmail.


  2.  Mapa de ficheros


  Colocaremos todos los ficheros de configuracin de sendmail en un
  directorio aparte bajo /etc: /etc/mail. Normalmente, sendmail esperar
  que esos ficheros residan directamente bajo etc. Para evitar
  problemas, /etc/sendmail.cf debera ser un enlace simblico a
  /etc/mail/sendmail.cf.

  Los siguientes ficheros poblarn /etc/mail:


    aliases - contiene direcciones locales adicionales.

    genericsdomain - contiene alguna informacin acerca de la
     configuracin de su mquina local.

    genericstable - contiene las reglas reales de reescritura.

    sendmail.cf - fichero de configuracin de sendmail.

    sendmail.mc - la fuente de sendmail.cf.

  Algunos de estos ficheros sern acompaados por ficheros .db, que
  contienen bases de datos configuradas para el uso directo de sendmail.

  Asumimos que la parte cf del rbol de cdigo fuente de sendmail reside
  bajo un directorio llamado /usr/lib/sendmail.cf. Este es el caso de
  los sistemas Debian GNU/Linux. En otras distribuciones este directorio
  posiblemente est en un sitio diferente. Lea la documentacin de su
  distribucin para ms detalles.


  3.  Configuracin de sendmail



  3.1.  El fichero principal de configuracin


  Sendmail utiliza un sistema de reglas muy complejo para su
  configuracin.  Debido a que se pueden hacer millares de cosas con
  ellas, escribir un fichero sendmail.cf desde cero es bastante inusual
  y lleva mucho tiempo. Si est interesado en hacer eso, debera dejar
  de leer este documento ahora mismo y leer, en su lugar, el Bat Book de
  la editorial O'Reilly.

  En lugar de crear a mano estas reglas, confiaremos en el procesador de
  macros m4 para crear nuestro fichero de configuracin a partir de
  fragmentos escritos anteriormente que se distribuyen junto con
  sendmail.

  Echemos un vistazo a las primeras lneas del fichero sendmail.mc:



       include(/usr/lib/sendmail.cf/m4/cf.m4)
       VERSIONID(`sendmail.mc - roessler@guug.de')
       OSTYPE(debian)
       define(`ALIAS_FILE',`/etc/mail/aliases')




  Al comienzo, se incluye cf.m4. Este fichero de macros m4 contiene
  muchas definiciones de macro para el resto del fichero.  Asegrese de
  que la ruta de archivo que proporciona aqu es correcta (la que aqu
  se representa es la tpica de Debian GNU/Linux). La macro OSTYPE se
  utiliza para dar algunas configuraciones por defecto muy tiles. Si no
  utiliza un sistema Debian, reemplace la palabra debian por linux.
  ALIAS_FILE indica a sendmail dnde buscar la lista de alias.

  Las siguientes lneas dirn a sendmail que utilice la caracterstica
  genericstable, y dnde encontrar los ficheros de configuracin
  necesarios para usarla:



       FEATURE(masquerade_envelope)
       FEATURE(genericstable, `hash -o /etc/mail/genericstable')
       GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')


  La caracterstica masquerade_envelope le dice a sendmail que aplique
  la cabecera reescribiendo el sobre del remitente de un mensaje.  Esta
  es la direccin de correo a la que los subsistemas de reparto
  dirigirn los informes de fallo en el reparto y mensajes de
  advertencia. Los ficheros generics* se explicarn ms abajo.

  Ahora, debemos definir un, llammosle as, servidor inteligente
  (smart-host), esto es, una mquina que manejar el correo saliente de
  nuestro sistema. Dse cuenta de que esta mquina puede ser distinta de
  los servidores POP e IMAP de su proveedor. En caso de duda, llame al
  servicio tcnico. El cdigo en el fichero de configuracin maestra es:



       define(`SMART_HOST',`mensajes-salientes.su.proveedor')




  Reemplace mensajes-salientes.su.proveedor por la direccin completa de
  de la mquina de su proveedor de servicios Internet que gestionar el
  correo saliente.

  Las dos lneas finales incluyen las definiciones del cartero que son
  requeridas por sendmail para averiguar cmo manejar varios tipos de
  correo:



       MAILER(local)
       MAILER(smtp)




  Para generar el fichero sendmail.cf a partir de este sendmail.mc,
  teclee los siguientes comandos (como root):



       # m4 sendmail.mc > _sendmail.cf
       # mv -f _sendmail.cf sendmail.cf




  Fjese en que la tcnica de escribir las salidas m4 a un fichero
  temporal que ser movido a su lugar correcto.  Esto ayuda a prevenir
  que sendmail lea ficheros de configuracin parcialmente escritos.


  3.2.  Reescritura de direcciones


  Primero, le debemos comunicar a sendmail qu direcciones van a
  considerarse como locales (y de esta manera deberan estar sujetas a
  la reescritura). Esto es bastante simple: slo coloque el nombre
  completo de su mquina en el fichero /etc/mail/genericsdomain Para
  conseguir el nombre completo de su mquina, teclee el siguiente
  comando:



       $ hostname -f


  Ahora, vayamos con la tabla de reescritura propiamente dicha:
  /etc/mail/genericstable.  Este fichero consiste en dos columnas
  separadas por espacios en blanco.  La primera columna contiene la
  direccin local, la segunda columna contiene la direccin de correo
  electrnico que debera utilizarse en su lugar. El fichero podra
  tener este aspecto:



       harry   harryx@su.proveedor
       maude   maudey@el.proovedor.de.ella
       root    fredx@su.proovedor
       news    fredx@su.proovedor




  Note que debe haber una entrada para cada cuenta de la mquina local,
  de manera que el correo generado que salga del sistema local lleve,
  automticamente, informacin de cabecera correcta.

  Por razones de prestaciones, sendmail no utiliza este fichero
  directamente, utiliza una versin procesada en su lugar.  Para
  generarla utilice el siguiente comando:



       # makemap -r hash genericstable.db < genericstable




  Fjese en que las reglas de reescritura incluidas en genericstable no
  se aplican al correo local ni a los mensajes que recibe desde fuera;
  el mapeo slo se utiliza si un mensaje abandona su sistema local a
  travs del servidor inteligente de su proovedor de Internet.


  3.3.  Alias


  El fichero de alias contiene informacin adicional de los nombres
  locales que slo son vlidos para mensajes locales.  Esto es til para
  cuentas administrativas como root que recibe los mensajes generados
  automticamente por el sistema.

  Un comienzo razonable para /etc/mail/aliases podra ser el siguiente
  fichero:



       root: fred
       news: root
       postmaster: root
       mail: root
       www: root

       nobody: /dev/null
       MAILER-DAEMON: nobody




  Este ejemplo reenviar el correo local para los usuarios root, news,
  postmaster, mail, y www a fred, mientras que los mensajes para nobody
  y para MAILER-DAEMON se redirigirn a /dev/null.
  Al igual que el fichero genericstable, aliases puede contener cientos
  de entradas.  Esto es, podra ser ineficiente que sendmail utilizara
  el fichero de texto tal y como se describe.  El mismo mecanismo
  utilizado para genericstable se utiliza para aliases: se genera una
  tabla preformateada. En lugar de utilizar makemap directamente, puede
  utilizar el comando newaliases esta vez. Se encargar automticamente
  de lo que sea necesario para que los cambios tomen efecto.


  4.  Lectura ms profunda


  La distribucin del cdigo fuente de sendmail incluye bastante ms
  documentacin.  Lala, especialmente el fichero cf/README.

  Si est interesado en profundizar ms en las opciones de configuracin
  de sendmail, puede desear conseguir el Bat Book de la editorial
  O'Reilly:  Bryan Costales, Eric Allman, and Neil Rickert: sendmail.
  O'Reilly, 1993.


  5.  Anexo: El INSFLUG


  El INSFLUG forma parte del grupo internacional Linux Documentation
  Project, encargndose de las traducciones al castellano de los Howtos,
  as como de la produccin de documentos originales en aquellos casos
  en los que no existe anlogo en ingls, centrndose, preferentemente,
  en documentos breves, como los COMOs y PUFs (Preguntas de Uso
  Frecuente, las FAQs. :) ), etc.

  Dirjase a la sede del Insflug para ms informacin al respecto.

  En lla encontrar siempre las ltimas versiones de las traducciones
  oficiales:  www.insflug.org. Asegrese de comprobar cul es la
  ltima versin disponible en el Insflug antes de bajar un documento de
  un servidor rplica.

  Adems, cuenta con un sistema interactivo de gestin de fe de erratas
  y sugerencias en lnea, motor de bsqueda especfico, y ms servicios
  en los que estamos trabajando incesantemente.

  Se proporciona tambin una lista de los servidores rplica (mirror)
  del Insflug ms cercanos a Vd., e informacin relativa a otros
  recursos en castellano.

  En http://www.insflug.org/insflug/creditos.php3 cuenta con una
  detallada relacin de las personas que hacen posible tanto esto como
  las traducciones.

  Dirjase a http://www.insflug.org/colaboracion/index.php3 si desea
  unirse a nosotros!.

  Cartel Insflug, cartel@insflug.org.












