Esempio configurazione kernel: differenze tra le versioni

Riga 1: Riga 1:
==Premessa==
{{stub}}
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.
Scarichiamo il cd del "net-install" da qui : http://www.debian.org/CD/netinst/


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 ?
''Dovete scaricare quella adatta alla vostra piattaforma che, nel caso di un pc casalingo o che avete comprato all'iper e' i386 :))''


==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.


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.


==Configurazione Router==
== Installazione Debian ==
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 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===
*Debian Install
Loghiamoci come utente '''root''' e digitiamo il seguente comando:
<pre># iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE</pre>
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.
Facciamo partire la macchina con il cd e digitiamo al prompt #linux26 per fare in modo che parta con il kenel 2.6.8


Per salvare le regole correnti di iptables basta scrivere da root:
Dopo il primo avvio e la scelta della lingua sicuramente la scheda di rete NON sar� riconosciuta, procediamo quindi a mano, selezionando dall'elenco il driver "tg3 : Broadcom Tigon3 Gigabit Ethernet"
<pre># iptables-save > /etc/iptables-save</pre>


Poi ad ogni avvio dovremo richiamare il seguente comando:
Diamo un nome host alla macchina ed anche un dominio se l'abbiamo... e procediamo con il partizionamento, a questo punto attendiamo la fine dell'installazione di "base".
<pre>
# cat /etc/iptables-save | iptables-restore
</pre>


Questo comando si pu� inserire in uno script di avvio come /etc/init.d/bootmisc, forse � pi� logico inserirlo in /etc/init.d/networking anche perch�, in tal modo, riavviando la rete vengono anche reimpostate le regole di iptables. Per inserire il comando in /etc/init.d/networking scorrete il file fino a quasi la fine dove troverete le seguenti righe:
Configurare il bootloader sul mbr del disco per fare in modo che la macchina si avvii ;)


<pre>
Il cd viene espulso e la macchina si riavvia.... ci siamo quasi..
case "$1" in
    start)
</pre>


ora appena prima di
Le operazioni d'installazione sono da eseguire come "root" oppure come utente "sudo"..


<pre>;;
*Config Sudo
stop)
</pre>


si potr� inserire questo codice (al posto del singolo comando) per maggiore eleganza:
Come abilitare il sudo :
Per aggiungere il vostru utente tra i "sudores users" entrate in console come root, digitate il comando "visudo" tutto attaccato,
aggiungete sotto l'utente root anche il vostro ed applicate le stesse opzioni, come segue :
root    ALL=(ALL) ALL
ale    ALL=(ALL) ALL


<pre>
A questo punto ogni volta che vorrete lanciare un'applicazione con i privilegi di root baster� anteporre il comando "sudo" es. sudo synaptics ;)
        # Carica le regole di iptables salvate
if [ -r /etc/iptables-save ]; then
    echo -en " * Loading iptables saved state ... "
    cat /etc/iptables-save | iptables-restore &&\
    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 /etc/iptables-save esiste ed � leggibile.


===Ip Forwarding===
== Prima configurazione ==
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>
Dato che per noi � fondamentale abilitare questa possibilit�, dobbiamo agire su un paramentro 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:
*Al riavvio ci verr� chiesto di impostare una password di "root" e di definire almeno 1 utente nel sistema, dopodiche ci verr� chiesto la "modalit� di installazione", io prediligo "http" utilizzando come repo il server di fastweb "che utilizzabile anche al di fuori di tale rete!!", senza selezionare nessuna voce tipo "Ambiente Desktop" o "Server Web", ci spostiamo con il tabulatore su "OK" e procediamo, in questo modo verr� installato SOLO il sistema di base senza tanti fronzoli!!
<pre># echo 1 > /proc/sys/net/ipv4/ip_forward</pre>
cos� facendo per�, ad ogni riavvio dovremo reimpostare la variabile.


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.
== Apt ==


Per prima cosa, apriamo con il nostro editor preferito il file '''/etc/network/interfaces''' e cerchiamo la sezione relativa alla nostra scheda di rete.
- La prima cosa che facciamo � aggiungere nel file /etc/apt/source.list le sezioni che ci servono, come in esembio :


Dovreste individuare qualcosa di simile a:
deb http://debian.fastweb.it/debian/ stable main non-free contrib
deb-src http://debian.fastweb.it/debian/ stable main non-free contrib


<pre>
ed aggiorniamo apt con #apt-get update
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
</pre>


A questo punto, nella riga immediatamente successiva a "broadcast ...", inseriamo questa direttiva:
- Installiamo a questo punto l'interfaccia X con il seguente comando :  


<pre>
  #apt-get install x-window-system gdm gnome module-assistant
auto eth0
   
iface eth0 inet static
  Installa il sistema x, il gdm per la gestione delle sessioni grafiche e l'ambiente Desktop Gnome ed il Module Assistant per la pacchettizzazione
address 192.168.0.1
  dei moduli ;)
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
        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:
-Configuriamo alla alla "bene-meglio" il server X


<pre># touch /etc/network/iface-secure</pre>
== Configurazione Video ==


Dopodiche' rendiamolo eseguibile con:
- Scarichiamo il driver (ati-driver-installer-8.19.10-i386.run) della nostra scheda video "ATI radeon mobility X600" dal sito http://support.ati.com 


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


All' interno di questo file scriveremo il nostro comando per abilitare l' ip-forwarding:
- Lanciamo da prompt #module-assistant e seguiamo il menu fino a "Prepare"... scarichiamo il necessario.


<pre>
- Una volta copiato il file sulla macchina digitiamo #sh ati-driver-installer-8.19.10-i386.run e seguiamo i passi richiesti facendo attenzione alle risposte!!
### Abilita il forwarding di pacchetti non locali - FONDAMENTALE
echo 1 > /proc/sys/net/ipv4/ip_forward
</pre>


E' opportuno impostare anche alcune misure di sicurezza:
Alla fine, se la configurazione � stata eseguita correttamente ci dovr� restiruire una riga avvisandoci di aver cancellato la cartella temporanea... se non � cos� c'� qualche cosa che tocca e ci conviene controllare il log...


<pre>
Editiamo il file /etc/X11/XF86Config-4 editando come segue :
### Ignora finti messaggi di errore ICMP
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses


### Non risponde ai ping inviati al broadcast della subnet
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts


### Non accetta pacchetti ICMP di route redirection
Section "InputDevice"
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
    Identifier  "Mouse1"
</pre>
    Driver "mouse"
    Option "Protocol"  "ImPS/2"
    Option "ZAxisMapping"  "4 5"
    Option "Device"    "/dev/input/mice"
EndSection
 
 
Section "Screen"
    Identifier  "Screen0"
    Device      "ATI Graphics Adapter"
    Monitor    "Monitor0"
    DefaultDepth 24
    #Option "backingstore"
 
    Subsection "Display"
        Depth      24
        Modes      "1280x800"
        ViewPort    0 0  # initial origin if mode is smaller than desktop
    EndSubsection
EndSection


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:
Salvato il file da prompt digitiamo /etc/init.d/gdm restart ... Magicamente saremo a 1280x800!! :))


<pre>
== Audio ==
### Protezione anti spoofing
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
</pre>


Per un approfondimento riguardante i parametri del kernel networking modificabili a run-time, vi rimandiamo alla guida [[Parametri a run-time per Netfilter]].
- Passiamo all'audio digitando da prompt #apt-get install alsa-base


===Server DNS===
- Configuriamo alsa da prompt #alsaconf e seguiamo la procedura guidata...
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.  


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


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:
Apriamo X e scarichiamo dal sito ipw2200.sf.net i file del firmware e scompattiamoli nella cartella /usr/src/fw
* 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);
* 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.
#mkdir /usr/src/fw
#mv  ipw2200-fw-2.4.tgz /usr/src/fw
#cd /usr/src/fw
#tar xzfv ipw2200-fw-2.4.tgz
#cp *.fw  /usr/lib/hotplug/firmware/


Per prima cosa installiamo bind9 ed alcuni strumenti utili:


<pre># apt-get install bind9 bind9-host dnsutils</pre>
{{Warningbox|
#rename 2.4 2.2 ipw-2.4*.fw


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''':
Questo rinomina dev'essere fatto in quanto se no il modulo vi dar� errore -5 ;)  Provare per credere!!;)}}


<pre>options {
Lanciamo module-assistant #module-assistant
directory "/var/cache/bind";


forward first;
- Selezioniamo "Select" e poi il modulo "ipw2200"
forwarders {
- recuperiamo i sorgenti con "Get"
INDIRIZZO IP DNS PRIMARIO; #varia a seconda del provider
- Costruiamolo con "Build", vi chieder� anche di installarlo, scegliete "Si" ;)
INDIRIZZO IP DNS SECONDARIO; #varia a seconda del provider
};


auth-nxdomain no; # conform to RFC1035
Una volta che ha finito "tutti i suoi ciapini" usciamo dal programma e da prompt #modprobe ipw2200
};</pre>
Se tutto � andato bene NON deve restituire errore e per verificare se � caricato da prompt digitiamo #lsmod | grep ipw220
Dovrebbe restituire una cosa simile :


Ora non ci resta che riavviare bind con il comando:
secure:/# lsmod | grep ipw2200
ipw2200              142472  0
ieee80211              36772  1 ipw2200
ieee80211_crypt        6088  2 ipw2200,ieee80211
firmware_class          9728  2 ipw2200,tg3


<pre># /etc/init.d/bind9 restart</pre>
Adesso installiamo le utility per gestire il tutto con, da prompt, #apt-get install wireless-tools e da prompt digitiamo #iwconfig e magicamente :


e configurarlo come [[DNS]] sui pc della nostra rete.
secure:~# iwconfig
eth1      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s  Tx-Power=20 dBm
          RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0


===Altri Protocolli===
Evviva!!! Il wifi va!! Va!! Va!!
====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:
== Mouse ==


<pre>
Adesso passiamo al mouse, abilitiamo lo "scrolling" sul tuoch pad, funziona cosi' comoda, ma che pochi conoscono!!
# 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''.
- Per cominciare installiamo con i driver giusti #apt-get install xfree86-driver-synaptics


====IRC====
- Modifichiamo il file /etc/X11/XF86Config-4 come segue :
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>
aggiungiamo come modulo da caricare il synaptics
# modprobe ip_conntrack_irc ports=5555,6666,6667,6668,6669,7000
# modprobe ip_nat_irc
</pre>


dove, con la direttiva "ports=" indichiamo le porte generalmente utilizzate dai server IRC.
Load    "synaptics"


Se avete problemi, leggete pi� avanti: [[Condividere_la_connessione_a_internet#Problemi_con_MTU|Problemi con MTU]].
eliminiamo la vecchia riga del mouse :  


==Configurazione LAN==
Passiamo ora alla configurazione degli altri PC della nostra rete domestica.<br>
===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 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===
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>
# ifconfig eth0 192.168.0.2 up
</pre>
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.
Per non riscrivere questo comando ad ogni boot, si pu inserire in /etc/network/interfaces:
<pre>
auto eth0
iface eth0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
</pre>


===Impostare il gateway===
#Section "InputDevice"
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:
#    Identifier "Mouse1"
<pre>
#    Driver "mouse"
# route add default gw 192.168.0.1
#   Option "Protocol"  "ImPS/2"
</pre>
#    Option "ZAxisMapping"  "4 5"
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:
#    Option "Device"    "/dev/input/mice"
<pre>
#   Option "Emulate3Buttons"
   gateway 192.168.0.1
#EndSection
</pre>


===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:
<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)''


===Client Windows�===
e aggiungiamo questa :
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==
Section "InputDevice"
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.
        Driver "synaptics"
        Identifier "Touchpad"
        Option  "CorePointer"
        Option  "Device"        "/dev/input/mice"
        Option  "Protocol"      "auto-dev"
        Option  "LeftEdge"      "1700"
        Option  "RightEdge"    "5300"
        Option  "TopEdge"      "1700"
        Option  "BottomEdge"    "4200"
        Option  "FingerLow"    "25"
        Option  "FingerHigh"    "30"
        Option  "MaxTapTime"    "180"
        Option  "MaxTapMove"    "220"
        Option  "VertScrollDelta" "100"
        Option  "MinSpeed"      "0.06"
        Option  "MaxSpeed"      "0.12"
        Option  "AccelFactor"  "0.0050"
        Option  "SHMConfig"    "on"
EndSection


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:


<pre>
poi in fondo al file (lo possiamo raggiungere con "shit"+g) modifichiamo la sezione "Layout" modificando l'input device
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'''.
InputDevice "Touchpad" "CorePointer"


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.
Riavviamo X ed il nostro touchpad scroller�!!


==Test==
== Gestione PC ==
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.
Installiamo i controlli acpi con #apt-get install acpi acpid


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.
A questo punto il controllo della batteria dovrebbe funzionare :))


{{Warningbox| L'eseguibile '''/bin/ping''' deve avere il bit suid impostato per funzionare da utente normale. }}
Installiamo laptop_mode per avere un'autonomia maggiore quando non siamo attaccati alla corrente!!
 
===Comunicazione tra router e client===
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
<pre>
$ ping -c 4 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=255 time=1.41 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=255 time=0.953 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=255 time=0.988 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=255 time=1.02 ms
 
--- 192.168.2.0 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 0.953/1.094/1.417/0.191 ms
</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.
 
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>
 
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
<pre>
$ ping -c 4 192.168.0.2
PING 192.168.0.1 (192.168.0.2) 56(84) bytes of data.
From 192.168.0.1 icmp_seq=1 Destination Host Unreachable
From 192.168.0.1 icmp_seq=2 Destination Host Unreachable
From 192.168.0.1 icmp_seq=3 Destination Host Unreachable
From 192.168.0.1 icmp_seq=4 Destination Host Unreachable
 
--- 192.168.0.2 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2998ms
, pipe 3
</pre>
 
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:
* che l' indirizzo del client sia corretto.
* che i cavi di rete siano collegati correttamente;
* che le schede di rete segnalino la presenza del segnale elettrico (ethernel link);
 
===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.
 
Ripetiamo le operazioni del punto precedente, questa volta, per�, operando dal client in direzione del router.
 
===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.
 
Facciamo subito un esempio usando come riferimento il FQDN '''www.debianizzati.org'''.
<pre>
# nslookup www.debianizzati.org
Server:        192.168.0.1
Address:        192.168.0.1#53
 
Non-authoritative answer:
Name:  www.debianizzati.org
Address: 66.199.227.58
</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:
<pre>
$ ping -c 2 www.debianizzati.org
PING www.debianizzati.org (66.199.227.58) 56(84) bytes of data.
64 bytes from cp4.idleserv.net (66.199.227.58): icmp_seq=1 ttl=50 time=153 ms
64 bytes from cp4.idleserv.net (66.199.227.58): icmp_seq=2 ttl=50 time=152 ms
</pre>
mentre se non fosse possibile associare www.debianizzati.org al corretto IP, leggeremmo:
<pre>
$ ping www.debianizzati.org
ping: unknown host www.debianizzati.org
</pre>
 
===Navigazione===
 
==Conclusioni==
 
 
----
Autore: [[Utente:Guide @ Debianizzati.Org|Debianizzati.Org]]<br>
Revisione: [[Utente:Keltik|keltik]]<br>
Revisione: [[Utente:TheNoise|The Noise]]
1 760

contributi