Condividere la connessione a internet: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
versioni compatibili
m (versioni compatibili)
(12 versioni intermedie di 7 utenti non mostrate)
Riga 1: Riga 1:
==Premessa==
{{Versioni compatibili|Wheezy|Jessie|Testing_2015|Unstable_2015}}
Oggi che la maggior parte degli utenti domestici ha la possibilit� di accede ad internet con connessioni a [http://it.wikipedia.org/wiki/Larghezza_di_banda banda] larga (ad esempio [http://it.wikipedia.org/wiki/ADSL ADSL]) e che sempre pi� frequente avere a disposizione almeno un paio di computers si avverte la necessit� di poter condividere la connessione tra i vari computer della nostra rete domestica.
== Premessa ==
Oggi che la maggior parte degli utenti domestici ha la possibilità di accedere ad Internet con connessioni a [http://it.wikipedia.org/wiki/Larghezza_di_banda banda] larga (ad esempio [http://it.wikipedia.org/wiki/ADSL ADSL]) e che è sempre più frequente avere a disposizione almeno un paio di computer, si avverte la necessità di poter condividere la connessione tra i vari computer della nostra rete domestica.


GNU/Linux probabilmente la scelta pi� indicata in questi frangenti, essendo un sistema operativo nato espressamente in ambiente di rete: moltissimi dei [http://it.wikipedia.org/wiki/Router router] sul mercato fanno uso di GNU/Linux come sistema operativo, perch� non farlo anche noi ?
GNU/Linux è probabilmente la scelta più indicata in questi frangenti, essendo un sistema operativo nato espressamente in ambiente di rete: moltissimi dei [http://it.wikipedia.org/wiki/Router router] sul mercato fanno uso di GNU/Linux come sistema operativo, perché non farlo anche noi?


==Prerequisiti==
== Prerequisiti ==
Tutto quello di cui abbiamo bisogno la nostra Debian, una scheda di rete per ciascun pc da collegare alla rete locale ed un hub o switch.
Tutto quello di cui abbiamo bisogno è la nostra Debian, una scheda di rete per ciascun PC da collegare alla rete locale ed un hub o switch.


Se avete un collegamento adsl tramite modem usb e due soli computer, basta collegare le due schede di rete tramite cavetto ethernet cross (incrociato), non serve nient'altro. Uno dei due computer dovr� poi essere connesso ad internet tramite modem USB (vedere [[Indice_Guide#Modem_e_periferiche_di_rete|Modem e periferiche di rete]] per l'installazione e la configurazione), oppure tramite una seconda scheda di rete.
Se avete un collegamento ADSL tramite modem USB e due soli computer, basta collegare le due schede di rete tramite cavetto ethernet cross (incrociato), non serve nient'altro. Uno dei due computer dovrà poi essere connesso ad internet tramite modem USB (vedere [[Indice_Guide#Modem_e_periferiche_di_rete|Modem e periferiche di rete]] per l'installazione e la configurazione), oppure tramite una seconda scheda di rete.


Per fare in modo che Debian si comporti come un router avremo bisogno anche di iptables. Vi rimando alla guida [[Debian e iptables]] per la sua corretta installazione e configurazione.
Per fare in modo che Debian si comporti come un router avremo bisogno anche di ''iptables''. Vi rimando alla guida [[Debian e iptables]] per la sua corretta installazione e configurazione.


==Configurazione Router==
== Configurazione Router ==
Per fare in modo che Debian faccia da [http://it.wikipedia.org/wiki/Gateway gateway] tra i pc della LAN e internet dobbiamo utilizzare il [http://it.wikipedia.org/wiki/Network_address_translation NAT] ''(Network Address Translation)''.<br>
Per fare in modo che Debian faccia da [http://it.wikipedia.org/wiki/Gateway gateway] tra i PC della LAN e internet dobbiamo utilizzare il [http://it.wikipedia.org/wiki/Network_address_translation NAT] ''(Network Address Translation)''.<br>
Il tipo di NAT che ci interessa in questa guida chiamato '''masquerading''' ''(mascheramento)'' degli indirizzi locali.<br>
Il tipo di NAT che ci interessa in questa guida è chiamato '''masquerading''' ''(mascheramento)'' degli indirizzi locali.<br>
Il motivo semplice: per accedere a internet necessario avere un [http://it.wikipedia.org/wiki/Indirizzo_IP indirizzo IP] di tipo pubblico, che il nostro ISP ci fornisce. Per permettere anche ai computer sprovvisti di indirizzo pubblico di navigare, dobbiamo fare in modo che i loro indirizzi di tipo privato vengano "nascosti" dietro a quello pubblico.
Il motivo è semplice: per accedere a internet è necessario avere un [http://it.wikipedia.org/wiki/Indirizzo_IP indirizzo IP] di tipo pubblico, che il nostro ISP ci fornisce. Per permettere anche ai computer sprovvisti di indirizzo pubblico di navigare, dobbiamo fare in modo che i loro indirizzi di tipo privato vengano "nascosti" dietro a quello pubblico.


===Masquerading===
=== Masquerading ===
Loghiamoci come utente '''root''' e digitiamo il seguente comando:
Con [[privilegi di amministrazione]] digitiamo il seguente comando:
<pre># iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE</pre>
<pre># iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE</pre>
questo abilita il mascheramento degli indirizzi privati.
questo abilita il mascheramento degli indirizzi privati.


Per caricare queste regole di iptable ad ogni avvio conviene salvarle una volta e per tutte con '''iptables-save''' e caricarle ad ogni avvio con '''iptables-restore'''. Questi comandi leggono e scrivono su STDIN e STDOUT quindi bisogna usare la redirezione di shell.
Nel caso il computer che fa da router sia collegato ad internet mediante un'altra interfaccia di rete (di solito ethx), al posto di ppp0 va messo il nome di quest'ultima e quindi diventa:
<pre># iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</pre>


Per salvare le regole correnti di iptables basta scrivere da root:
Per caricare queste regole di ''iptables'' ad ogni avvio conviene salvarle una volta e per tutte con '''iptables-save''' e caricarle ad ogni avvio con '''iptables-restore'''. Questi comandi leggono e scrivono su STDIN e STDOUT quindi bisogna usare la redirezione di shell.
 
Per salvare le regole correnti di ''iptables'' basta scrivere da ''root'':
<pre># iptables-save > /etc/iptables-save</pre>
<pre># iptables-save > /etc/iptables-save</pre>


Poi ad ogni avvio dovremo richiamare il seguente comando:
Poi ad ogni avvio dovremo richiamare il seguente comando:
<pre>
<pre>
# cat /etc/iptables-save | iptables-restore
# iptables-restore < /etc/iptables-save
</pre>
</pre>


Questo comando si pu� inserire in uno script di avvio come <tt>/etc/init.d/bootmisc</tt>, forse � pi� logico inserirlo in <tt>/etc/init.d/networking</tt> anche perch�, in tal modo, riavviando la rete vengono anche reimpostate le regole di iptables. Per inserire il comando in <tt>/etc/init.d/networking </tt>scorrete il file fino a quasi la fine dove troverete le seguenti righe:
Basta creare uno script in <code>/etc/network/if-up.d/</code> che esegua tale comando. Per esempio:
 
<pre>
<pre>
case "$1" in
# touch /etc/network/if-up.d/restore-iptables
    start)
</pre>
</pre>


ora appena prima di
E poi modificare <code>/etc/network/if-up.d/network-iptables</code> con il proprio editor di testo preferito:
<pre>
#! /bin/sh


<pre>;;
readonly CONFIG_FILE="/etc/iptables-save"
stop)
</pre>


si potr� inserire questo codice (al posto del singolo comando) per maggiore eleganza:
# execute the script only if $CONFIG_FILE exists
test -f "$CONFIG_FILE" || exit 0


<pre>
# restore IP tables
        # Carica le regole di iptables salvate
printf %s " * Loading iptables saved state... "
if [ -r /etc/iptables-save ]; then
iptables-restore < "$CONFIG_FILE" &&
    echo -en " * Loading iptables saved state ... "
printf %s\\n "[ OK ]"
    cat /etc/iptables-save | iptables-restore &&\
</pre>  
    echo "[ OK ]"
fi
</pre>
   
   
in questo modo la regola verr� caricata ad ogni avvio del sistema, senza che sia necessario digitarla nuovamente, e solo se il file <tt>/etc/iptables-save</tt> esiste ed � leggibile.
La regola verrà caricata ad ogni avvio del sistema, senza che sia necessario digitarla nuovamente, e solo se il file <code>/etc/iptables-save</code> esiste.


===Ip Forwarding===
=== Ip Forwarding ===
Configurare iptables non � per� sufficiente. I comuni pc, infatti, non devono essere in grado di comportarsi come i [http://it.wikipedia.org/wiki/Router routers] e cio� non devono poter [[routing|instradare]] pacchetti da una rete all' altra.<br>
Configurare ''iptables'' non è però sufficiente. I comuni PC, infatti, non devono essere in grado di comportarsi come i [http://it.wikipedia.org/wiki/Router router] e cioè non devono poter [[routing|instradare]] pacchetti da una rete all'altra.<br>
Dato che per noi fondamentale abilitare questa possibilit�, dobbiamo agire su un paramentro del kernel che regola questa funzione: l' '''ip-forwarding'''.
Dato che per noi è fondamentale abilitare questa possibilità, dobbiamo agire su un parametro del kernel che regola questa funzione: l' '''ip-forwarding'''.


L' ip-forwarding � abilitabile "al volo", semplicemente impostando a "1" la relativa variabile del kernel, con il comando:
L'ip-forwarding si può abilitare "al volo" semplicemente impostando a "1" la relativa variabile del kernel, con il comando:
<pre># echo 1 > /proc/sys/net/ipv4/ip_forward</pre>
<pre># echo 1 > /proc/sys/net/ipv4/ip_forward</pre>
cos� facendo per�, ad ogni riavvio dovremo reimpostare la variabile.
così facendo, però, ad ogni riavvio dovremo reimpostare la variabile.
 
==== Impostare l'<code>ip-forwarding</code> al boot: <code>/etc/sysctl.conf</code> ====


==== Impostare l'<tt>ip-forwarding</tt> al boot: <tt>/etc/sysctl.conf</tt> ====
Se avete installato ''ipmasq'', l'ip-forwarding è già abilitato: passate alle misure di sicurezza.


Il metodo pi� semplice, consigliato nella maggior parte dei casi, per impostare l'ip-forwarding ad ogni boot di inserire in <tt>/etc/sysctl.conf</tt>:
Il metodo più semplice, consigliato nella maggior parte dei casi, per impostare l'ip-forwarding ad ogni boot è di inserire in <code>/etc/sysctl.conf</code>:


<pre>
<pre>
Riga 74: Riga 76:
</pre>  
</pre>  


E' opportuno impostare anche alcune misure di sicurezza:
È opportuno impostare anche alcune misure di sicurezza:


<pre>
<pre>
Riga 87: Riga 89:
</pre>
</pre>


Oltre a queste regole Debian imposta per default la protezione dallo [http://it.wikipedia.org/wiki/IP_spoofing spoofing] degli indirizzi. Per completezza di informazione, comunque, questa regola risulta essere la seguente:
Oltre a queste regole, Debian imposta per default la protezione dallo [http://it.wikipedia.org/wiki/IP_spoofing spoofing] degli indirizzi. Per completezza di informazione, comunque, questa regola risulta essere la seguente:


<pre>
<pre>
Riga 94: Riga 96:
</pre>
</pre>


Per un approfondimento riguardante i parametri del kernel networking modificabili a run-time, vi rimandiamo alla guida [[Parametri a run-time per Netfilter]].
==== Impostare l'<code>ip-forwarding</code> al boot: script ====
 
==== Impostare l'<tt>ip-forwarding</tt> al boot: script ====


&Egrave; possibile anche abilitare l'ip-forwarding associando uno script alla creazione delle interfacce di rete, in fase di boot. Questo metodo consigliato solo in caso di setup pi� complessi, in cui si vogliono impostare regole diverse a seconda dell'interfaccia di rete che si attiva.
È possibile anche abilitare l'ip-forwarding associando uno script alla creazione delle interfacce di rete in fase di boot. Questo metodo è consigliato solo in caso di setup più complessi, in cui si vogliono impostare regole diverse a seconda dell'interfaccia di rete che si attiva.


Per prima cosa, apriamo con il nostro editor preferito il file '''/etc/network/interfaces''' e cerchiamo la sezione relativa alla nostra scheda di rete.
Per prima cosa, apriamo con il nostro editor preferito il file <code>/etc/network/interfaces</code> e cerchiamo la sezione relativa alla nostra scheda di rete.


Dovreste individuare qualcosa di simile a:
Dovreste individuare qualcosa di simile a:
Riga 125: Riga 125:
</pre>
</pre>


Questo comando dice allo script che si occupa di configurare la scheda di rete di lanciare un' altro script, e cio� '''/etc/network/iface-secure''', che provvediamo subito a creare con il comando:
Questo comando dice allo script, che si occupa di configurare la scheda di rete, di lanciare un altro script, e cioè <code>/etc/network/iface-secure</code>, che provvediamo subito a creare con il comando:


<pre># touch /etc/network/iface-secure</pre>
<pre># touch /etc/network/iface-secure</pre>


Dopodiche' rendiamolo eseguibile con:
Dopodiché rendiamolo eseguibile e scrivibile per [[root]] con:


<pre># chmod +x /etc/network/iface-secure</pre>
<pre># chmod 754 /etc/network/iface-secure</pre>


All' interno di questo file scriveremo il nostro comando per abilitare l' ip-forwarding:
All'interno di questo file scriveremo il nostro comando per abilitare l' ip-forwarding:


<pre>
<pre>
#! /bin/sh
### Abilita il forwarding di pacchetti non locali - FONDAMENTALE
### Abilita il forwarding di pacchetti non locali - FONDAMENTALE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
Riga 149: Riga 151:
</pre>
</pre>


===Server DNS===
=== Server DNS ===
Per poter navigare su internet, necessario che i PC della nostra rete locale abbiano accesso ad un server [[DNS]] che traduca per noi gli indirizzi internet in indiritti IP.  
Per poter navigare su internet, è necessario che i PC della nostra rete locale abbiano accesso ad un server [[DNS]] che traduca per noi gli indirizzi internet in indirizzi IP.  


Un modo per fare questo consiste nell' impostare per ciascuno dei nostri PC i server [[DNS]] forniti dal nostro provider.  
Un modo per fare questo consiste nell'impostare, per ciascuno dei nostri PC, i server [[DNS]] forniti dal nostro provider.  


Esiste tuttavia un' alternativa molto pi� comoda e performante: creare un nostro server [[DNS]] ed utilizzarlo in sostituzione di quelli del provider. Questa soluzione porta ad alcuni vantaggi:
Esiste tuttavia un'alternativa molto più comoda e performante: creare un nostro server [[DNS]] ed utilizzarlo in sostituzione di quelli del provider. Questa soluzione porta ad alcuni vantaggi:
* sui pc della LAN dovremo configurare sempre un solo server [[DNS]] immutabile e che conosciamo bene (senza faticose ricerche);
* sui PC della LAN dovremo configurare sempre un solo server [[DNS]] immutabile e che conosciamo bene (senza faticose ricerche);
* i tempi di risposta sono nettamente pi� performanti rispetto a server esterni alla LAN, sia perch� il server raggiungibile direttamente (senza instradamento attraverso internet), sia perch� sfrutta un sistema di cache (se 10 pc chiedono l' indirizzo di debian.org, ad esempio, il nostro [[DNS]] effetter� la richiesta solo la prima volta e per le restanti 9 utilizzer� le informazioni memorizzate nella propria cache);
* i tempi di risposta sono nettamente più performanti rispetto a server esterni alla LAN, sia perché il server è raggiungibile direttamente (senza instradamento attraverso internet), sia perché sfrutta un sistema di cache (se 10 PC chiedono l' indirizzo di debian.org, ad esempio, il nostro [[DNS]] effettuerà la richiesta solo la prima volta e per le restanti 9 utilizzerà le informazioni memorizzate nella propria cache);
* grazie a questo meccanismo di caching i [[DNS]] del provider sono meno stressati e quindi pi� performanti a loro volta.
* grazie a questo meccanismo di caching i [[DNS]] del provider sono meno stressati e quindi più performanti a loro volta.


Per realizzare il nostro server useremo '''bind''', probabilmente il miglior software esistente per questo compito.
Per realizzare il nostro server useremo '''bind''', probabilmente il miglior software esistente per questo compito.


Per prima cosa installiamo bind9 ed alcuni strumenti utili:
Per prima cosa installiamo ''bind9'' ed alcuni strumenti utili:


<pre># apt-get install bind9 bind9-host dnsutils</pre>
<pre># apt-get install bind9 bind9-host dnsutils</pre>


Ora configuriamo il server in modo che faccia le sue richieste ai server [[DNS]] che vogliamo noi anzich� ai ROOT SERVERS (sono pochi in tutto il mondo, molto stressati e aggiornati pi� lentamente di altri). Tutto quello che dobbiamo fare editare la sezione '''options''' del file '''/etc/bind/named.conf.options''':
Ora configuriamo il server in modo che faccia le sue richieste ai server [[DNS]] che vogliamo noi anziché ai ROOT SERVERS (sono pochi in tutto il mondo, molto stressati e aggiornati più lentamente di altri). Tutto quello che dobbiamo fare è editare la sezione '''options''' del file <code>/etc/bind/named.conf.options</code>:


<pre>options {
<pre>options {
Riga 179: Riga 181:
};</pre>
};</pre>


Ora non ci resta che riavviare bind con il comando:
Ora non ci resta che riavviare ''bind'' con il comando:


<pre># /etc/init.d/bind9 restart</pre>
<pre># service bind9 restart</pre>


e configurarlo come [[DNS]] sui pc della nostra rete.
e configurarlo come [[DNS]] sui PC della nostra rete.


===Altri Protocolli===
=== Altri Protocolli ===
====FTP====
==== FTP ====
Con la configurazione svolta fino a questo punto dovrebbe essere possibile accedere dai PC della lan a server ftp esterni in ''passive mode'' (se ci� non fosse possibile vedere pi� avanti: [[Condividere_la_connessione_a_internet#Problemi_con_MTU|Problemi con MTU]]).  
Con la configurazione svolta fino a questo punto dovrebbe essere possibile accedere dai PC della LAN a server FTP esterni in ''passive mode'' (se ciò non fosse possibile vedere più avanti: [[Condividere_la_connessione_a_internet#Problemi_con_MTU|Problemi con MTU]]).  


Se si vuole accedere a server ftp in active mode il router deve tracciare le connessioni ftp, e a tal scopo basta caricare i due moduli:
Se si vuole accedere a server FTP in ''active mode'' il router deve tracciare le connessioni FTP, e a tal scopo basta caricare i due moduli:


<pre>
<pre>
Riga 196: Riga 198:
</pre>
</pre>


Da questo momento in poi i pc della lan dovrebbero essere in grado di accedere ai server ftp anche in ''active mode''.
Da questo momento in poi i PC della LAN dovrebbero essere in grado di accedere ai server FTP anche in ''active mode''.


====IRC====
==== IRC ====
Dovreste essere in grado di usare IRC senza problemi dai pc della vostra LAN. In caso contrario potreste provare a caricare manualmente i moduli che servono al router per gestire le connessioni ad IRC:
Dovreste essere in grado di usare IRC senza problemi dai PC della vostra LAN. In caso contrario potreste provare a caricare manualmente i moduli che servono al router per gestire le connessioni ad IRC:


<pre>
<pre>
Riga 208: Riga 210:
dove, con la direttiva "ports=" indichiamo le porte generalmente utilizzate dai server IRC.
dove, con la direttiva "ports=" indichiamo le porte generalmente utilizzate dai server IRC.


Se avete problemi, leggete pi� avanti: [[Condividere_la_connessione_a_internet#Problemi_con_MTU|Problemi con MTU]].
Se avete problemi, leggete più avanti: [[Condividere_la_connessione_a_internet#Problemi_con_MTU|Problemi con MTU]].


==Configurazione LAN==
== Configurazione LAN ==
Passiamo ora alla configurazione degli altri PC della nostra rete domestica.<br>
Passiamo ora alla configurazione degli altri PC della nostra rete domestica.<br>
===Premessa===
==== Premessa ====
Generalmente per le reti locali domestiche si utilizzano indirizzi IP del tipo 192.168.0.x dove x un numero variabile tra 1 e 254. Questo significa che all' interno della stessa rete possiamo avere fino a 254 indirizzi IP univoci.<br>
Generalmente per le reti locali domestiche si utilizzano indirizzi IP del tipo 192.168.0.x, dove x è un numero variabile tra 1 e 254. Questo significa che all'interno della stessa rete possiamo avere fino a 254 indirizzi IP univoci.<br>
Generalmente il router di una rete ha come indirizzo IP il primo o l' ultimo della rete e cio� 192.168.0.1 oppure 192.168.0.254. In questo esempio noi useremo il primo.
Generalmente il router di una rete ha come indirizzo IP il primo o l'ultimo della rete e cioè 192.168.0.1 oppure 192.168.0.254. In questo esempio noi useremo il primo.
===Assegnare un IP===
=== Assegnare un IP ===
Ad ogni pc della LAN si deve assegnare un indirizzo ip per poter comunicare con gli altri pc della rete interna (che nel caso limite il solo pc che fa da router). Per assegnare un indirizzo IP statico basta usare il comando:
Ad ogni PC della LAN si deve assegnare un indirizzo IP per poter comunicare con gli altri PC della rete interna (che nel caso limite è il solo PC che fa da router). Per assegnare un indirizzo IP statico basta usare il comando:
<pre>
<pre>
# ifconfig eth0 192.168.0.2 up
# ifconfig eth0 192.168.0.2 up
</pre>
</pre>
dove 192.168.0.2 l'indirizzo arbitrario che si scelto per la particolare macchina.<br>
dove 192.168.0.2 è l'indirizzo arbitrario che si è scelto per la particolare macchina.<br>
Il comando '''ifconfig''' permette di specificare molti pi� parametri, ma utilizzando l' indirizzo dell' esempio, questi verranno preconfigurati automaticamente.
Il comando '''ifconfig''' permette di specificare molti più parametri ma, utilizzando l'indirizzo dell'esempio, questi verranno preconfigurati automaticamente.
Per non riscrivere questo comando ad ogni boot, si pu� inserire in /etc/network/interfaces:
Per non riscrivere questo comando ad ogni boot, si può inserire in <code>/etc/network/interfaces</code>:
<pre>
<pre>
auto eth0
auto eth0
Riga 232: Riga 234:
</pre>
</pre>


===Impostare il gateway===
=== Impostare il gateway ===
Ora bisogna dire ad ogni macchina della lan di instradare tutti i pacchetti diretti verso l'esterno al pc fisicamente collegato ad internet (che fa da router). A tal scopo basta impostare il default gateway:
Ora bisogna dire ad ogni macchina della LAN di instradare tutti i pacchetti diretti verso l'esterno al PC fisicamente collegato ad internet (che fa da router). A tal scopo basta impostare il ''default gateway'':
<pre>
<pre>
# route add default gw 192.168.0.1
# route add default gw 192.168.0.1
</pre>
</pre>
Per non dover scrivere questo comando ad ogni riavvio, sufficiente aggiungere al file /etc/network/interfaces, subito al di sotto della direttiva ''''broadcast ...'''' la seguente linea:
Per non dover scrivere questo comando ad ogni riavvio, è sufficiente aggiungere al file <code>/etc/network/interfaces</code>, subito al di sotto della direttiva ''''broadcast ...'''' la seguente linea:
<pre>
<pre>
   gateway 192.168.0.1
   gateway 192.168.0.1
</pre>
</pre>


===Impostare il server DNS===
=== Impostare il server DNS ===
Per impostare il server [[DNS]] che i nostri PC useranno necessario editare il file '''/etc/resolv.conf''' inserendo la seguente linea:
Per impostare il server [[DNS]] che i nostri PC useranno è necessario editare il file <code>/etc/resolv.conf</code> inserendo la seguente linea:
<pre>nameserver 192.168.0.1</pre>
<pre>nameserver 192.168.0.1</pre>
assicurandoci di scriverlo nella prima riga del file ''(ordine con cui il sistema interroga i [[DNS]] identico a quello in cui compaiono in /etc/resolv.conf)''
assicurandoci di scriverlo nella prima riga del file ''(L'ordine con cui il sistema interroga i [[DNS]] è identico a quello in cui compaiono in /etc/resolv.conf)''


===Client Windows�===
=== Client Windows® ===
Per la configurazione di eventuali PC con installato Microsoft� Windows� vi rimandiamo alla Guida in Linea, al sito di supporto ed al vostro rivenditore hardware (che per contratto tenuto a fornirvi assistenza).
Per la configurazione di eventuali PC con installato Microsoft® Windows® vi rimandiamo alla Guida in Linea, al sito di supporto ed al vostro rivenditore hardware (che per contratto è tenuto a fornirvi assistenza).


==Problemi con MTU==
== Problemi con MTU ==
Pu� capitare a volte, specialmente con collegamenti adsl, che l'MTU impostato di default  per le interfacce di rete (1500) non sia appropriato e causi vari mafunzionamenti. Ad esempio, io non riuscivo ad usare wget, ftp, apt-get e irc. Altri hanno riportato di non potere accedere a certi siti.
Può capitare a volte, specialmente con collegamenti ADSL, che l'MTU impostato di default  per le interfacce di rete (1500) non sia appropriato e causi vari malfunzionamenti. Ad esempio, io non riuscivo ad usare wget, ftp, apt-get e irc. Altri hanno riportato di non potere accedere a certi siti.


Risolvere questo problema semplice, basta impostare l'MTU di tutte le interfacce ethernet ad un valore pi� basso di 1500. A tal scopo basta aggiungere in /etc/network/interfaces una riga apposita:
Risolvere questo problema è semplice, basta impostare l'MTU di tutte le interfacce ethernet ad un valore più basso di 1500. A tal scopo basta aggiungere in <code>/etc/network/interfaces</code> una riga apposita:


<pre>
<pre>
Riga 264: Riga 266:
</pre>
</pre>


Questo su tutti i computer della LAN e anche sul pc che funge da router. Se si ha poi una connessione ppp per collegarsi ad internet, sul pc-router bisogner� impostare l'MTU anche per questa interfaccia. Qui, la configurazione potrebbe variare a seconda dei casi ma usualmente possibile impostare l'MTU in '''/etc/ppp/options''' e/o in '''/etc/ppp/peers/tuo-provider'''.
Questo su tutti i computer della LAN e anche sul PC che funge da router. Se si ha poi una connessione ppp per collegarsi ad internet, sul pc-router bisognerà impostare l'MTU anche per questa interfaccia. Qui la configurazione potrebbe variare a seconda dei casi, ma usualmente è possibile impostare l'MTU in <code>/etc/ppp/options</code> e/o in <code>/etc/ppp/peers/tuo-provider</code>.


Riavviando ora tutte le interfacce di rete sia eth0 che ppp, avremo impostato il novo valore per l'MTU e sperabilmente avremo eliminato i malfunzionamenti.
Riavviando ora tutte le interfacce di rete sia eth0 che ppp, avremo impostato il nuovo valore per l'MTU sperando di aver eliminato i malfunzionamenti.


==Test==
== Test ==
Finalmente siamo arrivati al momento di testare la nostra rete domestica.
Finalmente siamo arrivati al momento di testare la nostra rete domestica.


Nei prossimi minuti cercheremo di appurare se i vari elementi che abbiamo predisposto in precedenza sono effettivamente funzionanti e, se non lo sono, per quale motivo.
Nei prossimi minuti cercheremo di appurare se i vari elementi che abbiamo predisposto in precedenza sono effettivamente funzionanti e, se non lo sono, per quale motivo.


Per fare questo avremo bisogno di alcuni tra i pi� usati strumenti diagnostici: '''ping''' e '''nslookup''', ma non preoccupatevi: il primo viene installato automaticamente ed il secondo abbiamo provveduto ad installarlo contestualmente a bind.
Per fare questo avremo bisogno di alcuni tra i più usati strumenti diagnostici: '''ping''' e '''nslookup''', ma non preoccupatevi: il primo viene installato automaticamente ed il secondo abbiamo provveduto ad installarlo contestualmente a ''bind''.


{{Warningbox| L'eseguibile '''/bin/ping''' deve avere il bit suid impostato per funzionare da utente normale. }}
{{Warningbox| L'eseguibile <code>/bin/ping</code> deve avere il bit suid impostato per funzionare da utente normale. }}


===Comunicazione tra router e client===
=== Comunicazione tra router e client ===
Prima di tutto annotiamo l' indirizzo IP del client (in questo esempio: 192.168.0.2).
Prima di tutto annotiamo l'indirizzo IP del client (in questo esempio: 192.168.0.2).


Ora apriamo una shell sul pc che funge da router e digitiamo il comando
Ora apriamo una shell sul PC che funge da router e digitiamo il comando:
<pre>
<pre>
$ ping -c 4 192.168.0.2
$ ping -c 4 192.168.0.2
Riga 294: Riga 296:
</pre>
</pre>


Per ora non ci interessa il significato dei messaggi a video, ma unicamente il fatto che dal router effettivamente possibile raggiungere (pingare) il client.
Per ora non ci interessa il significato dei messaggi a video, ma unicamente il fatto che dal router è effettivamente possibile raggiungere (pingare) il client.


Possiamo essere certi che � cos� guardando semplicemente le statistiche riassuntive stampate al termine del test, la frase
Possiamo essere certi che sia così guardando semplicemente le statistiche riassuntive stampate al termine del test, la frase:


<pre>4 packets transmitted, 4 received, 0% packet loss, time 3002ms</pre>
<pre>4 packets transmitted, 4 received, 0% packet loss, time 3002ms</pre>
Riga 302: Riga 304:
infatti ci informa che abbiamo trasmesso al client 4 pacchetti e che il client li ha ricevuti tutti.
infatti ci informa che abbiamo trasmesso al client 4 pacchetti e che il client li ha ricevuti tutti.


Se cos� non fosse, avremmo avuto un output del tipo
Se così non fosse, avremmo avuto un output del tipo:
<pre>
<pre>
$ ping -c 4 192.168.0.2
$ ping -c 4 192.168.0.2
Riga 316: Riga 318:
</pre>
</pre>


Possiamo vedere che il client (192.168.0.2) non raggiungibile (Destination Host Unreachable) dal router (from 192.168.0.1).
Possiamo vedere che il client (192.168.0.2) non è raggiungibile (Destination Host Unreachable) dal router (from 192.168.0.1).
Se tutto andato bene passiamo al punto seguente, in caso contrario controlliamo:
Se tutto è andato bene passiamo al punto seguente, in caso contrario controlliamo:
* che l' indirizzo del client sia corretto.
* che l'indirizzo del client sia corretto.
* che i cavi di rete siano collegati correttamente;
* che i cavi di rete siano collegati correttamente;
* che le schede di rete segnalino la presenza del segnale elettrico (ethernel link);
* che le schede di rete segnalino la presenza del segnale elettrico (ethernel link);


===Comunicazione tra client e router===
=== Comunicazione tra client e router ===
Il traffico della nostra rete deve essere necessariamente di tipo bidirezionale: dobbiamo quindi assicurarci che dal client sia possibile raggiungere il router.
Il traffico della nostra rete deve essere necessariamente di tipo bidirezionale: dobbiamo quindi assicurarci che dal client sia possibile raggiungere il router.


Ripetiamo le operazioni del punto precedente, questa volta, per�, operando dal client in direzione del router.
Ripetiamo le operazioni del punto precedente, questa volta, però, operando dal client in direzione del router.


===Risoluzione dei nomi===
=== Risoluzione dei nomi ===
Verifichiamo che il nostro client sia in grado di risolvere i nomi degli host (di qui in seguito [[FQDN]]): questo significa che deve essere in grado di poter identificare un computer presente in internet non solo in base al suo indirizzo IP, ma anche in base ad un nome facilmente memorizzabile.
Verifichiamo che il nostro client sia in grado di risolvere i nomi degli host (di qui in seguito [[FQDN]]): questo significa che deve essere in grado di poter identificare un computer presente in internet non solo in base al suo indirizzo IP, ma anche in base ad un nome facilmente memorizzabile.


Riga 340: Riga 342:
Address: 66.199.227.58
Address: 66.199.227.58
</pre>
</pre>
Possiamo vedere che il server che ci fornisce l' indirizzo 192.168.0.1, cio� il nostro router, e che siamo in grado di risolvere gli FQDN in indirizzi IP. A riprova di questo, se tentiamo di pingare www.debianizzati.org, otterremo il seguente output:
Possiamo vedere che il server che ci fornisce l'indirizzo è 192.168.0.1, cioè il nostro router, e che siamo in grado di risolvere gli FQDN in indirizzi IP. A riprova di questo, se tentiamo di pingare ''www.debianizzati.org'', otterremo il seguente output:
<pre>
<pre>
$ ping -c 2 www.debianizzati.org
$ ping -c 2 www.debianizzati.org
Riga 347: Riga 349:
64 bytes from cp4.idleserv.net (66.199.227.58): icmp_seq=2 ttl=50 time=152 ms
64 bytes from cp4.idleserv.net (66.199.227.58): icmp_seq=2 ttl=50 time=152 ms
</pre>
</pre>
mentre se non fosse possibile associare www.debianizzati.org al corretto IP, leggeremmo:
mentre se non fosse possibile associare ''www.debianizzati.org'' al corretto IP, leggeremmo:
<pre>
<pre>
$ ping www.debianizzati.org
$ ping www.debianizzati.org
Riga 356: Riga 358:
Se siete giunti fino in fondo dovreste essere in grado di condividere la connessione ad internet in semplici LAN domestiche e risolvere i principali problemi che possono insorgere.
Se siete giunti fino in fondo dovreste essere in grado di condividere la connessione ad internet in semplici LAN domestiche e risolvere i principali problemi che possono insorgere.


Se avete idee su come migliorare questa guida, segnalazione di errori e/o proposte non esistate a comunicarle nella pagina di discussione oppure sul [http://www.debianizzati.org forum di debianizzati].
Se avete idee su come migliorare questa guida, segnalazione di errori e/o proposte non esitate a comunicarle nella pagina di discussione oppure sul [http://www.debianizzati.org forum di debianizzati].


Buona Navigazione!
Buona Navigazione!


----
{{Autori
Autore: [[Utente:Guide @ Debianizzati.Org|Debianizzati.Org]]<br>
|Autore = [[Utente:Guide @ Debianizzati.Org|Debianizzati.Org]]
Revisione: [[Utente:Keltik|keltik]]<br>
|Verificata_da=
Revisione: [[Utente:TheNoise|The Noise]]
:[[Utente:Clockwork orange|Clockwork Orange]]
:[[Utente:HAL 9000|HAL 9000]] 17:58, 21 mag 2015 (CEST)
|Estesa_da =
:[[Utente:Keltik|keltik]]
:[[Utente:TheNoise|The Noise]]
|Numero_revisori = 2
}}


Verificato da: [[Utente:Clockwork orange|Clockwork Orange]]
[[Categoria:Configurazione ethernet]]
[[Categoria:Networking]][[Categoria:Desktop]]
[[Categoria:Reti con Windows]]
3 581

contributi

Menu di navigazione