Per poter usare PPP, il proprio kernel di Linux dev'essere compilato
includendone il supporto. Ci si procuri il codice sorgente del kernel
di Linux se già non lo si ha - dovrebbe essere il
/usr/src/linux
in un file system standard di Linux.
Si dia un'occhiata a questa directory - molte distribuzioni di Linux installano l'albero dei sorgenti (i file e le sottodirectory) durante il processo di installazione.
Al boot, il proprio kernel di Linux mostra svariate informazioni. Tra
queste ci sono anche quelle sul PPP, se il kernel ne include il supporto.
Per vedere queste informazioni, si veda il file di log del proprio
sistema o si usi dmesg |less
per visualizzare le informazioni
sullo schermo. Se il proprio kernel include il supporto per il PPP,
si dovrebbe vedere una cosa di questo genere:
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. PPP line discipline registered.
(questa è per la serie 2.0.x di kernel di Linux).
I sorgenti del kernel di Linux possono essere reperiti via ftp da
sunsite.unc.edu
o da uno dei suoi (molti) mirror.
Quanto segue sono le istruzioni in breve per procurarsi ed installare i sorgenti del kernel di Linux. Informazioni più complete le si può trovare nel Linux Kernel HOWTO.
Per poter installare e compilare il kernel di Linux, si deve essere loggati come root.
/usr/src
cd /usr/src
/usr/src/linux
se già ci sono installati
i sorgenti./usr/src
.rm -rf /usr/src/linux
tar xzf linux-2.0.XX.tar.gz
cd /usr/src/linux
e si legga il file
README. Questi contiene un'eccellente spiegazione su come configurare
e compilare un nuovo kernel. Lo si legga (può essere una buona idea
stamparlo per averne una copia sotto mano durante la compilazione, finché
non la si è fatta abbastanza volte da conoscerne ogni minimo
dettaglio).
Se si ha intenzione di ricompilare il kernel si DEVE sapere quali schede/dispositivi ci sono installati nel proprio PC!!! Per alcuni dispositivi (come le schede audio) ci sarà bisono di conoscere anche le diverse impostazione (come IRQ, indirizzi di I/O e così via).
Per iniziare il processo di configurazione, si seguano le istruzione nel file README installato con i sorgenti. La configurazione viene avviata con
make config
Per poter usare PPP, si deve configurare il kernel per includere il supporto per il PPP (PPP necessita SIA di pppd CHE del supporto nel kernel).
PPP (point-to-point) support (CONFIG_PPP) [n] y
Si risponda alle altre domande del make config a seconda dell'hardware nel proprio PC e delle caratteristiche che si vogliono dal sistema operativo Linux. Si continui poi nella lettura del README per compilare ed installare il nuovo kernel.
Il kernel 1.2.13 crea solo 4 device PPP. Nel caso si possieda una scheda seriale multiporta, ci sarà bisogno di modificare i sorgenti del PPP nel kernel per avere più porte (si veda il file README.linux distribuito assieme al PPP-2.1.2 per maggiori dettagli sulle semplici modifiche da fare).
Nota: il processo di configurazione dell'1.2.13 NON permettere di
tornare indietro - se si fa un'errore rispondendo ad una domanda
durante il dialogo con make config
, si esca premendo CTRL C e si
ricominci.
Per Linux 1.3.x e 2.0.x, si può usare un processo simile a quello di Linux 1.2.13. Ancora, si seguano le istruzioni del file README installato con i sorgenti. Il processo di configurazione si avvia con
make config
Comunque, c'è anche la possibilità di usare
make menuconfig
Ciò fornisce un sistema di configurazione a menù con un help in linea che permette di spostarsi avanti e indietro nel processo di configurazione.
Esiste inoltre un altamente consigliata interfaccia di configurazione che gira in X Windows
make xconfig
Il supporto per il PPP può essere compilato direttamente dentro al kernel oppure come modulo.
Se quando la propria macchina Linux è operativa, si usa PPP solo per brevi periodi, allora si raccomanda di compilare il supporto per il PPP come modulo. Usando 'kerneld' il proprio kernel caricherà automaticamente i moduli richiesti per fornire il supporto per il PPP quando si lancia il processo di connessione con PPP. Ciò fa risparmiare porzioni importanti di memoria: nessuna parte del kernel può essere messa in swap, ma i moduli caricabili sono automaticamente rimossi se non sono in uso.
Per far ciò si deve abilitare il supporto per i moduli caricabili:
Enable loadable module support (CONFIG_MODULES) [Y/n/?] y
Per aggiungere il supporto nel kernel per il PPP, si risponda alla seguente domanda:
PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]
Per il modulo caricabile del PPP, si risponda M, altrimenti per compilare il PPP dentro al kernel rispondere Y.
Diversamente dal kernel 1.2.13, il kernel 2.0.x crea device PPP al volo quando sono necessari e non c'è più bisogno di modificare i sorgenti per incrementare il numero di dispositivi PPP disponibili.
/proc/net/dev
Se si usa PPP-2.2, si scoprirà che un effetto collaterale nella
creazione al volo dei dispositivi PPP è che nessun dispositivo viene
mostrato nel file system /proc/net
finché il dispositivo non
è creato lanciando pppd:
[hartr@archenland hartr]$ cat /proc/net/dev Inter-| Receive | Transmit face |packets errs drop fifo frame|packets errs drop fifo colls carrier lo: 92792 0 0 0 0 92792 0 0 0 0 0 eth0: 621737 13 13 0 23 501621 0 0 0 1309 0
Una volta avviati uno (o più) servizi ppp, si vedranno delle voci così (da un server ppp):
[root@kepler /root]# cat /proc/net/dev Inter-| Receive | Transmit face |packets errs drop fifo frame|packets errs drop fifo colls carrier lo: 428021 0 0 0 0 428021 0 0 0 0 0 eth0:4788257 648 648 319 650 1423836 0 0 0 4623 5 ppp0: 2103 3 3 0 0 2017 0 0 0 0 0 ppp1: 10008 0 0 0 0 8782 0 0 0 0 0 ppp2: 305 0 0 0 0 297 0 0 0 0 0 ppp3: 6720 7 7 0 0 7498 0 0 0 0 0 ppp4: 118231 725 725 0 0 117791 0 0 0 0 0 ppp5: 38915 5 5 0 0 28309 0 0 0 0 0
Se si sta mettendo su un PC Linux per far da server PPP, si deve compilare il supporto per l'IP forwarding. Questo è pure necessario se si vuole usare Linux per collegare alcune LAN assieme o per connettere la propria LAN ad Internet.
Se si connette una LAN ad Internet (o si connettono assieme due LAN), si dovrebbe essere ben coscienti delle problematiche sulla sicurezza. L'aggiunta del supporto per i firewall IP nel kernel probabilmente è un DOVERE!
Questo sarà necessario anche se si vuole usare IP masquerade per connettere una LAN che usa uno dei suddetti numeri di rete IP 'non connessi'.
Per abilitare l'IP Masquerade e l'IP fire walling, si DEVE
rispondere affermativamente alla prima domanda nel processo make
config
:
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)?
Ai nuovi utenti questo potrebbe sembrare un po' fuori luogo, ma molti utenti Linux usano attivamente l'IP Masquerade e l'IP Firewalling dei kernel Linux 2.0.XX senza alcun problema.
Una volta installato il nuovo kernel e riavviata la macchina, si può cominciare a configurare e a testare il(i) collegamento(i) PPP.