En muchas ocasiones, un ordenador aislado no se conecta solo a una red, si no que es común acceder a diferentes redes o a Internet mediante diferentes proveedores de acceso. En estos casos, modificar los ficheros de configuración cada vez que se desea acceder a un sitio diferente puede resultar incómodo.
La solución propuesta aquí consiste en mantener diferentes juegos de ficheros de configuración para cada conexión a un proveedor diferente y se incluyen algunos archivos de comandos para automatizar el cambio de uno a otro.
Tanto si su correo electrónico usa un Agente de Transferencia de Mensajes local
con un servidor SMTP de reenvío (relay host) para la entrega de todos los
mensajes, como si usa un cliente de correo que directamente entregue los
mensajes al servidor SMTP de su proveedor de acceso, el cambio de acceso
de un proveedor a otro precisará la reconfiguración de este servidor de
relay, ya que los proveedores de acceso normalmente comprueban el origen
de las conexiones que reciben y sólo aceptan mensajes si el buzón del
destinatario está en uno de los dominios que gestiona directamente este
servidor de relay o si la dirección IP del cliente que inicia la conexión
pertenece a una de las direcciones que este proveedor asigna a sus
clientes, para evitar que cualquiera pueda usar este servidor
smtp
para objetivos no muy limpios (spam, anónimos, enmascaramiento
del origen, etc.).
En los ejemplos que se ponen a continuación se mostrara cómo hacer este
cambio en los ficheros de configuración de Smail suponiendo una
sencilla configuración en la que todos los mensajes con destino fuera del
equipo local se entregan a un servidor smtp
de reenvío (relay host). Si
usted usa otro agente de transferencia de mensajes (MTA) en su sistema puede
enviarme los cambios que tuvo que hacer en dicho MTA para incluirlos
aquí. Igualmente si usa un cliente de correo que entrega directamente los
mensajes a un servidor smtp ajeno a su sistema (Kmail, Netscape, etc.).
En primer lugar, se crea un subdirectorio de /etc/diald
llamado
providers
donde se almacenarán los archivos de comandos para
automatizar el cambio y los subdirectorios con los juegos de ficheros de
configuración para cada uno de los proveedores.
Con el archivo de comandos siguiente se crea este directorio y se introducen en el los ficheros de configuración de Diald, chat, pppd y Smail con los que se esté trabajando actualmente, y que serán tomados como base para las siguientes configuraciones.
#!/bin/sh
#Fichero /etc/diald/providers/setupdialdmultiprovider
mkdir /etc/diald/providers
mkdir /etc/diald/providers/setup
cp /etc/ppp/pap-secrets /etc/diald/providers/setup
cp /etc/ppp/chap-secrets /etc/diald/providers/setup
cp /etc/resolv.conf /etc/diald/providers/setup
cp /etc/diald/diald.options /etc/diald/providers/setup
cp /etc/diald/standard.filter /etc/diald/providers/setup
cp /etc/diald/personal.filter /etc/diald/providers/setup
cp /etc/diald/diald.connect /etc/diald/providers/setup
cp /etc/chatscripts/provider /etc/diald/providers/setup
cp /etc/diald/ip-up /etc/diald/providers/setup
cp /etc/diald/ip-down /etc/diald/providers/setup
cp /etc/smail/routers /etc/diald/providers/setup
Con el archivo de comandos siguiente se copia la configuración original
que se estaba utilizando cuando se ejecutó
setupdialdmultiprovider
para prepararla para un nuevo proveedor o
una nueva red. Este archivo de comandos
(/etc/diald/providers/newdialdprovider
) se lanza con un
parámetro, el nombre del proveedor o el nombre de la red a la que
accedemos.
#!/bin/sh
#Fichero /etc/diald/providers/newdialdprovider
mkdir /etc/diald/providers/$1
cp /etc/diald/providers/setup/* /etc/diald/providers/$1
Ahora será necesario modificar como corresponda los ficheros que se
encuentran en el nuevo directorio
/etc/diald/providers/nombreproveedor
, siendo
nombreproveedor
el parámetro que se le ha pasado a
newdialdprovider
.
Para finalizar, con este archivo de comandos se realizan los cambios
oportunos para acceder a un proveedor o red u otro. Se utilizan enlaces
simbólicos para evitar tener archivos duplicados. Así mismo, mediante
enlaces simbólicos, en caso de necesitar hacer algún cambio, por ejemplo,
en el fichero /etc/resolv.conf
, modificando directamente este
fichero quedará modificado el fichero al que apunta el enlace,
/etc/diald/providers/nombreproveedor/resolv.conf
.
#!/bin/sh
#Fichero /etc/diald/providers/setdialdprovider
/etc/init.d/diald stop
#espera para dejar tiempo a que Diald finalice.
sleep 4
ln -sf /etc/diald/providers/$1/pap-secrets /etc/ppp
ln -sf /etc/diald/providers/$1/chap-secrets /etc/ppp
ln -sf /etc/diald/providers/$1/resolv.conf /etc
ln -sf /etc/diald/providers/$1/diald.options /etc/diald
ln -sf /etc/diald/providers/$1/standard.filter /etc/diald
ln -sf /etc/diald/providers/$1/personal.filter /etc/diald
ln -sf /etc/diald/providers/$1/diald.connect /etc/diald
ln -sf /etc/diald/providers/$1/provider /etc/chatscripts
ln -sf /etc/diald/providers/$1/ip-up /etc/diald
ln -sf /etc/diald/providers/$1/ip-down /etc/diald
ln -sf /etc/diald/providers/$1/routers /etc/smail
/etc/init.d/diald start