Molte volte un computer isolato non viene connesso ad una sola rete. È invece più comune che venga connesso a reti differenti o ad Internet utilizzando diversi service provider. In questo caso cambiare i file di configurazione ogni volta che ci si vuole connettere ad un sito differente può essere noioso.
La soluzione che propongo qui consiste nell'utilizzare differenti insiemi di file di configurazione per ogni connessione. Qui si possono anche trovare degli script per cambiare automaticamente dall'una all'altra.
Se il client email utilizzato utilizza un MTA (message tranfer agent)
con un relay host smtp
per spedire tutti i messaggi, o si
utilizza un client email che spedisce i messaggi direttamente al
server smtp
del provider, cambiare connessione significa cambiare
anche le opzioni per il relay del server smtp
. Questo succede
perché i provider, in genere, controllano se la mailbox in ricezione è
locale, appartiene ad un dominio mantenuto direttamente dal provider
stesso oppure se l'indirizzo originale è nell' intervallo di indirizzi che il
provider assegna, per evitare di avere un relay server aperto che
potrebbe essere utilizzato per spedire spam, messaggi anonimi e così via.
Negli esempi seguenti, è possibile trovare il modo in cui cambiare
questo parametro nei file di configurazione di Smail con una
configurazione molto semplice in cui tutti i messaggi sono spediti ad
un relay server smtp
esterno. Se si utilizza un altro Message
Transfer Agent (MTA) nel sistema, è possibile spedirmi i cambiamenti
necessari perché vengano inclusi qui. Se si utilizza un client email
che spedisce direttamente al server smtp
(Kmail, Netscape,
etc.), speditemi i cambiamenti anche in questo caso.
Prima di tutto, bisogna creare una sottodirectory di
/etc/diald
chiamata providers
dove è possibile tenere i
vari script per cambiare da un provider all'altro e le varie
sottodirectory con gli insiemi di file per la configurazione di ogni
connessione al provider.
Con il prossimo script è possibile creare questa directory e riempirla con i file di configurazione da Diald, chat, pppd e Smail, che verrà utilizzato per le successive configurazioni.
#!/bin/sh
#File /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 il prossimo script la configurazione di esempio viene copiata in
una nuova directory per prepararla per un nuovo provider o una nuova
connessione in rete. Questo script
(/etc/diald/providers/newdialdprovider
) avrà bisogno di un
parametro con il nome del provider o della connessione di rete.
#!/bin/sh
#File /etc/diald/providers/newdialdprovider
mkdir /etc/diald/providers/$1
cp /etc/diald/providers/setup/* /etc/diald/providers/$1
Ora bisogna modificare i file in
/etc/diald/providers/provdidername
, dove
providername
è il parametro passato allo script
newdialdprovider
.
Infine con questo script sarà possibile cambiare tutti i file di
configurazione relativi a Diald per connettersi ad un nuovo
provider o ad una nuova rete. Utilizzando i link simbolici, quando si
cambiano i file di configurazione nella loro locazione originale
come /etc/resolv.conf
, i cambiamenti vengono fatti anche nei
file di /etc/diald/providers/providername/resolv.conf
.
#!/bin/sh
#File /etc/diald/providers/setdialdprovider
/etc/init.d/diald stop
#wait for Diald to stop.
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