Condividere la connessione a internet: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
ftp, IRC e MTU
(ftp, IRC e MTU)
Riga 1: Riga 1:
{{stub}}
==Premessa==
==Premessa==
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.
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.
Riga 67: Riga 65:
E' possibile creare scripts appositi che impostano a "1" l' ip-forwarding, ma il sistema che presumibilmente � pi� comodo, consiste nell' associare questo comando alla creazione delle interfacce di rete, in fase di boot.
E' possibile creare scripts appositi che impostano a "1" l' ip-forwarding, ma il sistema che presumibilmente � pi� comodo, consiste nell' associare questo comando alla creazione delle interfacce di rete, in fase di boot.


Per prima cosa, apriamo con il nostro editor preferito il file '''/etc/network/interfaces''' e cerchiamo la sezione relativa alla nostra scheda di rete.<br>
Per prima cosa, apriamo con il nostro editor preferito il file '''/etc/network/interfaces''' e cerchiamo la sezione relativa alla nostra scheda di rete.
 
Dovreste individuare qualcosa di simile a:
Dovreste individuare qualcosa di simile a:
<pre>auto eth0
 
<pre>
auto eth0
iface eth0 inet static
iface eth0 inet static
address 192.168.0.1
address 192.168.0.1
netmask 255.255.255.0
netmask 255.255.255.0
network 192.168.0.0
network 192.168.0.0
broadcast 192.168.0.255</pre>
broadcast 192.168.0.255
</pre>


A questo punto, nella riga immediatamente successiva a "broadcast ...", inseriamo questa direttiva:
A questo punto, nella riga immediatamente successiva a "broadcast ...", inseriamo questa direttiva:
<pre>auto eth0
 
<pre>
auto eth0
iface eth0 inet static
iface eth0 inet static
address 192.168.0.1
address 192.168.0.1
Riga 83: Riga 87:
network 192.168.0.0
network 192.168.0.0
broadcast 192.168.0.255  
broadcast 192.168.0.255  
         pre-up /etc/network/iface-secure</pre>
         pre-up /etc/network/iface-secure
</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� '''/etc/network/iface-secure''', 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:
Dopodiche' rendiamolo eseguibile con:
<pre># chmod +x /etc/network/iface-secure</pre>
<pre># chmod +x /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>
### 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
</pre>
</pre>
E' opportuno impostare anche alcune misure di sicurezza:
E' opportuno impostare anche alcune misure di sicurezza:
<pre>
<pre>
### Non risponde ai ping inviati al broadcast della subnet
### Non risponde ai ping inviati al broadcast della subnet
Riga 104: Riga 117:
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
</pre>
</pre>
Oltre a queste regole Debian imposta per default la protezione dallo [http://it.wikipedia.org/wiki/IP_spoofing spoofing] degli indirizzi, che quindi non abbiamo necessit� di inserire nello script.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, che quindi non abbiamo necessit� di inserire nello script.Per completezza di informazione, comunque, questa regola risulta essere la seguente:
<pre>
<pre>
### Protezione anti spoofing  
### Protezione anti spoofing  
Riga 123: Riga 138:


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 '''/etc/bind/named.conf.options''':
<pre>options {
<pre>options {
directory "/var/cache/bind";
directory "/var/cache/bind";
Riga 136: Riga 154:
auth-nxdomain no; # conform to RFC1035
auth-nxdomain no; # conform to RFC1035
};</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># /etc/init.d/bind9 restart</pre>
e configurarlo come DNS sui pc della nostra rete.
e configurarlo come DNS sui pc della nostra rete.
===Altri Protocolli===
====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]]).
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>
# modprobe ip_conntrack_ftp
# modprobe ip_nat_ftp
</pre>
Da questo momento in poi i pc della lan dovrebbero essere in grado di accedere ai server ftp anche in ''active mode''.
====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>
# modprobe ip_conntrack_ftp
# modprobe ip_nat_ftp
</pre>
Se avete problemi, leggete pi avanti: [[Condividere_la_connessione_a_internet#Problemi_con_MTU|Problemi con MTU]].


==Configurazione LAN==
==Configurazione LAN==
Riga 161: Riga 205:
     broadcast 192.168.0.255  
     broadcast 192.168.0.255  
</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:
Riga 175: Riga 220:
<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 ''(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==
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.
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/networking/interfaces una riga apposita:
<pre>
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
        mtu 1412
</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. Qu, 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'''.
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.
==Test==
==Test==
Finalmente siamo arrivati al momento di testare la nostra rete domestica.<br>
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.<br>
 
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.


===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).<br>
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>
Riga 197: Riga 265:
rtt min/avg/max/mdev = 0.953/1.094/1.417/0.191 ms
rtt min/avg/max/mdev = 0.953/1.094/1.417/0.191 ms
</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.<br>
 
Possiamo essere certi che � cos� guardando semplicemente le statistiche riassuntive stampate al termine del test: la frase
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
 
<pre>4 packets transmitted, 4 received, 0% packet loss, time 3002ms</pre>
<pre>4 packets transmitted, 4 received, 0% packet loss, time 3002ms</pre>
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.


Riga 215: Riga 287:
, pipe 3
, pipe 3
</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 raggingere il router.
Il traffico della nostra rete deve essere necessariamente di tipo bidirezionale: dobbiamo quindi assicurarci che dal client sia possibile raggingere 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.
1 760

contributi

Menu di navigazione