Una volta creati i propri file /etc/ppp/options
e
/etc/resolv.conf
(e, se necessario, il file
/etc/ppp/pap|chap-secrets
), è possibile verificare le
impostazioni stabilendo manualmente una connessione PPP (una volta che
la connessione funziona manualmente, automatizzeremo il processo).
Per far ciò, il proprio software di comunicazione dev'essere in grado di uscire SENZA reinizializzare il modem. Minicom lo può fare con ALT Q (o nelle versioni più vecchie con CTRL ALT Q).
Ci si assicuri di essere loggati come root.
Si lanci il proprio software di comunicazione (come minicom), si componga il numero del server e si faccia normalmente il login. Se è necessario dare un comando per avviare il PPP nel server, lo si faccia. Ora si vedranno le porcherie di cui si è parlato in precedenza.
Se si usa pap o chap, allora semplicemente connettendosi al sistema remoto si dovrebbe far partire il ppp e si vedranno le porcherie senza fare il login (sebbene ciò possa anche non accadere per alcuni server - si provi a premere Enter e si veda se iniziano le porcherie).
Ora si esca dal software di comunicazione senza reinizializzare il modem (ALT Q o CTL A Q in minicom) e al prompt di Linux (come root) si digiti
pppd -d -detach /dev/ttySx 38400 &
L'opzione -d abilita il debug - la conversazione di avvio di connessione ppp sarà registrata nei file di log del proprio sistema - il che torna utile in caso di problemi.
Le lucette del proprio modem dovrebbero accendersi e spegnersi finché la connessione PPP non è stabilita.
A questo punto si può dare un'occhiata all'interfaccia PPP, usando il comando
ifconfig
Oltre ai vari dispositivi Ethernet e loopback che si possiedono, si dovrebbe vedere qualcosa di simile a
ppp0 Link encap:Point-Point Protocol inet addr:10.144.153.104 P-t-P:10.144.153.51 Mask:255.255.255.0 UP POINTOPOINT RUNNING MTU:552 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0
dove
(naturalmente, ifconfig non riporterà questi numeri IP ma quelli usati dal proprio server PPP).
Nota: ifconfig dice anche che la connessione è SU e FUNZIONANTE!
Se non viene riportato nessun dispositivo ppp o qualcosa di simile a
ppp0 Link encap:Point-Point Protocol inet addr:0.0.0.0 P-t-P:0.0.0.0 Mask:0.0.0.0 POINTOPOINT MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0
la propria connessione PPP non è stata fatta...si veda oltre per il debug!
Si dovrebbe essere in grado di vedere anche un instradamento all'host remoto (ed oltre). Per far ciò, si lanci il comando
route -n
Si dovrebbe vedere qualcosa di simile a
Kernel routing table Destination Gateway Genmask Flags MSS Window Use Iface 10.144.153.3 * 255.255.255.255 UH 1500 0 1 ppp0 127.0.0.0 * 255.0.0.0 U 3584 0 11 lo 10.0.0.0 * 255.0.0.0 U 1500 0 35 eth0 default 10.144.153.3 * UG 1500 0 5 ppp0
Di particolare importanza, si noti che ci sono DUE voci che puntano alla propria interfaccia ppp.
La prima è un instradamento di tipo HOST (indicato dal flag H) e che permette di vedere l'host al quale si è connessi, ma niente altro.
La seconda è l'instradamento predefinito (default), stabilito fornendo
a pppd l'opzione defaultroute
. Questo è l'instradamento che dice
al proprio PC Linux di inviare qualsiasi pacchetto NON destinato alle
Ethernet locali - per le quali ci sono degli instradamenti specifici -
al server PPP stesso. I server PPP è quindi responsabile
dell'instradamento dei nostri pacchetti verso Internet e
dell'instradamento dei pacchetti di ritorno verso di noi.
Se non si vede una tabella di instradamento con queste due voci, qualcosa è andato storto. In particolare se i log di sistema mostrano un messaggio che dice che pppd non ha rimpiazzato un instradamento predefinito, allora si ha l'instradamento predefinito che punta alla propria interfaccia Ethernet - il quale DEVE essere rimpiazzato da un instradamento di rete specifico: SI PUÒ AVERE SOLO UN INSTRADAMENTO PREDEFINITO!!!
Si dovranno allora esplorare i file di inizializzazione del sistema
per trovare dove viene impostato questo instradamento predefinito
(probabilmente verrà usato un comando tipo route add default...
).
Si cambi questo comando in qualcosa di simile a route add net...
.
Ora si verifichi la connessione facendo 'ping' al server usando il numero IP riportato dall'output di ifconfig, i.e.
ping 10.144.153.51
Si dovrebbe ricevere un output simile a
PING 10.144.153.51 (10.144.153.51): 56 data bytes 64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms 64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms 64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms 64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms
Questo elenco andrà avanti per sempre - per fermarlo si usi CTRL C, e a quel punto si riceveranno un altro po' di informazioni:
--- 10.144.153.51 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 170.7/219.2/328.3 ms
Fin qua tutto bene.
Ora si provi a fare il ping ad un host usando il suo nome (non il nome del server PPP stesso ma un host in un altro sito che si SA essere probabilmente attivo...). Per esempio
ping sunsite.unc.edu
A questo punto ci sarà una piccola pausa mentre Linux ottiene dal DNS
specificato in /etc/resolv.conf
il numero IP per il nome host
"fully qualified" al quale si è fatto il ping - quindi non ci si
preoccupi (si vedranno comunque le lucette del modem lampeggiare). In
breve si otterrà un output simile a
PING sunsite.unc.edu (152.2.254.81): 56 data bytes 64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms 64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms 64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms 64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms 64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms
Ancora, lo si fermi con CTRL C per ottenere le statistiche...
--- sunsite.unc.edu ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 169.8/176.3/190.1 ms
Se non si riceve nessuna risposta, si provi a fare il ping
all'indirizzo IP del server DNS del proprio ISP. Se si ottiene
risposta, allora sembra proprio che ci sia qualche problema nel
proprio /etc/resolv.conf
.
Se non funziona, invece si ha un problema di instradamento oppure il proprio ISP ha qualche problema ad instradare i pacchetti di ritorno. Si verifichi che la tabella di instradamento sia come quella vista prima, e se è a posto si contatti il proprio ISP. Un buon test per ISP è di usare un altro sistema operativo per connettersi. Se si può andare oltre il proprio ISP con quello, allora il problema dipende dalla propria terminazione del collegamento.
Se tutto funziona, si può buttare giù la connessione digitando
ppp-off
Dopo una breve pausa, il modem dovrebbe riattaccare da solo.
Se questo non funziona, si spenga il proprio modem oppure si lanci il proprio software di comunicazione e si interrompa il modem con +++ e poi si riagganci con ATH0 quando si riceve il prompt OK del modem.
Si deve inoltre cancellare il file di lock creato da pppd
rm -f /var/lock/LCK..ttySx