[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home] [volume] [parte]


Capitolo 292.   Descrizione di una connessione PPP 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 (Public switched telephone network), 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 qui vengono identificati attraverso i nomi: «Nero», «Grigio» e «Bianco». La tabella 292.1 mostra le informazioni ottenute dai tre fornitori per effettuare il collegamento, ma si tratta rigorosamente di dati inventati.

Tabella 292.1. Confronto tra le caratteristiche delle tre connessioni ipotetiche.

Nero Grigio Bianco
Telefono del punto di accesso 0987 6543210 0876 5432109 0765 4321098
Nominativo-utente tizio tizio.tizi tizio.tizi@bianco.dg
Parola d'ordine per l'accesso asdfghjk qwertyui 12345678
Parola d'ordine per la 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

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 parole d'ordine 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 servente SMTP per la posta in uscita e sul servente 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 servente SMTP senza doversi avvalere del sistema locale; pertanto, è questo programma che deve essere configurato con l'indicazione del servente 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 serventi NNTP disponibili.

292.1   Configurazione della risoluzione dei nomi

Nel momento in cui si gestiscono diversi fornitori di accesso a Internet, la cosa migliore è gestire un servente DNS locale, che sia in grado di interpellare i DNS dei vari fornitori. Se si tenta di intervenire esclusivamente 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 servente è l'indirizzo locale dell'elaboratore. Il file /etc/named.conf o /etc/bind/named.conf, dovrebbe essere simile a quello seguente:

options {
        directory "/etc/bind";
        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 servente DNS è in grado di accedere all'esterno da solo e può anche avvalersi dei serventi dei fornitori, quando sono disponibili.

Nella sezione 289.5.2 è descritto brevemente l'utilizzo dell'opzione usepeerdns per ottenere dal nodo remoto l'indicazione degli indirizzi di serventi DNS esterni. In generale conviene abilitare l'opzione usepeerdns, anche se si gestisce un servente DNS in proprio. Probabilmente non conviene tentare di modificare dinamicamente la configurazione del servente DNS locale nella direttiva forwarders.

292.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 separa il proprio elaboratore 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 356.

# 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, vengono configurati in modo da utilizzare il servizio del nodo locale.

Di solito conviene riavviare il demone che si occupa di offrire il servizio proxy quando si instaura la connessione PPP, in modo che le indicazioni riferite ai proxy esterni possano essere prese in considerazione in modo effettivo. Per questo si potrebbe sfruttare lo script /etc/ppp/ip-up.

292.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 servente SMTP locale, in grado di accettare e anche consegnare messaggi provenienti da, o destinati a localhost, in grado anche 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[Invio]

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.

292.4   Connessione

Avendo la disponibilità di più accessi, anche se è necessario stabilire qual è quello preferito, per poter configurare correttamente i programmi che inviano messaggi di posta elettronica che devono sapere a quale servente 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.
# cliente                       servente        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 parola d'ordine 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/sh

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"

Nell'esempio non è stata inserita l'opzione usepeerdns, perché non è necessaria nell'ambito della situazione globale proposta. Infatti, se la propria distribuzione GNU modifica automaticamente il file /etc/resolv.conf, si rischia di perdere il riferimento al servente DNS locale, che potrebbe avere informazioni importanti sulla propria rete interna.


Appunti di informatica libera 2008 --- Copyright © 2000-2008 Daniele Giacomini -- <appunti2 (ad) gmail·com>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome descrizione_di_una_connessione_ppp_quasi_reale.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home]

Valid ISO-HTML!

CSS validator!

Gjlg Metamotore e Web Directory