20.8 Collegamenti dial-up
Come illustrato precedentemente, è possibile collegarsi da un sitema ad un altro attraverso la
linea seriale.
Una volta configurata opportunamente, un’interfaccia può essere attivata e disattivata
utilizzando gli script /sbin/ifup e /sbin/ifdown (che sono di proprietà del superuser ma hanno
il suid
attivato), passando come parametro il nome dell’interfaccia considerata (v. tab. 20.1). Ad
esempio, per attivare una connessione dial-up è sufficiente far eseguire il comando
/sbin/ifup /dev/ppp0
dove /dev/ppp0 è il file di dispositivo relativo all’interfaccia costituita dal modem.
È comunque possibile attivare il collegamento PPP anche soltanto per mezzo del comando
wvdial. Il relativo processo perdura rimane fintanto che il collegamento PPP è attivo. Per
terminare il collegamento è sufficiente terminare il processo wvdial.
La gestione del protocollo PPP è effetuata dal daemon pppd (man page pppd(8)).
____________________________________________________________________
Comando: pppd
Path: /usr/sbin/pppd
SINTASSI
# pppd [option]
DESCRIZIONE
-
option specifica il funzionamento di pppd. Può assumere i seguenti valori
-
device indica il dispositivo da utilizzare per la comunicazione (in genere una
porta seriale, ad es. /dev/ttyS0);
-
speed indica la velocità di trasmissione delle informazioni (baud rate);
- asyncmap map
imposta i caratteri di controllo che devono essere trasferiti sulla linea
(essi verranno trasmessi come una sequenza di 2 byte: il primo byte
sarà il carattere di escape) secondo quanto indicato da map, un valore
di 32 bit, in cui ogni bit indica se il corrispondente carattere ASCII
(dei primi 32 - da 0 a 1FH) deve esere trasmesso (1) o meno (0).
ad esempio 280 (= 1000110002) indica di trasmettere sulla linea i
caratteri ASCII con i valori decimali 3,4 e 8, cioè ETX, EOT e BS;
-
auth richiede l’autenticazione del sistema remoto prima di iniziare la
trasmissione dei pacchetti sulla linea (questa opzione è di default se il
sistema ha una route di default). Se questa opzione non è specificata
e non è specificata neanche l’opzione noauth pppd permetterà la
comunicazione solo con i sistemi remoti che hanno un indirizzo IP
non presente nella routing table del sistema locale;
-
call filename
indica di leggere le opzioni dal file /etc/ppp/peers/filename;
-
connect script
indica di utilizzare il file eseguibile specificato da script per impostare
la linea;
-
crtscts
indica di utilizzare il controllo hardware (RTS/CTS) del flusso
dei dati sulla linea. Se non viene specificata nessuna delle opzioni
crtscts, nocrtscts, cdtrcts o nocdtrcts l’impostazione del
controllo del fluso dei dati sulla linea viene lasciato inalterato;
-
defaultroute
aggiunge una route di default nella routing table del sistema
utilizzando il sistema remoto come gateway, non appena la
negoziazione IPCP è stata completata. La default route così inserita
verrà eliminata non appena la connessione PPP viene interrotta;
-
disconnect script
indica di eseguire il file eseguibile indicato da script non appena pppd
termina il collegamento;
-
escape char1[,char2[,...]]
indica i caratteri che devono essere preceduti dal carattere di
escape durante la trasmissione (i caratteri devono essere espressi in
notazione esadecimale, separandoli tra loro con una virgola);
-
file filename
indica a pppd di leggere le opzioni dal file filename;
-
init script
indica di eseguire il file eseguibile indicato da script per
l’inizializzazione della linea;
-
lock indica di creare un file di lock per garantire un accesso esclusivo al
dispositivo che gestisce la linea;
-
mru n imposta la MRU (Maximum Receive Unit) a n byte (il valore minimo
è 128, quello di default è 1500 - nel caso di IPv6 la minima MRU
deve essere 1280);
-
mtu n imposta la MTU (Maximum Transmit Unit) a n byte (nel caso di
IPv6 la MTU deve essere almeno 1280);
-
passive
abilita la modalità passiva del LCP (Link Control Protocol): pppd
inizia ad instaurare la connessione e se non riceve una risposta dal
sistema remoto, rimane in attesa di un pacchetto LCP valido, invece
di terminare come di consueto;
-
[local_IP_addr]:[remote_IP_addr]
specifica l’indirizzo IP dell’interfaccia locale e/o di quella remota
(gli indirizzi IP possono essere espressi in dotted decimal notation
o per mezzo del nome di dominio). Se non indicati, l’indirizzo IP
locale viene appunto ottenuto dal sistema locale, mentre quello
remoto è trasmesso dal sistema remoto. Se vengono specificati, pppd
non accetterà un valore diverso durante la negoziazione IPCP, a
meno che non siano specificate le opzioni ipcp-accept-local e/o
ipcp-accept-remote;
-
ipv6 local_IP_addr,remote_IP_addr
imposta l’indirizzo IPv6 dell’interfaccia locale e/o remota (l’indirizzo
deve essere espresso
nel formato standard utilizzato per IPv6, es. ::12af:e45b). Se è
specificata anche l’opzione ipv6cp-use-ipaddr, l’interfaccia locale
utilizzerà un indirizzo IPv4;
-
allow-ip addr [...]
indica un elenco di indirizzi IP (o subnet) da considerare per la
connessione PPP senza autenticazione;
-
cdtrcts
indica di utilizzare un controllo hardware non standard (DTR/CTS)
del flusso dei dati sulla linea;
-
chap-interval n
indica di rieffettuare un challenge CHAP ogni n secondi;
-
chap-max-challenge n
imposta il numero massimo di challenge CHAP (per default è 10);
-
chap-restart n
imposta l’intervallo (n secondi) di timeout per i challenge (per default
è 3);
-
connect-delay n
imposta l’intervallo (n ms) di attesa dopo che il processo di
connessione (avviato tramite un file eseguibile) è terminato, prima di
considerare valida la connessione PPP. Dopo tale intervallo di tempo,
oppure dopo il ricevimento di un pacchetto PPP valido, pppd inizia
la negoziazione inviando il suo primo pacchetto LCP (per default
l’intervall è di 1000 ms). Tale intervallo viene considerato soltanto
nel caso in cui sia stata specificata anche l’opzione connect o pty;
-
debug abilita la modalità di debug: i pacchetti di controllo vengono inseriti
in un file di log (v. impostazione di /etc/syslog.conf);
-
default-asyncmap
forza tutti i caratteri di controllo ad essere trasmessi preceduti dal
carattere di escape;
-
default-mru
indica di utilizzare il valore di MTU di default (1.500 byte) senza
effettuare nessuna negoziazione;
-
demand indica di attivare il collegamento PPP soltanto su richiesta
(l’indirizzo IP remoto deve essere specificato). L’nterfaccia verrà
configurata da pppd ma il collegamento verrà attivato soltanto
quando ci sarà la necessità di farlo;
-
domain name
aggiunge .name al nome del sistema, per effettuare l’autenticazione;
-
dryrun indica di visualizzare tutti i valori passati con le opzioni e di uscire
senza effettuare il collegamento;
-
dump indica di visualizzare tutti i valori passati con le opzioni e di procedere
normalmente con il collegamento;
-
endpoint discr
specifica l’endpoint discriminator (discr) inviato al sistema remoto
durante la negoziazione (per default viene utilizzato il MAC address
della prima interfaccia di rete Ethernet, se presente, o il relativo
indirizzo IP). Il valore discr può essere specificato con la sintassi
seguente
type:value
dove
-
type può essere un valore numerico o una delle seguenti stringhe:
local, IP, MAC, magic o phone;
-
value è il valore del tipo descritto da type;
-
hide-password
indica di non tracciare nel log la password relativa all’autenticazione PAP
(comportamento di default);
-
holdoff sec
specifica il numero di secondi di attesa prima di tentare di ristabilire il
collegamento dopo che esso è stato interrotto (applicato soltanto nel caso in
cui sia specificata anche l’opzione persist o demand; non viene considerata
nel caso in cui il collegamento sia stato interrotto per inattività -
idle);
-
idle sec
specifica il numero di secondi di inattività sulla linea (non transita nessun
pacchetto sulla linea), prima di interrompere il collegamento;
-
ipcp-accept-local
;
-
ipcp-accept-remote
;
____________________________________________________________________
[da completare ...]
In genere pppd crea il file di lock /var/lock/LCK..ttySx, dove x è un valore numerico
relativo al dispositivo considerato per la connessione, che informa il sistema del fatto che il
dispositivo stesso è in uso.
Le linee seriali vengono generalmente utilizzate per comunicare tra sistemi a grande
distanza. Ciò può essere fatto utilizzando la linea telefonica, per mezzo di un apparato, il
modem, che posto tra la linea seriale del PC e la linea telefonica provveda a modulare
opportunamente i pacchetti da inoltrare sulla rete telefonica.