linux user group brescia

immagine del castello

Archivio della mailing list

2 - Eh, la rete e` la Rete e` la RETE...

Maurizio Paolini paolini a dmf.bs.unicatt.it
Dom 17 Set 2000 19:08:08 UTC
> > Jamil (jamil a lugbs.linux.it) ha i due CD che si scaricano dalla rete...
>
>    Eh... ma appunto, scaricare (500-600mb x 2) da internet, con un
> modem a 33600... ti pare? (ho letto - CHIP di settembre 2000, pag 132
> e pag. 136 - che la distribuzione Debian completa - 4 cd - costa
> 16.000 lire: e` vero?)

Ma ci siamo qui noi! Tra le nostre attivita' c'e' anche quella di
masterizzazione CD.  La distribuzione che curo io e' la RedHat, ma
ci sono comunque i due CD della Debian (gli altri due credo si debbano
comprare).  Abbiamo una m.l. per fare richieste di CD (lug-cd a lugbs.linux.it),
e un elenco (purtroppo non molto aggiornato) di CD si trova all'URL
http://www2.lugbs.linux.it/varie/CDROMS/

>  
> > Suppongo che tu abbia a disposizione solo UN indirizzo IP (quello 
> > affibbiato al "router" quando viene attivata la connessione ppp).
>
>    Supposizione corretta, pero` non e` ancora un "router": di fatto
> non so nemmeno se ho capito cosa diavolo sia, un "router".

Ho scoperto (solo di recente) che non c'e' poi molta differenza tra un
PC con linux e un "router" :-)

> > Allora devi:
> > 
> > 1. decidere degli indirizzi "privati" (ad esempio di classe C, mi ricordo
> > a mente solo quelli di classe A 10.x.x.x)
>
>    e fin qui ci siamo
>
> > 2. assegnare alla interfaccia eth0 del router l'indirizzo privato da te
> > deciso (questi due passi forse li hai gia fatti)
>
>    qua gia` faccio fatica a capire...

Una cosa che ho scoperto solo di recente e' che l'indirizzo IP non e' per
nulla legato al PC, ma all'interfaccia di rete.  Il tuo PC ha di fatto 2
interfacce di rete, suppongo, una di nome "ppp0", che utilizza il modem,
e l'altra di nome "eth0" associata alla scheda di rete.  A ciascuna e'
assegnato un indirizzo IP.  Le caratteristiche le vedi con il comando
"ifconfig" (io mi confondevo pensando che if in ifconfig stesse per 
l'inglese "se", invece pare che stia per "interface").

Durante il boot vengono attivate le interfaccie con il comando ifconfig e
vengono assegnati i relativi IP.  Non so per la Debian, sulla RedHat i dati
vengono messi in uno script di nome "ifcfg-eth0" (ad es) in 
/etc/sysconfig/network-scripts/.

A questo punto il tuo computer e' in grado di dialogare con l'esterno
attraverso due canali.  Ma in qualche modo deve sapere quale interfaccia
usare per raggiungere un determinato IP.  A questo servono le "routing
tables", con il comando "route" vedi come sono configurate al momento.
Ad esempio una riga del tipo:

10.93.16.0      *               255.255.255.0   U     0      0        0 eth0

significa che gli indirizzi IP 10.93.15.xxx si raggiungono tramite
l'interfaccia eth0 (sarebbero i PC collegati alla rete casalinga), mentre

default         193.205.42.23   0.0.0.0         UG    0      0        0 ppp0

dice che tutti gli IP non menzionati nelle altre righe sono raggiungibili
tramite l'interfaccia "ppp0" e usando il Gateway 193.205.42.23 (che poi
e' il server a cui sei collegato dall'altra parte del collegamento telefonico).

>
>    ...ma da qua in poi e` nebbia profonda...
>  
> > 3. attivare l'IP forwarding sul router 

Dire che il tuo PC fa da router significa che comparira' come "Gateway" per
altre macchine, quindi deve essere in grado di "instradare" pacchetti 
che riceve, ma che non sono diretti a lui.  Questo significa fare 
"ip forwarding". 

> > 4. definire il router delle altre macchine usando l'ip privato del router.

Scusa, avrei dovuto dire "Gateway" anziche' "router"... 

> > 5. ora la parte piu' delicata e' l'attivazione dell'IP-masquerading,
>
>    ...sono parole gettate al vento, per me. Io ti ringrazio
> infinitamente per il tempo che mi stai dedicando, ma in questo modo
> non veniamo a capo di nulla.

Le cose si imparano con calma, e guarda che nemmeno io ho ben chiaro
tutto quanto, se e' per quello.

>    Lasciamo perdere. In realta` quel che devo capire "veramente" e` il
> "concetto" di router, di gateway, di broadcast... Non mi va di
> zazzicare a caso e poi improvvisamente il tutto funziona, e non so
> nemmeno quel che ho fatto... ad esempio, l'altro giorno mi sono
> accorto di non riuscire piu` a connettermi ad internet, ed ho scoperto
> che una delle istruzioni di inizializzazione della rete che mi
> consentiva la connessione fra i pc, mi impediva appunto la connessione
> internet... quindi, o una cosa o l'altra... vedi un po' te come son
> messo!

he he, forse si tratta dell'inghippo che ho avuto anch'io... se e' quello
il trutto sta nell'impedire che all'attivazione dell'interfaccia "eth0"
venga anche definito il "routing di default".  Mi spiego: il tuo PC non
puo' sapere che il collegamento a internet tu ce l'hai con "ppp" e non con
"eth0", quindi all'accensione suppone che l'interfaccia "eth0" debba
essere usata per accedere a internet, e questo non va bene.  Non mi
dilungo perche' magari il problema che hai tu e' un'altro.

>    Un altro grosso problema sai qual e`? quel "dipende dalle
> distribuzioni". Ho provato Corel Linux, Debian e Redhat. E "nessuna"
> delle tre aveva qualcosa di uguale all'altra. Ora so dove andare a
> mettere le mani sulla debian (credo, forse, puo` darsi, e comunque li`
> vorrei restare) ma poi leggo di configurazioni che fanno riferimento
> ad altre distribuzioni, e allora tanti saluti...

In realta' le varie distribuzioni hanno tantissimo in comune! E un po'
alla volta comunque impari che il file tale della RedHat corrisponde
al file "talaltro" della Debian.  Comunque le maggiori differenze si
riscontrano nella procedura di "boot":  files /etc/rc.d/rc<n>.d, 
oppure /etc/rc<n>.d/, oppure direttamente /etc/rclocal ecc. ecc. 

Comunque per tutte il punto di partenza e' il file /etc/inittab
(spero di non sbagliarmi!)

>    Piu` vari capitoli di AppuntiLinux. Il problema nasce quando leggo
> (testuali parole):
>
>    "Passiamo ora ad un semplice esempio, immaginando che voi siate
> connessi ad una ethernet e che vi sia stato detto che la rete e` una
> classe C con indirizzo 192.168.1.0; immaginiamo inoltre che
> l'indirizzo 192.168.1.10 sia stato assegnato alla vostra macchina, e
> che 192.168.1.1 sia il router commesso al resto di internet".
>
>    Messa cosi`, sembra piuttosto semplice, no? Pero` il fatto e` che,
> nel mio caso, "prima" dovrei configurare una delle tre macchine come
> "router", 

E dici niente!!! E' una questione da "amministratore di rete" non e'
proprio uno scherzo :-)  ma con calma ci arrivi... e quando ci sei arrivato
ti accorgi che il tutto e' assolutamente logico (questo non vuol dire
che e' facile).

> ipchain, ma prima di arrivare al firewall, direi che ce n'e` tanta, di

Il fatto e' che "ipchains" ha due facce: "firewall" (che al momento non
ti interessa), e "ip-masquerading", e questo invece ti servira'

>    Tra l'altro, c'e` il problema del resolv.conf: se due macchine sono
> connesse tra loro, e` fatto in un modo. Se una delle due macchine (il
> candidato "router") effettua il collegamento ppp per internet, il
> meccanismo "pon"/"poff" mi va a modificare il resolv.conf con gli ip
> del provider... ma allora come fa l'altra macchina a comunicare come
> prima? boh, per me e` un casino pazzesco...

Attenzione attenzione, qui si parla su due livelli diversi. I concetti
di "routing", "ppp", "ip forwardinw", "ip masqueraging" hanno a che fare
con il livello piu' basso, in cui le macchine si identificano con il loro
IP (numero tipo 10.93.16.123), e non con il loro nome (tipo 
pippo.bs.unicatt.it).   Prima di tutto deve funzionare questo livello,
e puoi fare prove tipo "ping <ip numerico>" per controllare che tutto
sia a posto.

Il file /etc/resolv.conf entra in gioco quando si vuole risolvere i nomi
trasformandoli in indirizzi IP, e allora devi indicare dov'e' il DNS
(Domain Name Server), che di solito e' una macchina del tuo provider
internet. 

Il piu' delle volte non e' necessario mettere in piedi un DNS per la 
rete interna, ed e' comunque una complicazione ulteriore.

Il fatto che "pon" tocchi /etc/resolv.conf penso dipenda dal fatto che
uno potrebbe avere piu' accessi con provider differenti, ognuno dei quali
con un suo DNS, in realta' e' pero' ammissibile utilizzare il DNS
di un provider mentre sei collegato con l'altro provider :-)

>    Allora, per tagliare la testa al toro: dal momento che e` inutile
> spiegare quanto fa 2 + 2 ad uno che non sa cos'e` l'addizione, quali
> libri potrei leggere per capire meglio tutta la faccenda? Ho letto di
> un "Internetworking with TCP/IP" di tale Douglas E. Comer, tradotto in
> italiano per Jackson libri. E` utile? C'e` dell'altro? In italiano,
> pero`, altrimenti lascio perdere.

Devo confessare di non aver letto mai niente di cartaceo in proposito!

>    Davvero, non voglio farvi perdere tempo inutile: e` che non so
> proprio dove sbattere la testa (tra l'altro Linux e` un hobby, il mio
> lavoro e` tutt'altro, e quindi il tempo e` quello che e`, e l'eta` mi
> costringe a "meditare" bene, con molta calma...)

Per essere un hobby mi pare che ti ci sei buttato a capofitto :-)

mp



Maggiori informazioni sulla lista Lug