Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 831

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Linux PPP HOWTO: Configurare il proprio kernel di Linux</TITLE>
 <LINK HREF="PPP-HOWTO-8.html" REL=next>
 <LINK HREF="PPP-HOWTO-6.html" REL=previous>
 <LINK HREF="PPP-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="PPP-HOWTO-8.html">Avanti</A>
<A HREF="PPP-HOWTO-6.html">Indietro</A>
<A HREF="PPP-HOWTO.html#toc7">Indice</A>
<HR>
<H2><A NAME="Kernel configuration"></A> <A NAME="s7">7. Configurare il proprio kernel di Linux</A></H2>

<P>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&agrave; non lo si ha - dovrebbe essere il
<CODE>/usr/src/linux</CODE> in un file system standard di Linux.
<P>
<P>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.
<P>
<P>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 <CODE>dmesg |less</CODE> per visualizzare le informazioni
sullo schermo.  Se il proprio kernel include il supporto per il PPP,
si dovrebbe vedere una cosa di questo genere:
<P>
<HR>
<PRE>
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.
</PRE>
<HR>
<P>
<P>(questa &egrave; per la serie 2.0.x di kernel di Linux).
<P>
<P>I sorgenti del kernel di Linux possono essere reperiti via ftp da
<CODE>sunsite.unc.edu</CODE> o da uno dei suoi (molti) mirror.
<P>
<H2><A NAME="ss7.1">7.1 Installare i sorgenti del kernel di Linux</A>
</H2>

<P>Quanto segue sono le istruzioni in breve per procurarsi ed installare
i sorgenti del kernel di Linux. Informazioni pi&ugrave; complete le si pu&ograve;
trovare nel 
<A HREF="http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html">Linux Kernel HOWTO</A>.
<P>
<P>Per poter installare e compilare il kernel di Linux, si deve essere
loggati come root.
<P>
<OL>
<LI>Passare alla directory  <CODE>/usr/src</CODE><BR>
<CODE>cd /usr/src</CODE></LI>
<LI>Controllare in <CODE>/usr/src/linux</CODE> se gi&agrave; ci sono installati
i sorgenti.</LI>
<LI>Se non si hanno i sorgenti, li si prenda dalla
<A HREF="ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0">directory dei sorgenti del kernel di Linux</A> o nel mirror pi&ugrave; vicino.<BR>
Se si cerca una delle prime versione del kernel (come la 1.2.X),
queste sono conservate nella 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/kernel/old">directory dei sorgenti dei vecchi kernel di Linux</A>.</LI>
<LI>Si scelga il kernel appropriato, solitamente il pi&ugrave; recente fra
quelli disponibili nel sito. Lo si scarichi e si metta il file tar
dei sorgenti in <CODE>/usr/src</CODE>.<BR>
<B>Nota</B>: un file 'tar' &egrave; un archivio -- probabilmente compresso (come
lo sono i file tar dei sorgenti del kernel di Linux) -- che contiene
molti file in diverse directory. &Egrave; l'equivalente Linux di un file zip
multidirectory di DOS.
</LI>
<LI>Se gi&agrave; si hanno i sorgenti di Linux installati si debbono
rimuovere i vecchi sorgenti. Si usi il comando<BR>
<CODE>rm -rf /usr/src/linux</CODE></LI>
<LI>Ora si decomprimano e si estraggano i sorgenti usando il comando<BR>
<CODE>tar xzf linux-2.0.XX.tar.gz</CODE></LI>
<LI>Adesso, si faccia <CODE>cd /usr/src/linux</CODE> e si legga il file
README. Questi contiene un'eccellente spiegazione su come configurare
e compilare un nuovo kernel. Lo si legga (pu&ograve; essere una buona idea
stamparlo per averne una copia sotto mano durante la compilazione, finch&eacute;
non la si &egrave; fatta abbastanza volte da conoscerne ogni minimo
dettaglio).</LI>
</OL>
<P>
<H2><A NAME="ss7.2">7.2 Riconoscere il proprio hardware</A>
</H2>

<P>Se si ha intenzione di ricompilare il kernel si <B>DEVE</B> sapere quali
schede/dispositivi ci sono installati nel proprio PC!!!  Per alcuni
dispositivi (come le schede audio) ci sar&agrave; bisono di conoscere anche
le diverse impostazioni (come IRQ, indirizzi di I/O e cos&igrave; via).
<P>
<H2><A NAME="ss7.3">7.3 Compilazione del kernel -- il kernel di Linux 1.2.13</A>
</H2>

<P>Per iniziare il processo di configurazione, si seguano le istruzione
nel file README installato con i sorgenti.  La configurazione viene
avviata con
<P>
<BLOCKQUOTE><CODE>
<PRE>
make config
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Per poter usare PPP, si deve configurare il kernel per includere il
supporto per il PPP (PPP ha bisogno sia di pppd sia del supporto nel
kernel).
<P>
<HR>
<PRE>
  PPP (point-to-point) support (CONFIG_PPP) [n] y
</PRE>
<HR>
<P>
<P>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.
<P>
<P>Il kernel 1.2.13 crea solo 4 device PPP.  Nel caso si possieda una
scheda seriale multiporta, ci sar&agrave; bisogno di modificare i sorgenti
del PPP nel kernel per avere pi&ugrave; porte (si veda il file README.linux
distribuito assieme al PPP-2.1.2 per maggiori dettagli sulle semplici
modifiche da fare).
<P>
<P>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 <CODE>make config</CODE>, si esca premendo CTRL C e si
ricominci.
<P>
<H2><A NAME="ss7.4">7.4 Compilazione del kernel -- i kernel di Linux 1.3.x e 2.0.x</A>
</H2>

<P>Per Linux 1.3.x e 2.0.x, si pu&ograve; 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
<P>
<BLOCKQUOTE><CODE>
<PRE>
make config
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Comunque, c'&egrave; anche la possibilit&agrave; di usare
<BLOCKQUOTE><CODE>
<PRE>
make menuconfig
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Ci&ograve; fornisce un sistema di configurazione a menu con un help in
linea che permette di spostarsi avanti e indietro nel processo di
configurazione.
<P>
<P>Esiste inoltre un'interfaccia di configurazione altamente consigliata
che gira in X Window
<BLOCKQUOTE><CODE>
<PRE>
make xconfig
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Il supporto per il PPP pu&ograve; essere compilato direttamente dentro al
kernel oppure come modulo.
<P>
<P>Se quando la propria macchina Linux &egrave; 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&agrave;
automaticamente i moduli richiesti per fornire il supporto per il PPP
quando si lancia il processo di connessione con PPP. Ci&ograve; fa
risparmiare porzioni importanti di memoria:  nessuna parte del kernel
pu&ograve; essere messa in swap, ma i moduli caricabili sono automaticamente
rimossi se non sono in uso.
<P>
<P>Per far ci&ograve; si deve abilitare il supporto per i moduli caricabili:
<HR>
<PRE>
        Enable loadable module support (CONFIG_MODULES) [Y/n/?] y
</PRE>
<HR>
<P>Per aggiungere il supporto nel kernel per il PPP, si risponda alla
seguente domanda:
<HR>
<PRE>
        PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]
</PRE>
<HR>
<P>
<P>Per il modulo caricabile del PPP, si risponda <B>M</B>, altrimenti per
compilare il PPP dentro al kernel rispondere <B>Y</B>.
<P>
<P>Diversamente dal kernel 1.2.13, il kernel 2.0.x crea device PPP al
volo quando sono necessari e non c'&egrave; pi&ugrave; bisogno di modificare i
sorgenti per incrementare il numero di dispositivi PPP disponibili.
<P>
<H2><A NAME="ss7.5">7.5 Nota su PPP-2.2 e <CODE>/proc/net/dev</CODE></A>
</H2>

<P>Se si usa PPP-2.2, si scoprir&agrave; che un effetto collaterale nella
creazione al volo dei dispositivi PPP &egrave; che nessun dispositivo viene
mostrato nel file system <CODE>/proc/net</CODE> finch&eacute; il dispositivo non
&egrave; creato lanciando pppd:
<P>
<HR>
<PRE>
[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
</PRE>
<HR>
<P>
<P>Una volta avviati uno (o pi&ugrave;) servizi ppp, si vedranno delle voci cos&igrave;
(da un server ppp):
<P>
<HR>
<PRE>
[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
</PRE>
<HR>
<P>
<H2><A NAME="ss7.6">7.6 Considerazioni generali sulla configurazione del kernel per il PPP</A>
</H2>

<P>Se si sta mettendo su un PC Linux per far da server PPP, si deve
compilare il supporto per l'IP forwarding. Questo &egrave; pure necessario se
si vuole usare Linux per collegare alcune LAN assieme o per connettere
la propria LAN ad Internet.
<P>
<P>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 &egrave;
un DOVERE!
<P>
<P>Questo sar&agrave; necessario anche se si vuole usare IP masquerade per
connettere una LAN che usa uno dei suddetti numeri di rete IP 'non
connessi'.
<P>
<P>Per abilitare l'IP Masquerade e l'IP fire walling, si <B>DEVE</B>
rispondere affermativamente alla prima domanda nel processo <CODE>make
config</CODE>:
<HR>
<PRE>
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)?
</PRE>
<HR>
<P>
<P>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.
<P>
<P>Una volta installato il nuovo kernel e riavviata la macchina, si pu&ograve;
cominciare a configurare e a testare il(i) collegamento(i) PPP.
<P>
<HR>
<A HREF="PPP-HOWTO-8.html">Avanti</A>
<A HREF="PPP-HOWTO-6.html">Indietro</A>
<A HREF="PPP-HOWTO.html#toc7">Indice</A>
</BODY>
</HTML>