[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]

102. Descrizione di una connessione quasi reale

In questo capitolo si vuole mostrare un esempio relativamente completo di configurazione con tre fornitori di accesso a Internet. Si tratta di nomi e indirizzi inventati, che però rappresentano le situazioni più comuni. Per la precisione, si fa riferimento a una connessione PSTN, cioè attraverso la linea telefonica analogica commutata.

Si suppone che l'utente «Tizio Tizi» abbia sottoscritto un contratto con tre fornitori di accesso a Internet, che identificheremo attraverso i nomi: «Nero», «Grigio» e «Bianco». La tabella 102.1 mostra le informazioni ottenute dai tre fornitori per effettuare il collegamento, e si tratta rigorosamente di dati inventati.

Nero Grigio Bianco
Telefono del punto di accesso 0987 6543210 0876 5432109 0765 4321098
Nominativo-utente tizio tizio.tizi tizio.tizi@bianco.dg
Password di accesso asdfghjk qwertyui 12345678
Password posta elettronica " " poiuytre
Indirizzo di posta elettronica tizio@nero.dg tizio.tizi@grigio.dg tizio.tizi@bianco.dg
DNS primario non specificato 123.123.123.1 134.134.134.1
DNS secondario non specificato non specificato 134.134.134.100
Proxy non specificato proxy.grigio.dg proxy.bianco.dg:8080
SMTP (posta in uscita) smtp.nero.dg smtp.grigio.dg smtp.bianco.dg
POP3 (posta in entrata) pop.nero.dg mail.grigio.dg popmail.bianco.dg
NNTP (News o Usenet) news.nero.dg news.grigio.dg news.bianco.dg

Tabella 102.1: Caratteristiche delle tre connessioni ipotetiche a confronto.

Dalla tabella si può osservare che le strategie dei vari fornitori possono essere abbastanza diverse rispetto a ciò che si può considerare «normale». Per esempio, Bianco considera il nominativo-utente esattamente uguale all'indirizzo di posta elettronica, mentre così non avviene di solito nei sistemi Unix. Un'altra cosa da considerare è la possibilità che siano stabilite delle password differenti per l'accesso e per il prelievo della posta elettronica. È stata volutamente trascurata la possibilità che si usino dei nominativi-utente diversi per accedere e per prelevare la posta elettronica, ma anche se ciò dovesse capitare, non dovrebbe essere difficile cambiare opportunamente la configurazione.

Negli esempi di configurazione mostrati di seguito, non vengono prese in considerazione le informazioni sul server SMTP per la posta in uscita e sul server NNTP per l'accesso ai gruppi di discussione. Si presume che il programma utilizzato per inviare la posta elettronica sia in grado di accedere direttamente al server SMTP senza doversi avvalere del sistema locale; pertanto, è questo programma che deve essere configurato con l'indicazione del server SMTP prescelto, corrispondente a quello del fornitore che si intende prediligere per gli accessi (in pratica, quando si deve inviare la posta elettronica, occorre utilizzare l'accesso del fornitore corrispondente, altrimenti questa verrebbe rifiutata). Nello stesso modo, si presume che il programma utilizzato per accedere ai gruppi di discussione, possa accedere da solo a tutti i server NNTP disponibili.

102.1 Configurazione della risoluzione dei nomi

Nel momento in cui si gestiscono diversi fornitori di accesso a Internet, la cosa migliore è gestire un server DNS locale, che sia in grado di interpellare i DNS dei vari fornitori. Se si tenta di intervenire solo sul file /etc/resolv.conf, si possono indicare solo un numero limitato di indirizzi (dovrebbero essere un massimo di tre). Ecco il file /etc/resolv.conf che si propone:

search brot.dg
nameserver 127.0.0.1

Come si vede, la direttiva search fa riferimento a una rete locale che non ha nulla a che vedere con le reti dei fornitori; inoltre, l'unico server è l'indirizzo locale dell'elaboratore. Il file /etc/named.conf dovrebbe essere simile a quello seguente:

options {
	directory "/var/named";
	forwarders {
		// Grigio
		123.123.123.1;

		// Bianco
		134.134.134.1;
		134.134.134.100;
	};
};

zone "." {
	type hint;
	file "named.root";
};

zone "0.0.127.in-addr.arpa" {
	type master;
	file "127.0.0";
};

In questo modo, il server DNS è in grado di accedere all'esterno da solo, e può anche avvalersi dei server dei fornitori, quando sono disponibili.

102.2 Proxy con Squid

La disponibilità di un proxy, con funzione di memoria cache, è molto utile, ed è importante sfruttarla. In generale conviene sempre attivare il proprio proxy locale, in modo da ridurre il carico degli accessi ripetuti anche nel tratto di rete che ci separa dal proxy del fornitore; inoltre, disponendo di più fornitori, diventa indispensabile gestirne uno solo. L'esempio seguente mostra le direttive da inserire nel file /etc/squid.conf, quando si utilizza Squid, che è descritto in modo più dettagliato nel capitolo 180.

# Fornitore Grigio
# Si presume che la porta sia 8080, anche se ciò non è stato indicato dal
# fornitore.
cache_peer proxy.grigio.dg parent 8080 3130

# Fornitore Bianco
cache_peer proxy.bianco.dg parent 8080 3130

Di conseguenza, i programmi che possono avvalersi del proxy, verranno configurati in modo da utilizzare il servizio del nodo locale.

102.3 Posta elettronica in entrata

Dovrebbe essere possibile il prelievo della posta elettronica, giunta presso le caselle messe a disposizione dai vari fornitori, attraverso il protocollo POP3, che è quello più comune, anche se nessuno dei fornitori lo ha indicato espressamente.

Per il prelievo dei messaggi dovrebbe essere conveniente l'uso di Fetchmail, che reimmette i messaggi nel sistema locale di consegna della posta elettronica. Per questa ragione, è necessario che sia attivo un server SMTP locale, in grado di accettare e anche consegnare messaggi provenienti da, o destinati a localhost, e anche in grado di consegnare correttamente tali messaggi. Questa precisazione è importante, perché la configurazione predefinita di programmi come Sendmail, o Exim, potrebbe escludere questa possibilità, per quanto banale o assurdo ciò possa sembrare. In pratica, per verificare che Fetchmail possa funzionare, basta provare con il comando seguente:

mail tizio@localhost

Se Tizio Tizi trova nella sua casella locale il messaggio che si è appena scritto, allora tutto funziona regolarmente. Quello che si vede di seguito è il file ~/.fetchmailrc dell'utente denominato tizio (per la precisione, tizio@localhost):

poll	pop.nero.dg
	proto pop3
	user tizio
	password asdfghjk
	is tizio

poll	mail.grigio.dg
	proto pop3
	user tizio.tizi
	password qwertyui
	is tizio

poll	popmail.bianco.dg
	proto pop3
	user tizio.tizi@bianco.dg
	password poiuytre
	is tizio

È interessante osservare che il fornitore Bianco richiede che venga usato l'indirizzo completo di posta elettronica come nominativo-utente per l'accesso al servizio POP3.

102.4 Connessione

Avendo la disponibilità di più accessi, anche se è necessario stabilire quale sarà quello «prediletto», per poter configurare correttamente i programmi che inviano messaggi di posta elettronica che devono sapere a quale server SMTP rivolgersi, conviene predisporre diversi script indipendenti e completi. Tuttavia, prima di questo occorre definire la configurazione del file /etc/ppp/pap-secrets. Infatti, anche se non è stato affermato esplicitamente dai fornitori, si presume che la connessione avvenga per mezzo del protocollo PPP, utilizzando un'autenticazione PAP.

# Segreti per le autenticazioni attraverso il protocollo PAP.
# client			server		segreto		indirizzi IP

# fornitore Nero
tizio				nero		asdfghjk

# fornitore Grigio
tizio.tizi			grigio		qwertyui

# fornitore Bianco
tizio.tizi@bianco.it		bianco		12345678

Si deve osservare che nel caso del fornitore Bianco, la password di accesso è diversa da quella usata per scaricare la posta elettronica. Inoltre, i nomi indicati nella seconda colonna, sono stati stabiliti arbitrariamente, in modo da potervi fare riferimento attraverso gli script di connessione.

Quello che segue è lo script ipotetico, necessario al collegamento con il fornitore Nero. Se il modem ha qualche particolarità, oppure se è troppo veloce rispetto a quanto messo a disposizione dal fornitore, potrebbe essere necessario cambiare qualche informazione nella sequenza dei comandi AT.

#! /bin/bash

UTENTE="tizio"
FORNITORE="nero"
TELEFONO="0987 6543210"

IP_ISP="0.0.0.0"
IP_LOCALE="0.0.0.0"
PERIFERICA="/dev/ttyS1"
VELOCITA="57600"

echo "Connessione in corso presso il fornitore $FORNITORE.

if `/sbin/ifconfig | grep "ppp0" > /dev/null`
then
    echo "E' gia' attiva una connessione con ppp0."
    exit 1
fi

/usr/sbin/pppd \
connect "/usr/sbin/chat -v \
    TIMEOUT      10 \
    ABORT        BUSY \
    ABORT        'NO CARRIER' \
    ECHO ON \
    ''           \\dAT \
    OK		 \\dATX3 \
    OK           \\dAT \
    OK           '\\dATDT $TELEFONO' \
    TIMEOUT      90 \
    CONNECT	''" \
user $UTENTE \
remotename $FORNITORE \
kdebug 1 \
crtscts \
passive \
modem \
defaultroute \
$IP_LOCALE:$IP_ISP \
$PERIFERICA \
$VELOCITA

Nel caso degli altri due fornitori, basta modificare il valore delle variabili UTENTE, FORNITORE e TELEFONO:

UTENTE="tizio.tizi"
FORNITORE="grigio"
TELEFONO="0876 5432109"

UTENTE="tizio.tizi@bianco.it"
FORNITORE="bianco"
TELEFONO="0765 4321098"

---------------------------

Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini --  daniele @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]