Molti utenti di Linux dopo aver ottenuto un accesso Internet desiderano connettere il proprio PC alla rete utilizzando il protocollo PPP; per farlo è necessario raccogliere informazioni leggendo interamente diversi file che si trovano nei siti ftp o sui CD ROM. Questa guida è la mia personalissima sintesi dei passi necessari per ottenere una connessione fuonzionante. E' divisa in 3 sezioni, Linux come server PPP tramite cavo seriale, Linux come server PPP via modem. Tutte le prove sono basate sul mio sistema Linux così configurato :
Esempio pratico di connessione a Video On Line Vale anche per altri PPP server simili Dati del provider: nameserver: 192.20.32.1 mailserver: mbox.vol.it domain: vol.it remote hostname: www.vol.it
#!/bin/sh # pppstart # Script to connect to V.O.L. # Note: 'pppd' and 'chat' are in /usr/lib/ppp/ # pppd connect 'chat -v "" ATDP...... CONNECT ""' user VOSTRO_ID(Ovviamente al posto di ...... dovete mettere il numero di telefono di V.O.L. più vicino a voi)
# /etc/ppp/options # File for Linux as PPP client /dev/modem 38400 lock crtscts modem asyncmap 0 remotename www.vol.it defaultrouteAttenzione: la velocità di 38400 è la massima da indicare, almeno per le prove che ho effettuato io, infatti pur avendo una seriale veloce e avendo settato la porta con setserial per la massima velocità e inserendo come valore 115200 la connessione avveniva a 9600...
# /etc/ppp/pap-secrets # username remotehost secret # VOSTRO_ID www.vol.it VOSTRA_PASSWORD
# /etc/resolv.conf domain vol.it nameserver 194.20.32.1
DSmbox.vol.it
Questo serve per scaricare velocemente la nostra posta in uscita verso il mail server di V.O.L.
tail -f /var/adm/messages
proprio per vedere lo scambio delle informazioni tra pppd e server. Quando si ottiene l'IP number si è in rete.
popclient -3 -u VOSTRO_ID -p VOSTRA_PASSWD -o /var/spool/mail/LINUX_LOGIN mbox.vol.it
#!/bin/sh # pppkill # Script to kill pppd DEVICE=ppp0 if [ -r /var/run/$DEVICE.pid ]; then kill -INT `cat /var/run/$DEVICE.pid` if [ ! "$?" = "0" ]; then rm -f /var/run/$DEVICE.pid echo "ERROR: Removed stale pid file" exit 1 fi echo "PPP link to $DEVICE terminated." exit 0 fi echo "ERROR: PPP link is not active on $DEVICE" exit 1
Nota 1:
Il mio modem all'accensione non richiede particolari settaggi, pertanto
nello script il comando chat gli manda solo la stringa per il dialing.
Nota 2:
Anche chi non è abbonato a V.O.L. può provare a collegarsi al loro
server al numero verde 1670/12837. In questo caso il file pap-secrets non serve
e nello script va tolto l'opzione 'user VOSTRO_ID' (si entra anonimi).
Da quel server potete solo girare in locale (e non usare il mailserver) ma
è pur sempre un test :)
/sbin/agetty -L 38400 ttyS1
oppure in modo fisso modificando analogamente il file /etc/inittab nella sezione
# Serial lines
L'opzione -L forza comando agetty a non notare il Carrier Detect.
ppp:*:504:100:PPP Public Account:/tmp:/etc/ppp/ppplogin
Poi da root fissare la passwd (anche nulla) dando 'passwd ppp'.
I valori 504 e 100 corrispondono allo user e group ID che ho fissato nel
mio sistema (da cambiare in base alle vostre esigenze).
Questa operazione crea l'utente ppp che ha come shell lo script ppplogin.
#!/bin/sh # ppplogin - script to fire up pppd on login mesg n stty -echo exec /usr/lib/ppp/pppd netmask 255.255.255.0 -detach silent 192.1.1.1:152.1.1.1192.1.1.1 è l'indirizzo del mio server PPP; non avendo una connessione Internet ho dato un indirizzo qualunque diverso dal loopback, altrimenti si dovrebbe inserire l'IP del proprio sistema.
# /etc/ppp/options # File for Linux as PPP server 38400 lock asyncmap 0
/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1
oppure in modo fisso modificando analogamente il file /etc/inittab nella sezione
# Dialup lines
# /etc/ppp/options # File for Linux as PPP server 38400 lock crtscts modem asyncmap 0