Ifmail - Correo privado (NETs) (I)
3 - Correo privado (NETs) (I)
Ante todo, mucha calma. Mientras no consigáis enviar y recibir NETs, mejor que no paséis la página. Bien, sigamos.
3.1 Notación «Internet» de las direcciones de Fidonet
Antes de entrar en los ficheros de configuración, tengo que haceros ver cómo una dirección de Fidonet se expresa en Internet. Es importante para las siguientes secciones, así como para saber escribir un NET.
Bien, empecemos. Como sabéis, una dirección de Fidonet contiene información de zona, región, net, nodo y opcionalmente punto. Esto se nota así: ZONA:REGIÓN_Y_NET/NODO o ZONA:REGIÓN_Y_NET/NODO.PUNTO.
Por ejemplo, mi dirección de punto es 2:341/12.19 y la del nodo de mi BBS, 2:341/12 (nodo que llamamos Boss).
En Internet, una dirección de nodo se notará como:
fNODO.nREGION_Y_NET.zZONA.fidonet.org
o bien:
pPUNTO.fNODO.nREGION_Y_NET.zZONA.fidonet.org
Así, mi máquina será conocida en Fidonet como:
p19.f12.n341.z2.fidonet.org
Y yo, como usuario de mi máquina seré conocido como:
Juan.Jose.Amor@p19.f12.n341.z2.fidonet.org
Un mensaje dirigido al usuario anterior quedará convertido en un mensaje dirigido al usuario «Juan Jose Amor» del punto 2:341/12.19
3.2 Configuración de Sendmail
Sobre sendmail podía tirarme varias horas escribiendo, pero para eso ya hay un buen tocho escrito (de O'Reilly, creo). Así que creo que lo mejor es proporcionar aquí mismo un fichero sendmail.cf, que sirve para una configuración típica, con conexión a Internet y Fidonet, e incluso una pequeña Intranet local.
Supongamos que vuestra máquina se llama DRAGON, y vuestro dominio ficticio (de Intranet) lo habéis llamado, MICASA.ES. Aquí tenéis un fichero sendmail.cf que os servirá para mandar correo de la siguiente forma:
- usuario@dragon.micasa.es: Entregar directamente al buzón local.
- usuario@micasa.es: Entregar directamente al buzón local (dragon es la máquina maestra del dominio micasa.es :-) ).
- usuario@otramaquina.micasa.es: Entregar directamente a la máquina remota (se supone que la otra máquina está en una Ethernet local...).
- Usuario@pX.fY.nZ.zT.fidonet.org: Entregar a Ifmail.
- cualquier@otro.sitio: Encolarlo para Internet, para ser entregado al relevo de la red de redes cuando estemos conectados (el relevo es la máquina de nuestro proveedor de Internet que nos ofrece servicio de correo SMTP).
Algunas observaciones sobre este fichero: en principio, no necesita que exista un servidor de nombres (DNS) disponible. No obstante, yo tengo uno local así que igual os da algún problema...
Por otra parte, si recibís este documento en un formato distinto al original (SGML) puede que los caracteres de tabulación que existen en sendmail.cf se hayan convertido en espacios. Por desgracia, así no os funcionará el fichero, de modo que tendréis que convertir a mano, los separadores de las reglas a tabuladores.
En la línea referente al nodo del proveedor (donde aparece la IP del mío, 212.106.192.135) debéis poner la IP del vuestro, claro :-). En la línea referente a Fidonet, debéis codificar el nombre del nodo al que llamáis. En mi caso, 2:341/12 se traduce a f12.n341.z2 (observad la línea del fichero sendmail.cf. Como véis, esto hace la función del fichero route.fe en FastEcho u otro procesador de correo de Fido bajo DOS: esta línea determina entregar todos los NETs vía el nodo elegido). Además, si no tenéis Internet o red local propia, podéis comentar las líneas correspondientes de la regla 0.
Además, debéis modificar la línea "Punto local" con los datos de vuestro punto. Así, sendmail entregará localmente cualquier mensaje dirigido a vuestro punto.
Una vez instalado el nuevo /etc/sendmail.cf, debéis reiniciar el demonio. Lo mejor es que lo matéis y lo relancéis de nuevo (enviarle la señal SIGHUP no funciona en todas las versiones). Hasta que no hagáis esto, tu nuevo sendmail.cf no será reconocido. Podéis comprobar que lo habéis logrado lanzando el demonio y a continuación ejecutar telnet al puerto 25. Debéis ver una referencia a la versión del sendmail.cf, BS-3.3 en la línea de bienvenida. Luego, escribid quit para salir:
$ telnet dragon.micasa.es 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 dragon.micasa.es ESMTP Sendmail 8.7.6/BS-3.3 ready at Tue, 22 Apr 1997 11:56:31 +0200
quit
221 dragon.micasa.es closing connection
Connection closed by foreign host.
$
Si tenéis algún problema con el comando telnet (en particular, os responde con un Connection refused) es porque el demonio no ha podido mantenerse tras el cambio en el sendmail.cf. El motivo es un error en dicho fichero, así que será el momento de repasarlo para luego volver a lanzar el sendmail. Los logs que este programa habrá dejado os darán una pista acerca de la causa del problema.
################################################################################
##### #####
##### Fichero de Configuracion de SENDMAIL #####
##### #####
##### Realizado por: Juan Jose Amor, 2:341/12.19 #####
##### a partir del fichero FI-4.1 del Centro de Calculo de la #####
##### Facultad de Informatica de Madrid, U.P.M. #####
##### #####
##### 04-08-97 #####
##### #####
################################################################################
# RCS: $Id: sendmail.cf,v 1.5 1999/12/1 13:57:52 root Exp root $
# Version de Sendmail
DVBS-3.3
################################################################################
# Definicion del Dominio #
################################################################################
# Dominio Local
DOdragon
DQmicasa
DRes
#DSes
# Nombre del Dominio Oficial de la Maquina
Dj$O.$Q.$R
# Sinonimos
Cw $w
################################################################################
# Macros Especiales #
################################################################################
# Mi nombre
DnMAILER-DAEMON
# Cabecera en formato UNIX
DlFrom $g $d
# Caracteres para delimitacion (operadores)
Do.:%@!^=/[]
# Formato del nombre completo
Dq$g$?x ($x)$.
# Mensaje de SMTP
De$j Sendmail $v/$V ready at $b
################################################################################
# Opciones #
################################################################################
# Fichero de Alias
OA/etc/aliases
# Fichero de Ayuda
OH/usr/lib/sendmail.hf
# Fichero de estado
OS/etc/sendmail.st
# Nivel de log
OL9
# Copia al Postmaster en caso de error
OPPostmaster
# Directorio de colas de mensajes
OQ/var/spool/mqueue
# Intervalo de "timeout" en la cola
OT8d
# No conectar en caso de mucho trafico
OX12
# Modo de funcionamiento
Odb
# Modo de gestion de errores
Oep
# GID por defecto
Og1
# Enviamelo tambien en caso de utilizacion de alias
Om
# Por defecto, los mensajes en estilo tradicional
Oo
# No admite EXPN ni VRFY
Opnoexpn,novrfy
# "Timeout" de lectura
Or5m
# Arranca la cola antes de enviar un mensaje,
Os
# UID por defecto
Ou1
# Encolar en caso de mucho trafico
Ox8
# Numero maximo de vueltas antes de decidir que estamos en un bucle de correo
Oh17
################################################################################
# Precedencia de Mensajes #
################################################################################
Pfirst-class=0
Pspecial-delivery=100
Pjunk=-100
################################################################################
# Usuarios Validados #
################################################################################
#Troot
#Tdaemon
#Tuucp
#Tnetwork
Tjjamor
Tslist
################################################################################
# Formato de las Cabeceras #
################################################################################
H?P?Return-Path: <$g>
HReceived: $?sfrom $s $.by $j ($v/$V) $b
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $q
H?F?From: $q
H?x?Full-Name: $x
HSubject:
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>
################################################################################
##### #####
##### REGLAS DE REESCRITURA DE DIRECCIONES #####
##### #####
################################################################################
################################################################################
##### #####
##### REGLA CERO #####
##### #####
################################################################################
S0
# Gestiona casos especiales
R@ $#local $:$n
# Filtra casos miscelaneos
R$*<$*.> $1<$2>
R$+<@> $@$>0$1
# Maquina local
R$+<@$j> $#local $:$1
#!!!Activar esta regla en caso de maquina Cabecera de Dominio
R$+<@$Q.$R> $#local $:$1
# Vemos si es para la maquina local
R$+<@$*$O.$Q.$R> $#local $:$1
# Regla para entregar localmente mensajes para hispalinux.es
# R$+<@hispalinux.es> $#local $:$1
# Dominio local: entregar directamente (a~nadido por jjamor)
R$+<@$*$Q.$R> $#tcp $@$2$Q.$R $:$1<@$2$Q.$R>
# Punto local: entregar directamente (a~nadido por jjamor)
R$+<@p19.f12.n341.z2.fidonet.org> $#local $:$1
# Vemos si es para Fidonet
R$*<@$+.fidonet.org>$* $#fido $@f12.n341.z2 $:$1<@$2.fidonet.org>$3
## Cualquier otra direccion, al nodo del proveedor para su tramitacion
# Proveedor : Jazzfree (JAZZFREE.COM)
R$+ $#tcp $@[212.106.192.135] $:$1
################################################################################
##### #####
##### REGLA 1 - Reescritura del Campo Origen #####
##### #####
################################################################################
S1
################################################################################
##### #####
##### REGLA 2 - Reescritura del Campo Destino #####
##### #####
################################################################################
S2
################################################################################
##### #####
##### REGLA 3 - Paso de la Direccion a Forma Canonica #####
##### #####
################################################################################
S3
# Gestion del caso especial "from:<>"
R<> $@@
# Canonizacion basica
R$*<$+>$* $2
# Encaminamiento norma RFC 822
R@$+:$+@$+ $:$1,@$3!$2
R$+,@$+ $1!$2
# El delimitador @ indica precedencia
R$+@$+ $:$1<@$2>
R$+<$+@$+> $1$2<@$3>
R$+<@$+> $@$>5$1<@$2>
# Trata el delimitador !
R$+^$+ $1!$2
R$-!$+ $@$>5$2<@$1.uucp>
R$+!$+ $@$>5$2<@$1>
# % es una precedencia inferior a @
R$+%$+ $:$1@$2
R$+@$+%$+ $1%$2@$3
R$+@$+ $@$>5$1<@$2>
# Correo local
R$+ $@$>5$1<@$j>
################################################################################
##### #####
##### REGLA 4 - Reescritura salida final #####
##### #####
################################################################################
S4
# Extrae informacion relativa al dominio local
R$*<$+>$* $1$2$3
################################################################################
##### #####
##### REGLA 5 - Cualifica Completamente la Direccion #####
##### #####
################################################################################
S5
# Maquinas locales
R$+<@$*$O> $@$>6$1<@$2$j>
R$+ $@$>6$1
################################################################################
##### #####
##### REGLA 6 - Resuelve sinonimos #####
##### y elimina encaminamientos locales #####
##### #####
################################################################################
S6
# Elimina redundancias de nombres de maquinas locales
R$+@$+<@$j> $@$>3$1@$2
R$+!$+<@$j> $@$>3$1!$2
R$+%$+<@$j> $@$>3$1%$2
################################################################################
# Especificacion del programa local de gestion de correo #
################################################################################
#Mlocal, P=/usr/local/sbin/deliver, F=lsDFMShP, S=10, R=20/40, A=deliver $u
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@ShPfn, S=10/30, R=20/40,
T=DNS/RFC822/X-Unix,
A=procmail -a $h -d $u
Mfido, P=/usr/lib/ifmail/ifmail, F=mSDFMuC, S=11, R=21, A=ifmail -l -1 -r $h $u
Mprog, P=/bin/sh, F=DFMPelsu, S=10, R=10, A=sh -c $u
S10
R$*<@$j> $@$1
################################################################################
# Especificacion del gestor de correo SMTP/IPC #
################################################################################
Mtcp, P=[IPC], F=CDFMXmsu, S=11, R=11, A=IPC $h
S11Autor y licencia de 'Ifmail'
Monografía de Juan José Amor. Extraido de: http://www.insflug.org/COMOs/Ifmail-Como/Ifmail-Como.html
