[>a2401.html>] [<a2399.html<] [^a2.html^]


Capitolo 314.   Connessione al provider - ppp

314.1   Facilitare la connessione al provider con Debian GNU/Linux

Esiste per Debian GNU/Linux un'applicazione che faciliti la connessione al provider?

---------

C'è pppconfig:

<ftp://ftp.it.debian.org/debian/dists/stable/main/binary-i386/base/pppconfig_1.1.deb>

314.2   Verificare la presenza del ppp

Come posso controllare se ho installato il ppp?

---------

Dai il comando:

# cat /usr/include/linux/autoconf.h | grep PPP[Invio]

e vedi se esiste, se è compilato come modulo o all'interno del kernel;

# lsmod | grep ppp[Invio]

(se è compilato come modulo, assicurati che esso sia caricato)

Se proprio non esiste, devi ricompilare il kernel.

314.3   Visualizzazione in tempo reale dei processi di connessione

Quando impartisco il comando di connessione al mio provider, come faccio a sapere quando mi sono connesso?

---------

Digita ifconfig e quando vedrai le linee riguardanti l'interfaccia ppp allora sarai connesso. Un metodo più comodo è sicuramente quello di vedere in tempo reale gli aggiornamenti del file /var/log/messages. Questo può essere fatto con:

# tail -d /var/log/messages[Invio]

eventualmente inserendo tale comando in uno script:

#!/bin/sh
pppd (o ifup, insomma il comando di connessione)
xterm -e tail -f /var/log/messages

314.4   Statistica sulla connessione ad Internet

Esiste un comando da lanciare o un procedimento da seguire per poter vedere la velocità di connessione ad Internet?

---------

pppstat ti da qualche informazione.

314.5   Visualizzare il proprio indirizzo IP

Come faccio a vedere l'indirizzo IP della mia macchina?

---------

Con:

# ifconfig[Invio]

poi guarda sull'interfaccia principale il numero di inet addr.

314.6   Indirizzi DNS dei provider

Come faccio a risalire ai dns dei provider?

---------

Con nslookup:

# nslookup[Invio]

> server dns2.nic.it[Invio]

> set query=any[Invio]

> pluto.linux.it[Invio]

Server:  dns.nic.it
Address:  193.205.245.5

pluto.linux.it  preference = 10, mail exchanger = keycomm.pluto.linux.it
pluto.linux.it  preference = 20, mail exchanger = r-vicenza3.keycomm.it
pluto.linux.it  preference = 30, mail exchanger = r-vicenza1.keycomm.it
pluto.linux.it  preference = 40, mail exchanger = dns.keycomm.it
pluto.linux.it  Internet address = 192.106.105.10
pluto.linux.it  text = "PLUTO Linux User Group"
pluto.linux.it  nameserver = serena.keycomm.it
pluto.linux.it  nameserver = snoopy.psy.unipd.it
pluto.linux.it  nameserver = ns.publinet.it
pluto.linux.it
        origin = serena.keycomm.it
        mail addr = dalla.pluto.linux.it
        serial = 1999110100
        refresh = 86400 (1D)
        retry   = 7200 (2H)
        expire  = 2592000 (4w2d)
        minimum ttl = 86400 (1D)
pluto.linux.it  nameserver = serena.keycomm.it
pluto.linux.it  nameserver = snoopy.psy.unipd.it
pluto.linux.it  nameserver = ns.publinet.it
keycomm.pluto.linux.it  Internet address = 194.184.117.31
r-vicenza3.keycomm.it   Internet address = 194.184.117.4
r-vicenza1.keycomm.it   Internet address = 194.184.117.2
dns.keycomm.it  Internet address = 194.184.116.2
serena.keycomm.it       Internet address = 194.184.117.3
snoopy.psy.unipd.it     Internet address = 147.162.146.17
ns.publinet.it  Internet address = 151.99.137.2

> > geocities.com[Invio]

Server:  dns.nic.it
Address:  193.205.245.5

Non-authoritative answer:
geocities.com   nameserver = NS2.geocities.com
geocities.com   nameserver = NS1.YAHOO.COM
geocities.com   nameserver = NS2.DCA.YAHOO.COM
geocities.com   nameserver = NS4.geocities.com
Authoritative answers can be found from:
geocities.com   nameserver = NS2.geocities.com
geocities.com   nameserver = NS1.YAHOO.COM
geocities.com   nameserver = NS2.DCA.YAHOO.COM
geocities.com   nameserver = NS4.geocities.com
NS2.geocities.com       Internet address = 209.1.224.100
NS1.YAHOO.COM   Internet address = 204.71.200.33
NS2.DCA.YAHOO.COM       Internet address = 209.143.200.34
NS4.geocities.com       Internet address = 209.1.224.143

> tiscalinet.it[Invio]

Server:  dns.nic.it
Address:  193.205.245.5

Non-authoritative answer:
tiscalinet.it   nameserver = ns.tiscalinet.it
tiscalinet.it   nameserver = sns.tiscali.it
tiscalinet.it
        origin = ns.tiscalinet.it
        mail addr = nsadmin.tiscali.it
        serial = 2000042802
        refresh = 86400 (1D)
        retry   = 3600 (1H)
        expire  = 604800 (1W)
        minimum ttl = 86400 (1D)

Authoritative answers can be found from:
tiscalinet.it   nameserver = ns.tiscalinet.it
tiscalinet.it   nameserver = sns.tiscali.it
ns.tiscalinet.it        Internet address = 195.130.224.18
sns.tiscali.it  Internet address = 195.130.225.129

In ogni caso si può fare anche con il comando host:

# host -t ns dominio_tuo_provider[Invio]

[bigpaul@capo.retemia]:[Fri May 5]:[22:25:41]:[~]: host -t ns flashnet.it[Invio]

flashnet.it             NS      dns2.flashnet.it
flashnet.it             NS      dns.flashnet.it

[bigpaul@capo.retemia]:[Fri May 5]:[22:25:41]:[~]: ping dns2.flashnet.it[Invio]

PING dns2.flashnet.it (194.247.160.8): 56 data bytes
64 bytes from 194.247.160.8: icmp_seq=0 ttl=252 time=178.5 ms

--- dns2.flashnet.it ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 150.0/163.7/178.5 ms

[bigpaul@capo.retemia]:[Fri May 5]:[22:25:41]:[~]: ping dns.flashnet.it[Invio]

PING dns.flashnet.it (194.247.160.1): 56 data bytes
64 bytes from 194.247.160.1: icmp_seq=0 ttl=252 time=165.5 ms

--- dns.flashnet.it ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 150.0/157.7/165.5 ms

314.7   Cambiare gli indirizzi DNS se ci si connette a più di un provider

Se volessi usare più accessi ad Internet come dovrei fare con il /etc/resolv.conf? Dovrei forse mettere tutti i DNS dei provider nello stesso file o dovrei cambiarli ogni volta?

---------

Puoi tranquillamente lasciare i DNS di un provider o sceglierne un paio tra quelli che ti sembrano più veloci e affidabili. Le richieste generalmente sono permesse a tutti gli host, quindi non ha importanza quale abbonamento stai usando.

314.8   DNS cambiato

Durante la connessione ad Internet, il DNS della rete locale (che risiede in /etc/resolv.conf), mi viene sostituito automaticamente dal DNS che utilizzo per navigare (/etc/ppp/resolv.conf/). Quando però mi sconnetto, la modifica resta. Come posso evitare ciò?

---------

Inserisci in /etc/sysconfig/network-scripts/ifcfg-ppp0 la riga:

'PEERDNS=no'

314.9   Connessi ad internet ma il navigatore non riesce a connettersi ai siti

Mi sembra di essere riuscito a collegarmi ad Internet con Linux. Il navigatore però non si riesce a collegare a nessun sito e restituisce errore. Come faccio?

---------

Devi indicare gli indirizzi DNS del tuo provider nel file /etc/resolv.conf. Questo file serve per tradurre gli indirizzi mnemonici in indirizzi ip numerici, ed è costituito da più righe del tipo:

nameserver   indirizzo-ip-del-server-DNS

314.10   Messaggio di errore: no dialtone del modem

Sto tentando di collegarmi ad Internet. Ho letto l'HOWTO e tutto funziona solo che quando digito «atdt12345» il modem non compone il numero perché mi risponde no dialtone

---------

Prova la stringa di inizializzazione del modem atx3dt12345 invece di atdt12345.

314.11   Automatizzare delle operazioni da effettuare durante la connessione ad Internet

Vorrei che un singolo script mi permettesse:

Questo mi potrebbe essere utile ad esempio per collegarmi esclusivamente per scaricare la posta. Come si fa?

---------

Prova a creare uno script di questo tipo:

#!/bin/bash
#
_LOCK=/var/lock/ppp.LOCK
#
pon
if [ "$?" = "0" ] ; then
        ....
        tuoi comandi
        ....
        poff
        rm -f $_LOCK
        exit 0
else
        rm -f $_LOCK
        exit 1
fi

314.12   Connessione ad Internet con script

Come posso fare a collegarmi ad Internet senza usare kppp e simili? Ho sentito che si può fare tramite degli script, ma come faccio?

---------

La connessione tramite script è il metodo più classico per connettersi ad un provider Internet sui sistemi come Linux. In effetti kppp ed i programmi simili non fanno altro che andare a scrivere degli script.

In Linux si usano due programmi, essenzialmente: chat che invia i comandi al modem e pppd il demone che instaura il dialogo secondo il protocollo ppp con il server del provider.

I file su cui interverremo sono sostanzialmente 5:

/etc/ppp/pap-secrets

/etc/resolv.conf

/etc/host.conf

/bin/ispup

/bin/ispdown

Come si può intuire tratterò il caso di accesso con autenticazione PAP.

Innanzitutto dovremo inserire il nostro nome utente e la password, comunicateci dal provider, nel primo di questi file, in questo modo:

# /etc/ppp/pap-secrets

username        *       password

Poi dovremo modificare il secondo, che semplicemente indica al nostro sistema i dns da usare durante la connessione:

# /etc/resolv.conf

search dominioprovider.it
nameserver 111.222.111.222
nameserver 222.111.222.111

dove ovviamente dovremo inserire i dati forniteci dal provider al momento della stipulazione del contratto al posto degli esempi che ho scritto.

Bisogna poi comunicare al sistema in che modo deve risolvere i nomi dei computer nella rete (non importa se non avete una rete locale e l'unica rete per voi è Internet, dovete specificarlo lo stesso). Per fare questo bisogna operare su /etc/host.conf.

# /etc/host.conf

order hosts,bind
multi on

Fatto tutto ciò il nostro sistema è pronto, e possiamo quindi passare alla realizzazione dei veri e propri script di connessione, cioè quelli che eseguiremo quando vorremo connetterci o disconnetterci.

Questo per connettersi:

# /bin/ispup

IP_ISP="0.0.0.0"
IP_LOCALE="0.0.0.0"
DISPOSITIVO="/dev/modem"    # oppure il nome della seriale cui è collegato il modem
VELOCITA="57600"
TELEFONO="0123456789"
NOMEUSER="username"
/usr/sbin/pppd \
connect "/usr/sbin/chat -v \
TIMEOUT 3 \
ABORT BUSY \
ABORT 'NO CARRIER' \
'' \dATZ \
OK \dATX0 \
OK \dAT\d$TELEFONO \
TIMEOUT 60 \
CONNECT '' " \
user $NOMEUSER -d \
-detach crtscts modem \
defaultroute noipdefault \
$IP_LOCALE:$IP_ISP \
$DISPOSITIVO \
$VELOCITA

e questo per disconnettersi:

# /bin/ispdown

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

A questo punto, se volete collegarvi senza essere utente root, la via più semplice anche se la meno sicura è quella di dare i permessi di esecuzione degli script a tutti gli utenti (oppure vi create un gruppo di utenti apposito) e di selezionare l'attributo del set user ID per il comando pppd.

Per connettervi digitate al prompt:

$ ispup &[Invio]

(la & serve a mandare il processo in secondo piano, in modo che abbiate ancora libera la console per compiere altre operazioni.)

Digitate:

$ ispdown[Invio]

per terminare la connessione.

314.13   Collegamento a Tiscali, un esempio per tutti

Quali sono gli script di connessione a Tiscali e quali file devo modificare?

---------

Il file da eseguire lo potremo chiamare tiscali", dovremo conferirgli i permessi giusti e dovremo metterlo in una directory di percorso (path).

#!/bin/sh
#Parametri della connessione.
#Numero di telefono del provider: deve contenere anche il prefisso.
#Nodo di Roma (RM)
TELEFONO=06XXXXXXXXXXXX
#Nome da cercare in "pap-secrets"
NOME_UTENTE=ggabriele.gvgsoft
#Rende disponibili le variabili allo script "dialup".
export TELEFONO
#Dove si trova lo script "dialup"
SCRIPT_DIALUP=/etc/ppp/dialup
#Nuovo "resolv.conf"
NUOVO_RESOLV=/etc/ppp/resolv.tisc
#Vecchio "resolv.conf"
VECCHIO_RESOLV=/etc/resolv.conf
#Modifica "resolv.conf"
rm -f $VECCHIO_RESOLV
cp $NUOVO_RESOLV $VECCHIO_RESOLV
#Avvio della connessione.
exec /usr/sbin/pppd connect $SCRIPT_DIALUP user $NOME_UTENTE

File /etc/ppp/resolv.tisc

domain tiscalinet.it
nameserver 195.130.224.18
nameserver 195.130.225.129

File /etc/ppp/options

#Fa sì che lo script non venga eseguito in secondo piano
#e che possa essere ucciso con CTRL-C.
-detach
#Usa il lock per assicurarsi un accesso esclusivo
#al dispositivo seriale. Questo potrebbe provocare
#in kppp un messaggio del tipo "Trovata l'opzione
#lock. Rimuoverla perché gestita automaticamente".
lock
#Porta su cui è attaccato il modem:
#ttyS0=COM1 ttyS1=COM2 ttyS2=COM3 ttyS3=COM4
/dev/ttyS3
#Velocità di connessione porta-modem.
115200
#Controllo di flusso hardware.
crtscts
#Non vengono assegnati indirizzi IP di default
noipdefault
defaultroute
modem
asyncmap 0
#Massima grandezza del pacchetto trasmesso.
mtu 1024
#Massima dimensione del pacchetto ricevuto.
mru 1024

File /etc/ppp/dialup

#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec /usr/sbin/chat -v                                  \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        SAY             "Composizione del numero ed\n"  \
        SAY             "avvio della connessione...\n"  \
        OK              ATDT$TELEFONO                   \
        CONNECT         ''

Naturalmente, il file etc/ppp/pap-secrets contiene la password in questa maniera:

nome_utente [TAB] * [TAB] password

314.14   Doppia composizione del numero telefonico del provider in Red Hat 6.1

Come mai il numero di telefono del provider viene composto due volte in Red Hat 6.1?

---------

C'è un baco per cui il numero di telefono viene composto due volte prima di accedere ad Internet. Sul sito di Red Hat <http://www.redhat.com> è disponibile la versione corretta. Si trova anche l'aggiornamento di `rp3', il programma per la gestione degli account Internet.

314.15   Verifica dei tempi di connessione con script

C'è il modo, connnettendosi tramite script, di vedere i tempi di durata della connessione?

---------

Il pppd scrive nel suo file di log i tempi di inizio e fine connessione, da esso puoi ricavarti le durate. Il file di log predefinito è /var/log/messages, ma io l'ho modificato nel syslog.conf così:

*.info;mail.none;authpriv.none;daemon.none              /var/log/messages
# Daemon
daemon.*                                                /var/log/daemon

In questo modo il file di log è /var/log/daemon.

314.16   ppp, attributo del set user ID ed uso per gli utenti comuni

Se cerco di usare il ppp per il collegamento ad Internet, mi compare una casella di dialogo che mi avverte che il demone pppd non è installato correttamente e bisogna installarlo con il set user ID. Che vuol dire?

---------

Normalmente l'uso del ppp è riservato all'utente root. Per permetterne l'uso anche agli altri utenti, si fa in modo che quando questo viene eseguito, il sistema pensi che sia root a farlo. Per questo esiste un bit speciale nei permessi.

Per attivarlo usa:

# cd /usr/sbin[Invio]

# chmod u+s pppd[Invio]

314.17   Mandrake 6.1, linuxconf e ppp - file di configurazione

Ho una Mandrake 6.1 (helios); ho installato e configurato tutto. Linuxconf fra le varie opzioni imposta anche la connessione ad Internet. Dove va a posizionare gli script?

---------

La Red Hat 6.0 da cui Helios è derivata li mette in /etc/sysconfig/network-scripts/

314.18   Problemi di autentificazione con diald

Se eseguo la connessione ad Internet senza usare diald va tutto bene, usando diald la chiamata viene effettuata ma l'autenticazione non va a buon fine. Perché?

---------

Devi dirgli chi è l'utente che accede. Questo in genere si fa in tre modi. Innanzitutto inserisci in /etc/ppp/pap-secret nome_utente e password e poi:

  1. nel file /etc/ppp/options inserisci la riga:

    user <nome utente>
  2. puoi specificare il nome utente direttamente dentro lo script di chat invece che nel file 'option', ma poi dopo avrai problemi se lavori, come dovrebbe essere, con un account diverso da quello di root.

  3. Il modo migliore è inserire in /etc/diald.conf la riga:

    ppp-options = user = <nome utente>

314.19   Salvare i file di configurazione della connessione ad Internet finalmente funzionante

Visto che dopo tanto faticare sono riuscito a configurare Linux per la connessione ad Internet, potreste dirmi tutti i file che devo salvare per ripristinare il tutto un secondo tempo in caso mi dovesse capitare qualcosa al sistema?

---------

Oltre ad i singoli file eseguibili attivanti la connessione (connetti, if-up, ecc.):

/etc/ppp/options

/etc/ppp/pap-secrets

/etc/ppp/chat-script

/etc/resolv.conf

314.20   Crash della Red Hat 6.1 utilizzando lo strumento per configurare la connessione

Perché quando lancio il dialup configuration tool mi viene restituito un bel messaggio di crash?

---------

Lancia:

# netcfg[Invio]

ed in 'interfaces' troverai che una delle due è senza nome e non attiva. È sufficiente cancellarla per rimuovere il problema.

314.21   Procedura per connettersi a diversi fornitori di acccesso Internet con Red Hat

Come si può configurare il proprio sistema per accedere ad Internet con diversi provider?

---------

Basta uno script che cambi i file:

/etc/ppp/options

/etc/ppp/pap-secrets

/etc/ppp/chat-script

/etc/resolv.conf

quindi prima di tutto occorre copiare questi file al sicuro!

Creiamo un file .spec per ogni provider che abbiamo. (I file .spec servono a creare i pacchetti rpm)

tiscali.spec, tin.spec, ecc. con il seguente contenuto (copiate le righe tra gli **********)

Ad esempio ora mi collego felicemente con Tiscali e scrivo questo file:

************************************************************************
Name: Connessione_tiscali
Summary: Tutte le impostazioni e gli scripts per la connessione a
Tiscali
Version: 1.0
Release: 1
Copyright: Uso personale Gaetano Paolone
Group: Applications
Packager: Gaetano Paolone <gaetano@pluto.linux.it>

%description
Ecco i file per la connessione a tiscali.

%files
/etc/ppp/options
/etc/ppp/pap-secrets
/etc/ppp/chat-script
/etc/resolv.conf
**************************************************************************

Creiamo ora l' rpm:

# rpm -bb tiscali.spec[Invio]

(che creerà qualcosa come Connessione_tiscali-1.0-1.rpm)

Fatto il primo, cambio i file e quando funzionano con la nuova configurazione (ad esempio con tin), creo il secondo rpm:

# rpm -bb tin.spec[Invio]

ecc. e ricominciamo.

Fatti tutti gli rpm creiamo vari script per attivarli:

# attiva_tiscali[Invio]

che conterrà la riga:

# rpm -Uvh Connessione_tiscali-1.0-1.rpm[Invio]

(o qualcosa del genere)

attiva_tin ecc.

Diamo loro il permesso di esecuzione e copiamoli in una directory di percorso (path).

Ora basterà digitare il nome dello script per cambiare tutti i file di configurazione.

314.22   Script per diversi fornitori di accesso Internet

Come posso collegarmi a diversi fornitori di accesso Internet?

---------

Ecco come si può impostare Linux per connettersi a due provider (es. Tiscali e Infostrada).

È necessario modificare o aggiungere alcuni file contenuti in /etc/ppp nel modo seguente:

  1. Cancellare il contenuto di chap-secrets;

  2. Creare due file:

    dial-infostrada

    dial-tiscali

    ciascuno con un contenuto del tipo:

            REPORT CONNECT
            ABORT "BUSY"
            ABORT "NO CARRIER"
            ABORT "NO DIALTONE"
            "" ATL0M0X4
            OK ATDTnum_tel_provider
            CONNECT
  3. Creare il file options fatto più o meno così (con opzioni generiche rispetto al provider):

            /dev/modem
            57600
            debug
            lock
            crtscts
            defaultroute
  4. Modificare pap-secrets nel seguente modo:

            # Secrets for authentication using PAP
            # client        server  secret                  IP addresses
            tuo_username_infostrada  infostrada      tua_password_infostrada
            tuo_username_tiscali     tiscali         tua_password_tiscali
  5. Per avviare gli script e le opzioni corrette per ciascun provider creare due file diversi al posto di ppp-on e cioè ppp-tiscali-on e ppp-infostrada-on fatti così:

    /usr/sbin/pppd connect '/usr/sbin/chat -v -f /etc/ppp/dial-nome_provider'\
    /dev/modem 57600 debug lock crtscts defaultroute call options-nome_provider\
    -d -detach &
  6. Creare la directory peers sotto /etc/ppp e inserire due file, options-infostrada e options-tiscali ciascun con il seguente contenuto:

            name tuo_nomeutente_presso_quel_provider

    Volendo, per Infostrada, si può aggiungere:

       
            mtu 552
            mru 552
  7. Modificare il file /etc/resolv.conf inserendo i nomi di server di entrambi i provider e modificare /etc/hosts in modo che contenga gli indirizzi ip di entrambi i server di posta (eventualmente ricavandoli effettuando un ping su i due server) per evitare che la connessione con uno dei due provider impedisca il prelievo della posta presso il server dell'altro.

  8. Se tutti i permessi sono impostati correttamente, il tutto dovrebbe essere pronto a funzionare correttamente, anche per più di due provider con le ovvie aggiunte (tutte le opzioni particolari riguardanti i singoli provider non vanno poste, ovviamente, in options che contiene le opzioni generiche e non va eliminato, ma bensì in peers/options-nome_provider).

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it

[>a2401.html>] [<a2399.html<] [^a2.html^]