Repository 32bit  Forum
Repository 64bit  Wiki

Configurazione di Reti Windows/Linux: differenze tra le versioni

Da Slacky.eu.
Riga 100: Riga 100:
con questo comando abbiamo detto di attivare (up) l'indirizzo 192.168.0.1 per la scheda di rete corrispondente a eth0 avente come netmask 255.255.255.0 (quella per le Classi C), che indica quanti dei 32 bit (in questo caso 8) che identificano un IP verranno riservati per indicare interfacce di rete e quanti per indicare la rete (i restanti 24).
con questo comando abbiamo detto di attivare (up) l'indirizzo 192.168.0.1 per la scheda di rete corrispondente a eth0 avente come netmask 255.255.255.0 (quella per le Classi C), che indica quanti dei 32 bit (in questo caso 8) che identificano un IP verranno riservati per indicare interfacce di rete e quanti per indicare la rete (i restanti 24).
  +
  +
Per controllare che tutto sia andato a buon fine è possibile pingare l'IP della scheda di rete appena attivata con il comando
  +
<pre>
  +
# ping 192.168.0.1
  +
PING 192.168.0.1 from 192.168.0.1:56(84) bytes of data.
  +
64 bytes from 192.168.0.1:icmp_seq=0 ttl=255 time=703 usec
  +
64 bytes from 192.168.0.1:icmp_seq=1 ttl=255 time=112 usec
  +
64 bytes from 192.168.0.1:icmp_seq=2 ttl=255 time=111 usec
  +
64 bytes from 192.168.0.1:icmp_seq=3 ttl=255 time=113 usec
  +
  +
---192.168.0.1. ping statistics---
  +
4 packets transmitted, 4 paackets received, 0% packet loss
  +
round-trip min/avg/max/mdev = 0.111/0.259/0.703/0.256 ms
  +
</pre>
  +
Interrompendo l'esecuzione del comando con un ctrl+C. Se l'output è simile allora è stato configurato correttamente.
  +
  +
Per completare l'installazine della nostra scheda di rete rimane soltanto da fare le modifiche opportune alla tabella di instradamento. La tabella di instradamento (routing table) definisce le modalità di trasmissione dei pacchetti IP. In poche parole stabilisce a quale interfaccia di rete va trasmesso un pacchetto IP una volta ricevuto. Anche qui il discorso può farsi molto lungo e noioso, quindi passiamo direttamente a spiegare le procedure che ci occorrono per un corretto funzionamento. Una volta visto che la nostra scheda di rete risponde bene ai nostri ping, eseguiamo (sempre da utente root):
  +
<pre> # route add -net 192.168.0.0 netmask 255.255.255.0 eth0</pre>
  +
  +
dove -net indica la rete a cui appartiene l'interfaccia (nel nostro caso abbiamo scelto 192.168.0.xxx, quindi mettiamo 192.168.0.0), netmask ha lo stesso significato che aveva in ifconfig e eth0 indica l'interfaccia sulla quale stiamo agendo.
  +
  +
=Capitolo 3 - Masquerade, ma cosa è? -=
  +
  +
Ora mi permetto di fare un copia/incolla da Linux-Html.it, veramente ben fatto, che riassume come andare avanti. Mi rendo conto che io stesso non potrei fare di meglio!
  +
  +
Masquerading
  +
  +
Come già accennato tramite Linux abbiamo la possibilità di far "vedere" internet a tutta la nostra rete locale. In questo modo avremo tutti i nostri computer della Lan in Rete, con un solo modem, una sola linea telefonica e una sola connessione.
  +
Ovviamente l'IP pubblico (con IP pubblico intendiamo l'IP su internet) sarà uguale per tutti i PC, penserà il nostro gateway con installato Linux a smistare i pacchetti a chi li aveva chiesti e a inoltrare quelli ricevuti. La configurazione del nostro gateway varierà a seconda della versione del kernel presente. Infatti per ogni serie di kernel abbiamo uno strumento diverso che ci permette di agire sul traffico che passa per la nostra rete. Wuesti sono ipfwadm per il kernel 2.0.XX (non presente su nessuna delle recenti distribuzioni, ma ugualmente presente ancora su alcuni PC per la sua leggerezza), ipchains per il kernel 2.2.XX (presente su alcune distribuzioni che ancora non sono passate al nuovo kernel) e il recentissimo iptables per il kernel 2.4.XX (presente nelle ultimissime distribuzioni). Anche se si sta utilizzando un kernel della serie 2.4 è sempre possibile continuare ad usare sia ipfwadm che ipchains, a patto che vi sia il supporto apposito nel kernel [noi usiamo iptables].

Versione delle 21:41, 9 set 2006

Capitolo 1 - Requisiti -

Ho realizzato questo piccolo sistema automatizzato per condividere la connessione semplicemente avendo:

  • Una Linux Box connessa ad internet (per ora con il 56K dial-up);
  • Una scheda di rete vecchiotta (Realtek 8029) connessa ad un altro PC con scheda PCMCIA, con installato Windows ME

(ma i passaggi sono simili per qualsiasi versione dell'OS di Redmond)

  • Applicativi software in Linux:
    1. KDE 3.3.0-5
    2. Kernel 2.6.9-1.667
    3. Guardogg

utili i front-end grafici per la configurazione.

  • Applicativi software in Windows (solo lo stretto necessario):
    1. Protocolli TCP/IP installati
    2. Driver di scheda di rete

Capitolo 2 - Configuriamo la Linux Box -

Devo dire la verità, ho usato molto spesso i tool grafici che KDE mi ha messo a disposizione, ma vedremo come fare senza! Tipicamente la configurazione di un host in rete prevede pochi dati fondamentali:

  • Indirizzo IP
  • Subnet Mask
  • Default Gateway
  • DNS Server

Esistono molteplici metodi per configurare il servizio di rete in Linux, molto di quanto viene qui riportato si applica a tutti gli Unix:

  • Editare i singoli file di configurazione del networking (ristartare il servizio per applicare le modifiche);
  • Usare comandi shell come ifconfig, route;
  • Utilizzare strumenti di configurazione con interfaccia a finestra come:
    1. Netconfig
    2. Linuxconf
    3. Webmin

e altri facilmente individuabili su desktop KDE o Gnome.

I file di configurazione sono i seguenti:

 /etc/sysconfig/network 

Contiene le principali configurazioni per il Networking:

  1. Hostname
  2. DomainName
  3. Default Gateway (tipico di RedHat)
 /etc/sysconfig/network-script/ifcfg-XXX 

Directory contenente i file di configurazione delle singole interfacce (tipico di RedHat).

 /etc/hosts 

Contiene il mapping statico fra indirizzi e hostname ed alias.

 /etc/services 

Contiene il mapping tra i numeri di porta e i nomi dei servizi. É un file che solitamente non si modifica, salvo l'aggiiunta di porte e protocolli Custom.

 /etc/host.conf 

Specifica l'ordine secondo il quale il sistema effettuerà la ricerca di informazioni per risolvere gli indirizzi. Usato dalla resolver Library in sistemi con libc versione 5. ordere hosts,bind; specifica di usare prima /etc/hosts e poi il DNS per risolvere gli IP.

 /etc/nsswitch.conf 

Stessa funzione di host.conf nei sistemi con libc versione 6 (glibc). In pratica è sempre megio avere entrambi i file correttamente configurati.

 /etc/resolv.conf 

File di configurazione del client DNS ovvero contiene gli indirizzi del serve DNS e un possibile dominio dell'host e l'ordine di ricerca.

Allora! Partiamo in console e otteniamo i privilegi di root.

Io consiglio di segnarsi ogni singolo passaggio, cosicchè se succede qualcosa sapete esattamente cosa avete fatto e cosa potete modificare per riportare tutto alla normalità.

Siamo in console? Ok, digitiamo allora

 # netconfig 

e ci apparirà un semplice tool per la configurazione della nostra interfaccia di rete (spesso denominata eth0). Premiamo INVIO alla richiesta di configurre la rete.

Se premiamo la SPACEBAR useremo il DHCP per assegnare gli indirizzi IP (che noi non utilizzeremo). Spostiamoci con la freccetta in basso di una riga. Inseriamo l'indirizzo IP, che per semplicità e correttezza vi dico io (tranquilli, non voglio/posso impossessarmi del vostro PC):

 192.168.0.1 

Con questi numeri il nostro PC verrà riconosciuto dalla nostra LAN. Prima di continuare è bene spendere qualche parola sul tipo di protocollo che useremo:

 il Tcp/Ip 

(cioè Transmission Control Protocol/Internet Protocol) lo stesso usato su Internet che garantisce un'elevata affidabilità anche nelle reti molto congestionate. Questo protocollo, nella sua versione 4 (ma è in fase sperimentale lo sviluppo di IPv6, nel quale vengono introdotte nuove feature e una diversa gestione degli indirizzi), attribuisce a ogni interfaccia di rete e a ogni computer un indirizzo, detto IP (della lunghezza di 32 bit, cioè 4 byte) caratterizzato da quattro campi della lunghezza di 8 bit (un byte) separati da un . (punto), ogni campo contiene un numero da 0 a 255 (per un totale di 256 mumeri, quanti se ne possono comporre con un byte).

Senza soffermarci troppo (ce ne sarebbe da pralare veramente tantissimo) chiarimao che ogni IP contraddistingue univocamente una determinata interfaccia (per esempio una schedaa ethernet) o un determinato computer. Per fare distinzione tra Internet e rete locale sono stati riservati a ques'ultimo dei dei range IP determinati a seconda dell'esigenza di chi li usa (se non ci fosse questa distinzione sarebbe probabile che ci siano più interfacce o PC con lo stesso IP sulla Rete). Gli indirizzi tra il 0.0.0.0 e il 127.255.255.255 fanno parte della classe A (nella quale varia il byte, cioè 8 bit, più significativo partendo da sinistra (il primo campo) che identifica la rete di appartenenza, per un totale di 128 reti disponibili (per esempio 0.xxx.xxx.xxx, 1.xxx.xxx.xxx, 2.xxx.xxx.xxx, ecc.) aventi un massimo di 32.554.430 IP ognuna, riservandone una, quella da 10.0.0.0 a 10.255.255.255, per le reti locali. Alla classe B appartengono invece gli IP da 128.0.0.0 a 191.255.255.255 nella quale sono i 16 bit più significativi da sinistra a contraddistinguere la rete (variano quindi i primi 2 campi per ogni classe), lasciando i restanti 2 campi per le interfacce di ogni rete (formata quindi da 65.025 IP) e riservando 16 reti (da 172.16.0.0 a 172.31.0.0) per le Lan. Infine la restante classe C occupa gli indirizzi da 192.0.0.0 a 223.255.255.255 (questa volta con i 24 bit più significativi da sinistra a indicare la rete, ognuna composta da 256 IP) riservando ben 256 reti (da 192.168.0.0 a 192.168.255.0) per le Lan.

Torniamo IN: Ora come maschera di rete (subnet mask) inseriamo

 255.255.255.0 

Ora spostiamoci su OK e battiamo INVIO. Abbiamo assegnato un indirizzo alla nostra schede di rete!

Ora digitiamo

 # ifconfig 

il risultato sarà simile a questo:

eth0 Link encap: Ethernet HWaddr 00:E0:4C:69:79:10
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
[altre righe che non ci interessano]
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host

Analizziamoli: eth0 p la nostra scheda di rete, è una Ethernet-based, ha indirizzo 192.168.0.1 con subnet mask 255.255.255.0. Perfetto!

Volendo utilizzare solo la riga di comando, potremo digitare:

 # ifconfig eth0 192.168.0.1 up netmask 255.255.255.0 

con questo comando abbiamo detto di attivare (up) l'indirizzo 192.168.0.1 per la scheda di rete corrispondente a eth0 avente come netmask 255.255.255.0 (quella per le Classi C), che indica quanti dei 32 bit (in questo caso 8) che identificano un IP verranno riservati per indicare interfacce di rete e quanti per indicare la rete (i restanti 24).

Per controllare che tutto sia andato a buon fine è possibile pingare l'IP della scheda di rete appena attivata con il comando

 
# ping 192.168.0.1 
PING 192.168.0.1 from 192.168.0.1:56(84) bytes of data.
64 bytes from 192.168.0.1:icmp_seq=0 ttl=255 time=703 usec
64 bytes from 192.168.0.1:icmp_seq=1 ttl=255 time=112 usec
64 bytes from 192.168.0.1:icmp_seq=2 ttl=255 time=111 usec
64 bytes from 192.168.0.1:icmp_seq=3 ttl=255 time=113 usec

---192.168.0.1. ping statistics---
4 packets transmitted, 4 paackets received, 0% packet loss
round-trip min/avg/max/mdev = 0.111/0.259/0.703/0.256 ms

Interrompendo l'esecuzione del comando con un ctrl+C. Se l'output è simile allora è stato configurato correttamente.

Per completare l'installazine della nostra scheda di rete rimane soltanto da fare le modifiche opportune alla tabella di instradamento. La tabella di instradamento (routing table) definisce le modalità di trasmissione dei pacchetti IP. In poche parole stabilisce a quale interfaccia di rete va trasmesso un pacchetto IP una volta ricevuto. Anche qui il discorso può farsi molto lungo e noioso, quindi passiamo direttamente a spiegare le procedure che ci occorrono per un corretto funzionamento. Una volta visto che la nostra scheda di rete risponde bene ai nostri ping, eseguiamo (sempre da utente root):

 # route add -net 192.168.0.0 netmask 255.255.255.0 eth0

dove -net indica la rete a cui appartiene l'interfaccia (nel nostro caso abbiamo scelto 192.168.0.xxx, quindi mettiamo 192.168.0.0), netmask ha lo stesso significato che aveva in ifconfig e eth0 indica l'interfaccia sulla quale stiamo agendo.

Capitolo 3 - Masquerade, ma cosa è? -

Ora mi permetto di fare un copia/incolla da Linux-Html.it, veramente ben fatto, che riassume come andare avanti. Mi rendo conto che io stesso non potrei fare di meglio!

Masquerading

Come già accennato tramite Linux abbiamo la possibilità di far "vedere" internet a tutta la nostra rete locale. In questo modo avremo tutti i nostri computer della Lan in Rete, con un solo modem, una sola linea telefonica e una sola connessione. Ovviamente l'IP pubblico (con IP pubblico intendiamo l'IP su internet) sarà uguale per tutti i PC, penserà il nostro gateway con installato Linux a smistare i pacchetti a chi li aveva chiesti e a inoltrare quelli ricevuti. La configurazione del nostro gateway varierà a seconda della versione del kernel presente. Infatti per ogni serie di kernel abbiamo uno strumento diverso che ci permette di agire sul traffico che passa per la nostra rete. Wuesti sono ipfwadm per il kernel 2.0.XX (non presente su nessuna delle recenti distribuzioni, ma ugualmente presente ancora su alcuni PC per la sua leggerezza), ipchains per il kernel 2.2.XX (presente su alcune distribuzioni che ancora non sono passate al nuovo kernel) e il recentissimo iptables per il kernel 2.4.XX (presente nelle ultimissime distribuzioni). Anche se si sta utilizzando un kernel della serie 2.4 è sempre possibile continuare ad usare sia ipfwadm che ipchains, a patto che vi sia il supporto apposito nel kernel [noi usiamo iptables].

Strumenti personali
Namespace

Varianti