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


113. PPP per l'accesso a Internet attraverso un ISP

Nei capitoli precedenti è stato introdotto l'uso di `pppd' in generale e in particolare per le connessioni senza autenticazione. Di solito, il primo contatto con il protocollo PPP si ha quando si vuole accedere a Internet attraverso un ISP, ovvero un fornitore di accesso a Internet.

In questi casi si tende a parlare di cliente PPP, anche se ciò non è corretto formalmente, dato che si interferisce con la terminologia utilizzata per il sistema di autenticazione, perché si vede il nodo dell'ISP come quello che offre un servizio, e quindi lo si considera un servente.

113.1 Organizzazione del proprio ISP

Un servizio PPP di un fornitore di accesso a Internet può essere organizzato in tanti modi differenti, e la cosa che deve essere conosciuta quando ci si vuole collegare è il modo con cui viene consentita l'autenticazione. In pratica, il protocollo PPP è standard, ma per usarlo occorre accordarsi sul modo in cui il nodo che accede al servizio dovrà (o potrà) identificarsi.

Tutte le informazioni necessarie dovrebbe darle il fornitore stesso, ma nella maggior parte dei casi, le persone con cui si hanno contatti non sono a conoscenza dei dettagli necessari, e spesso ritengano che la loro procedura sia standard...

Fondamentalmente si può distinguere tra un'autenticazione tradizionale, dove si interviene come se si fosse davanti a un terminale a digitare il nominativo-utente e la password, oppure attraverso il PPP stesso, con i protocolli PAP o CHAP.

113.1.1 Autenticazione tradizionale

L'autenticazione di tipo tradizionale prevede che il protocollo PPP sia attivato dopo il riconoscimento dell'utente che richiede l'accesso. In pratica, si tratta di una connessione remota attraverso un terminale (o meglio, attraverso un programma di emulazione come Minicom o altro); si ottiene la classica richiesta `login:' e `password:', alla quale si risponde e al termine si ottiene l'attivazione del PPP dalla parte remota.

L'attivazione del protocollo PPP potrebbe avvenire subito dopo il riconoscimento, oppure potrebbe essere necessario inviare un ritorno a carrello aggiuntivo, o avviare un comando apposito (indicato dal fornitore di accesso).

In questa situazione, quando ci si accorge che il nodo remoto ha attivato il PPP (si vedono apparire una serie di caratteri senza senso sullo schermo del terminale), si deve chiudere il programma con cui è stata fatta la connessione, senza reinizializzare il modem, e quindi si deve attivare la gestione locale del PPP, in modo da utilizzare quella linea particolare.

Volendo provare quanto descritto, si potrebbe utilizzare Minicom, come è già stato mostrato altre volte in altri capitoli. Per questo bisogna ricordare di fare riferimento al dispositivo seriale giusto, cioè quello a cui è connesso il modem, e poi si deve verificare che le impostazioni della linea seriale siano quelle desiderate. Supponendo che il modem disponga di una configurazione di fabbrica sufficientemente corretta, la si può richiamare con il comando AT&F.

AT&F[Invio]

OK

Dovendo utilizzare le linee italiane si impartisce il comando ATX3, in modo che venga ignorata l'assenza del tono di chiamata.

ATX3[Invio]

OK

Infine si può passare alla composizione (il numero di telefono indicato è di pura fantasia).

ATDT0987654321[Invio]

In tal modo dovrebbe avvenire la composizione del numero e il modem remoto dovrebbe rispondere.

CONNECT 9600

In presenza di un sistema di autenticazione tradizionale, potrebbe apparire un messaggio di benvenuto e quindi la richiesta di introdurre il proprio nominativo.

Se non dovesse apparire nulla, potrebbe essere necessario inviare un carattere qualunque, o un semplice ritorno a carrello. È necessario provare per stabilire cosa bisogna fare per iniziare il colloquio con il nodo remoto.

Benvenuto presso il servizio della Società ...

login:

In tal caso si introduce il proprio nominativo-utente (in altri termini si esegue il login) e si conferma con [Invio].

login: tizio[Invio]

password:

Subito dopo si ottiene la richiesta di inserimento della password, alla quale si risponde nel modo solito, come di fronte a un terminale Unix classico.

password: tazza[Invio]

Ammesso che il sistema remoto riconosca l'utente, cioè la coppia utente-password, questo potrebbe attivare immediatamente il PPP, oppure potrebbe attendere che l'utente faccia qualcosa di specifico prima di iniziare.

Nel caso peggiore si ottiene l'invito di una shell, attraverso la quale si può interagire e fare qualcosa con il proprio accesso remoto, per esempio attivare il programma `pppd' personalmente. In alternativa potrebbe essere necessario fare una scelta in base a un menu di opzioni che viene proposto, oppure potrebbe essere necessario premere un [Invio] in più. In pratica, bisogna provare. Quando si vedono apparire dei simboli strani, come quanto mostrato sotto, significa che il PPP è stato attivato dalla parte remota.

~y}#À!}!}!} }.}%}&k`q1}'}"}(}"Ò>~~y}#À!}!}!} }.}%}&k`q1}'}"}(}"Ò>~~y}

A questo punto, basterebbe concludere il funzionamento di Minicom, ma senza reinizializzare il modem (si usa il comando [Ctrl+a][q]), e subito dopo avviare `pppd' con le opzioni opportune, in modo da sfruttare il collegamento seriale corrispondente alla connessione instaurata.

Comunque, lo scopo di utilizzare Minicom è solo quello di scoprire la procedura corretta per instaurare una connessione PPP con il nodo remoto. Quando le operazioni da farsi saranno chiare, si potrà predisporre un sistema automatico, attraverso `chat'.

È importante osservare che, quando la connessione PPP è preceduta da un'autenticazione tradizionale, il PPP non dovrebbe richiedere a sua volta altre forme di autenticazione, ma questo non può essere escluso. In pratica, questo significa che potrebbe essere necessario predisporre i file `/etc/ppp/pap-secrets' e `/etc/ppp/chap-secrets'.

113.1.2 Autenticazione attraverso il PPP

L'autenticazione attraverso il PPP salta qualunque fase introduttiva, lasciando al protocollo PAP o a quello CHAP di verificare l'identità di chi accede. Per accertarsene si può usare lo stesso sistema già visto nella sezione precedente: si utilizza Minicom per iniziare la connessione, anche attraverso la composizione del numero telefonico, e quindi, senza fare nulla, oppure provando a premere qualche tasto, si ottengono solo i caratteri tipici di un protocollo PPP.

~y}#À!}!}!} }.}%}&k`q1}'}"}(}"Ò>~~y}#À!}!}!} }.}%}&k`q1}'}"}(}"Ò>~~y}

In tal caso, si è costretti a predisporre i file `/etc/ppp/pap-secrets' e `/etc/ppp/chap-secrets'. Eventualmente, per quest'ultimo, potrebbe essere necessario conoscere il nome con cui si presenta il nodo remoto.

113.2 Cliente PPP che utilizza un sistema di identificazione tradizionale

È stato mostrato il procedimento di accesso a un sistema che utilizza un metodo di identificazione degli utenti di tipo tradizionale. Attraverso Minicom o un altro programma simile si possono dare i comandi necessari al modem, comporre il numero ed eseguire l'accesso. Al termine, una volta avviato il PPP dalla parte remota, si può chiudere il funzionamento del programma senza reinizializzare il modem (con Minicom si usa la sequenza [Ctrl+a][q]).

A questo punto bisognerebbe avviare la gestione locale del PPP, in modo rapido, altrimenti il nodo remoto chiude la connessione. Per farlo si potrebbe realizzare uno script che avvii `pppd' indicando tutte le opzioni necessarie (si vuole ignorare volutamente il file `/etc/ppp/options' per non confondere il lettore con troppe cose).

#!/bin/bash

/usr/sbin/pppd \
    crtscts \
    modem \
    defaultroute \
    0.0.0.0:0.0.0.0 \
    /dev/ttyS1 \
    57600

L'esempio mostra l'utilizzo della seconda porta seriale, `/dev/ttyS1', e si indica esplicitamente che si attende dalla parte remota l'indicazione del numero IP locale e di quello remoto.

Se il nodo remoto dovesse pretendere anche un'autenticazione PAP, o CHAP, allora si devono predisporre i file `/etc/ppp/pap-secrets' e `/etc/ppp/chap-secrets'.

Naturalmente, non è molto pratico questo sistema di connessione attraverso l'uso di Minicom. Per automatizzare il procedimento di identificazione si può inserire un programma specifico: `chat'.

Prima di proseguire, si tenga presente che per chiudere il funzionamento di `pppd', è sufficiente inviargli un segnale di interruzione (`SIGINT').

113.2.1 # chat

chat [<opzioni>] [<script>]

Il programma `chat' permette di definire una comunicazione tra l'elaboratore e il modem. Il suo scopo principale è quello di stabilire una connessione tra il demone `pppd' locale e quello di un elaboratore remoto, quando prima è necessario procedere a un'autenticazione di tipo tradizionale.

Opzioni

-f <chat-file>

Con questa indicazione, `chat' legge lo script di colloquio (chat script) dal file indicato. L'uso di questa opzione esclude l'indicazione dei comandi di script dalla riga di comando. Il file può contenere più righe, le stringhe possono essere separate utilizzando spazi o caratteri di tabulazione.

-t <timeout>

Fissa il valore del timeout, cioè del tempo massimo di attesa per la ricezione di una stringa.

-r <report-file>

Definisce il nome del file per contenere il rapporto quando viene utilizzata la parola chiave `REPORT'. Se non si specifica questo file viene utilizzato lo standard error.

-v

Attiva la modalità dettagliata per cui viene utilizzato il registro del sistema per annotare i messaggi di `chat'.

-V

Attiva la modalità dettagliata utilizzando lo standard error. In tal modo possono essere visualizzati immediatamente i messaggi che intercorrono tra `chat' e il modem. Questa opzione non funzionerà come previsto se lo standard error è ridiretto altrove, per esempio quando `chat' viene eseguito da `pppd' in modalità `detached'.

<script>

Se non viene specificato un file di script attraverso l'opzione `-f' questo deve essere fornito nella riga di comando, molto probabilmente racchiudendolo tra virgolette per permettere l'inserimento di spazi.

Codici di uscita

0   Conclusione normale: lo script è stato eseguito senza problemi.

1   Almeno uno dei parametri non è valido.

2   Errore durante l'esecuzione: potrebbe trattarsi di un errore di lettura di un file, o la ricezione di un segnale di `SIGINT'.

3   Errore di timeout.

4   È stata ricevuta la prima delle stringhe indicata come condizione di interruzione (ABORT).

5   È stata ricevuta la seconda delle stringhe indicata come condizione di interruzione (ABORT).

6   È stata ricevuta la terza delle stringhe indicata come condizione di interruzione (ABORT).

7   È stata ricevuta la quarta delle stringhe indicata come condizione di interruzione (ABORT).

...

113.2.2 Script di chat

Lo script di colloquio, ovvero lo script di `chat', definisce la comunicazione. Lo script consiste di una o più coppie di stringhe di attesa e invio separate da spazi, con una coppia opzionale di stringhe di subattesa-subinvio, separate da un trattino. Per esempio:

ogin:-BREAK-ogin: tizio ssword: tazza

indica che `chat' si aspetta di ricevere la stringa `ogin:'. Se ciò non avviene entro il tempo massimo stabilito (timeout), invia un break al sistema remoto e quindi attende di nuovo la stringa `ogin:'. Se la stringa `ogin:' viene ricevuta già la prima volta, la sequenza di interruzione non viene generata. Se fallisce anche la seconda volta l'attesa, `chat' termina l'esecuzione. Quando `chat' ha ricevuto la stringa `ogin:' invia la stringa `tizio' e quindi si mette in attesa di ricevere la stringa `ssword:'. Quando la riceve invia la stringa `tazza'. Alla fine di ogni stringa trasmessa da `chat' viene aggiunto un ritorno a carrello (<CR>). Al contrario, per indicare che si attende un codice di ritorno a carrello, si utilizza la sequenza `\r'.

Il motivo per il quale si indica solo la parte finale delle stringhe di identificazione è che in questo modo si possono ignorare le parti di stringa superflue che potrebbero anche essere giunte alterate. Un esempio molto simile al precedente potrebbe essere:

ogin:--ogin: tizio ssword: tazza

In questo caso, se non si riceve la stringa `ogin:' al primo tentativo, `chat' invia un semplice ritorno a carrello e quindi attende ancora una volta.

`chat' è in grado di riconoscere una serie di stringhe speciali che vengono descritte di seguito.

All'interno di uno script di colloquio, si possono inserire dei simboli speciali, rappresentati prevalentemente attraverso delle sequenze di escape del tipo `\x'. Segue l'elenco di quelle più importanti per `chat'.

113.2.3 pppd e chat per la connessione

Per automatizzare la creazione di un collegamento PPP attraverso la linea telefonica, quando il nodo remoto utilizza un sistema di autenticazione tradizionale, si può combinare l'uso di `pppd' e di `chat'. Per la precisione, si utilizza `pppd' con l'opzione `connect', attraverso la quale si avvia `chat' allo scopo di inizializzare il modem, comporre il numero ed eseguire il procedimento di autenticazione.

La prima cosa da fare è quella di creare uno script per `chat', adatto alle esigenze del proprio modem, e soprattutto, in grado di eseguire l'accesso presso la macchina remota. Si osservi l'esempio seguente, che fa riferimento al file `/etc/ppp/chatscript'. *1*

TIMEOUT      3
ABORT        BUSY
ABORT        'NO CARRIER'
''           \dAT&F
OK           \dAT
OK           \dATX3
OK           \dAT
OK           '\dATDT 0987654321'
TIMEOUT      30
CONNECT      ''
ogin:--ogin: tizio
word:        tazza
''           ''

Se si osserva l'esempio, si noterà che se la stringa `ogin:' non viene ricevuta entro 30 secondi, viene inviato un ritorno a carrello e quindi la si attende nuovamente. Inoltre, alla fine, anche se non è detto che sia strettamente necessario, viene inviato un ritorno a carrello senza attendere nulla.

In questa situazione, si potrebbe predisporre un altro script (questa volta uno script di shell), per avviare `pppd' con tutte le opzioni necessarie, e soprattutto con l'uso di `connect' per incorporare `chat'.

#!/bin/bash

/usr/sbin/pppd \
    connect "/usr/sbin/chat -v -f /etc/ppp/chatscript" \
    crtscts \
    modem \
    defaultroute \
    0.0.0.0:0.0.0.0 \
    /dev/ttyS1 \
    57600

Come in altri esempi, viene utilizzata la seconda porta seriale, e si lascia che sia la controparte a definire gli indirizzi IP di entrambi i nodi.

Ricapitolando, in questo modo: `pppd' apre la linea seriale; avvia `chat' che si occupa di inizializzare il modem, di comporre il numero telefonico e di eseguire l'accesso, fino a fare partire il PPP dall'altra parte; quindi `pppd' riprende il controllo ed è pronto per comunicare con l'altro lato della comunicazione.

Volendo, si può incorporare tutto lo script di colloquio nello script di shell che serve ad avviare `pppd'. Così facendo, diventa tutto un po' confuso da leggere, ma può essere un modo per tenere le informazioni sul proprio accesso remoto lontane da occhi indiscreti.

Quello che segue è uno script completo che prima di avviare `pppd' verifica che non ci sia già un'interfaccia di rete denominata `ppp0'.

#!/bin/bash
#======================================================================
# ~/ppp-connetti
#
# Attiva la connessione al proprio ISP attraverso pppd e chat.
#
# Questo script è molto semplificato rispetto a quelli standard.
# Il problema sta nel fatto che molto dipende da come si
# comporta l'elaboratore dell'ISP.
# In questo esempio, in particolare, alla fine dello script di
# chat viene inviato un ritorno a carrello senza il quale la
# connessione non avviene.
#
# Si presume che la connessione avvenga utilizzando l'interfaccia
# «ppp0».
#
# Perché possa essere utilizzato da un utente comune, occorre che
# quest'ultimo possa accedere alla porta seriale del modem e che il
# programma «pppd» sia SUID-root.
#
# Questo script non utilizza alcun argomento dalla riga di comando.
#======================================================================

#======================================================================
# Variabili.
#======================================================================

    #------------------------------------------------------------------
    # Indirizzo dell'ISP.
    # In teoria non è necessario indicare l'indirizzo IP
    # dell'elaboratore remoto. Tuttavia, se non dovesse funzionare,
    # c'è sempre la possibilità di inserirlo qui.
    #------------------------------------------------------------------
    IP_ISP="0.0.0.0"
    #------------------------------------------------------------------
    # Indirizzo del proprio elaboratore.
    # L'indirizzo IP del proprio elaboratore non deve essere indicato,
    # a meno che non sia stato deciso diversamente con il proprio ISP.
    # Infatti, di solito viene assegnato l'indirizzo locale in
    # maniera dinamica.
    #------------------------------------------------------------------
    IP_LOCALE="0.0.0.0"
    #------------------------------------------------------------------
    # La porta di comunicazione utilizzata per il modem.
    # In questo caso è la seconda porta seriale.
    #------------------------------------------------------------------
    DISPOSITIVO="/dev/ttyS1"
    #------------------------------------------------------------------
    # Velocità massima di trasmissione.
    #------------------------------------------------------------------
    VELOCITA="57600"
    #------------------------------------------------------------------
    # Il numero di telefono dell'ISP.
    #------------------------------------------------------------------
    TELEFONO="0987654321"
    #------------------------------------------------------------------
    # Il nome utente utilizzato per accedere all'elaboratore dell'ISP.
    #------------------------------------------------------------------
    PPP_ACCOUNT="tizio"
    #------------------------------------------------------------------
    # La password per accedere.
    #------------------------------------------------------------------
    PPP_PASSWORD="tazza"

#======================================================================
# Inizio.
#======================================================================

    #------------------------------------------------------------------
    # Prima di iniziare si controlla che non sia già attiva una
    # connessione con l'interfaccia di rete «ppp0», ovvero quella di
    # una connessione PPP (precisamente la prima).
    # È da notare che «ifconfig» potrebbe non trovarsi nel percorso
    # di ricerca degli eseguibili della variabile PATH, per cui è
    # necessario indicare il percorso assoluto.
    #------------------------------------------------------------------
    if `/sbin/ifconfig | grep "ppp0" > /dev/null`
    then
	#--------------------------------------------------------------
	# Esiste già una connessione con «ppp0», quindi non si può
	# procedere (si interrompe lo script).
	#--------------------------------------------------------------
	echo "È già attiva una connessione con ppp0"
	exit 1
    fi
    #------------------------------------------------------------------
    # Viene attivato pppd con l'aiuto di chat.
    # In particolare, chat esegue le operazioni seguenti:
    #  - imposta il tempo di attesa a 3 secondi;
    #  - interrompe in caso di messaggio ABORT
    #  - interrompe in caso di messaggio NO CARRIER;
    #  - senza attendere, richiede il prelievo della configurazione
    #    di fabbrica del modem;
    #  - dopo l'OK invia un comando AT nullo (serve per i modem lenti);
    #  - dopo l'OK invia il comando ATX3 in modo che venga ignorato il
    #    tono di chiamata;
    #  - dopo l'OK invia un comando AT nullo (serve per i modem lenti);
    #  - dopo l'OK invia la richiesta di composizione del numero
    #    telefonico;
    #  - cambia il tempo di attesa portandolo a 30 secondi;
    #  - attende CONNECT e quindi invia un ritorno a carrello;
    #  - attende la richiesta di login e invia il nome dell'utente;
    #  - attende la richiesta della password e invia la password;
    #  - senza attendere invia un ritorno a carrello.
    #------------------------------------------------------------------
    /usr/sbin/pppd \
connect "/usr/sbin/chat -v \
TIMEOUT      3 \
ABORT        BUSY \
ABORT        'NO CARRIER' \
''           \\dAT\&F \
OK           \\dAT \
OK           \\dATX3 \
OK           \\dAT \
OK           '\\dATDT $TELEFONO' \
TIMEOUT      30 \
CONNECT      '' \
ogin:--ogin: $PPP_ACCOUNT \
word:        $PPP_PASSWORD \
''           ''  " \
crtscts \
modem \
defaultroute \
$IP_LOCALE:$IP_ISP \
$DISPOSITIVO \
$VELOCITA

#======================================================================
# Fine.
#======================================================================

Per semplificare la chiusura del PPP, si può preparare anche lo script seguente:

#!/bin/sh
#======================================================================
# ~/ppp-chiudi
#
# Chiude la connessione inviando un segnale di SIGINT a "ppp0".
#
# Questo script non utilizza alcun argomento dalla riga di comando.
#======================================================================

#======================================================================
# Inizio.
#======================================================================

    kill -INT `cat /var/run/ppp0.pid`

#======================================================================
# Fine.
#======================================================================

Prima di poter eseguire uno script è importante ricordare di attribuirgli i permessi di esecuzione necessari.

chmod +x <nome-del-file>

Come già accennato nel capitolo introduttivo all'uso di `pppd', se si vuole permettere anche agli utenti comuni di effettuare la connessione, occorre fare in modo che `pppd' sia SUID-root. In pratica, si verifica, e se necessario si modificano i permessi di `pppd'.

ls -l /usr/sbin/pppd[Invio]

-rwxr-xr-x   1 root     root        69084 Mar 25  1997 /usr/bin/pppd*

Dal momento che manca la modalità SUID, occorre attribuirgliela.

chmod u+s /usr/sbin/pppd[Invio]

Si verifica nuovamente per sicurezza.

ls -l /usr/sbin/pppd[Invio]

-rwsr-xr-x   1 root     root        69084 Mar 25  1997 /usr/bin/pppd*

La lettera `s' minuscola segnala l'attivazione della modalità SUID e del permesso di esecuzione per l'utente proprietario.

113.3 Cliente PPP che fornisce esclusivamente un'identificazione PAP o CHAP

Se si usa esclusivamente il protocollo PPP per ottenere l'autenticazione di chi accede, la configurazione del cliente diventa più semplice. La differenza rispetto a quanto mostrato nel caso di autenticazione tradizionale, sta nel fatto che non occorre più accedere in quel modo; tuttavia resta il problema di dover inizializzare il modem e di comporre il numero telefonico.

In pratica, il procedimento è simile a quanto è già stato mostrato, nel senso che `pppd' viene usato ancora assieme a `chat', solo che lo script di colloquio si limita a comandare il modem.

TIMEOUT      3
ABORT        BUSY
ABORT        'NO CARRIER'
''           \dAT&F
OK           \dAT
OK           \dATX3
OK           \dAT
OK           '\dATDT 0987654321'

Quello che si vede potrebbe essere il nuovo script di colloquio di `chat'. Per il resto, l'uso di `pppd' non cambia, a parte il fatto di dover intervenire sui file `/etc/ppp/pap-secrets' e `/etc/ppp/chat-secrets'. Quello che segue è l'esempio di `/etc/ppp/pap-secrets'; nel caso di `/etc/ppp/chat-secrets' potrebbe essere necessario indicare espressamente il nome del servente, ovvero del nodo remoto.

# /etc/ppp/pap-secrets
#
# Segreti per l'autenticazione PAP
#
# cliente	servente	segreto		indirizzi IP ammissibili
tizio		*		tazza		*

A questo punto, specialmente nel caso che il nodo remoto richieda l'autenticazione PAP, è necessario aggiungere al comando `pppd' l'opzione `user', in modo da selezionare la voce corretta nel file `/etc/ppp/pap-secrets'.

#!/bin/bash

/usr/sbin/pppd \
    connect "/usr/sbin/chat -v -f /etc/ppp/chatscript" \
    user tizio \
    crtscts \
    modem \
    defaultroute \
    0.0.0.0:0.0.0.0 \
    /dev/ttyS1 \
    57600

113.4 Problemi collegati

Dal momento che la connessione a Internet è una delle prime cose che si fa quando ci si avvicina a qualunque sistema operativo che lo consenta, è il caso di ricordare un paio di particolari che non sono correlati direttamente al protocollo PPP.

113.4.1 Gli indirizzi locali

Se il proprio elaboratore è collegato a una rete locale, si devono utilizzare indirizzi IP che non vadano in conflitto con quelli della rete esterna, cioè Internet.

Per questo, di solito si usano gli indirizzi della classe C riservati appositamente alle reti locali i cui elaboratori non devono essere accessibili da parte della rete Internet: da 192.168.0.0 a 192.168.255.255.

113.4.2 DNS

Dovendo accedere alla rete esterna Internet, un problema importante è costituito dalla risoluzione dei nomi di dominio. Se si utilizza il proprio elaboratore per accedere a Internet, è molto probabile che non si disponga di un servizio di risoluzione dei nomi locale (servente DNS), al massimo si utilizza il file `/etc/hosts' con l'elenco degli elaboratori locali. Per non perdere la possibilità di comunicare con la propria rete locale, pur potendo accedere a Internet, occorre configurare il file `/etc/host.conf' ( 92.1.1) in modo da utilizzare prima il file `/etc/hosts' e quindi i serventi DNS.

order hosts,bind
multi on

Successivamente occorre preparare il file `/etc/resolv.conf' ( 92.2.3) in modo da utilizzare i servente DNS indicati dal proprio ISP. Segue un esempio con indirizzi immaginari.

nameserver 195.345.145.15
nameserver 194.145.123.77

Il protocollo PPP può fornire a un cliente l'indicazione degli indirizzi IP dei serventi DNS da utilizzare, ma questo riguarda in pratica solo i clienti MS-Windows.

Se invece si desidera attivare localmente un servizio di risoluzione dei nomi si può vedere quanto trattato nei capitoli 93 e 94.

113.4.3 Il sistema di posta elettronica

Quando si utilizza un ISP per accedere a Internet, di solito si ottiene un indirizzo di posta elettronica riferito a un elaboratore dell'ISP, e per acquisire la posta da quell'elaboratore si può utilizzare Popclient ( 105.3.1) o Fetchmail ( 105.4) per trasferirla nel proprio sistema di posta locale.

Per l'invio della posta elettronica, se si è alle prime armi, è meglio utilizzare un programma MUA in grado di utilizzare un servente SMTP differente da quello locale, e precisamente in grado di sfruttare quello offerto del fornitore di accesso a Internet. Ciò dà il vantaggio di lasciare a quel servente il compito di inoltrare i messaggi e di ritentare l'invio nel caso le destinazioni non siano immediatamente raggiungibili.

Se invece si pretende di gestire la posta attraverso il servente locale, magari perché si vuole servire la propria rete locale, allora le cose si complicano e occorre conoscere bene la configurazione del proprio servente SMTP.

113.5 Riferimenti

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

Appunti Linux 2000.04.12 --- Copyright © 1997-2000 Daniele Giacomini --  daniele @ pluto.linux.it


1.) La scelta della collocazione e del nome di questo script è personale. In questo caso è stato messo nella directory `/etc/ppp/', anche se ciò potrebbe essere discutibile. Dal momento che contiene informazioni riservate, e precisamente ciò che è necessario per accedere presso il servente remoto a cui ci si connette, può darsi che sia meglio «nasconderlo» in qualche modo.


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