Capitolo 10. Le reti
10.2. Configurazioni ed informazioni di rete
Tutte le grosse distribuzioni Linux di facile utilizzo sono dotate di vari strumenti grafici che
consentono l'impostazione semplice del computer in una rete locale, la sua connessione ad un
Internet Service Provider o l'accesso wireless (senza fili, via radio). Questi strumenti possono essere
avviati dalla linea di comando o da un menu:
●La configurazione viene eseguita selezionando System+Administration−>Networking.
●RedHat viene con redhatconfignetwork, che ha un'interfaccia in modalità sia grafica che
testuale.
●YAST o YAST2 di SuSE sono strumenti di configurazione generale.
●Mandrake/Mandriva arriva dotata di un assistente di configurazione di rete e Internet, che è
preferibile avviare dal Centro di Controllo Mandrake.
●In sistemi Gnome: gnomenetworkpreferences.
●In sistemi KDE: knetworkconf.
La vostra documentazione di sistema fornisce consigli e informazioni in abbondanza circa la
disponibilità e l'utilizzo di strumenti.
Le informazioni che dovrete fornire:
●
per la connessione ad una rete locale, per esempio con i vostri computer domestici, o al
lavoro: nome host, nome di dominio e indirizzo IP. Se volete impostare la vostra rete
personale, prima meglio leggere qualcosa in più. Al lavoro questa informazione
probabilmente viene assegnata al vostro computer automaticamente al momento dell'avvio.
In caso di dubbi, è meglio non specificare alcuna informazione se non quelle necessarie;
●per la connessione ad Internet: nome utente e password per il vostro ISP, numero di telefono
quando si utilizza un modem. Normalmente il vostro ISP vi attribuisce automaticamente un
indirizzo IP e tutti gli altri dati necessari al funzionamento delle vostre applicazioni Internet.
10.2.2. I file di configurazione di rete
Gli strumenti grafici di aiuto modificano uno specifico insieme dei file di configurazione di rete
utilizzando una coppia di comandi di base. I nomi esatti dei file di configurazione e la loro
posizione nel file system dipendono largamente dalla vostra distribuzione e versione di Linux.
Comunque, una coppia di file di configurazione sono comuni in tutti i sistemi UNIX:
10.2.2.1. /etc/hosts
Il file /etc/hosts contiene sempre l'indirizzo IP localhost, 127.0.0.1, che viene utilizzato per la
comunicazione tra i processi. Non cancellate mai questa linea!. Qualche volta contiene gli indirizzi
di host aggiuntivi che possono essere raggiunti senza utilizzare un servizio esterno di naming come
il DNS (Domain Name Server).
Un semplice file hosts di esempio per una piccola rete domestica:
# Do not remove the following line, or various programs # that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost 192.168.52.10 tux.mylan.com tux
192.168.52.11 winxp.mylan.com winxp
Leggete di più in man hosts.
10.2.2.2. /etc/resolv.conf
Il file /etc/resolv.conf configura l'accesso ad un server DNS (v. Sezione 10.3.7.). Questo
file contiene il vostro nome di dominio ed il nome del (dei) server da contattare:
search mylan.com
nameserver 193.134.20.4
Leggete ulteriormente nella pagina man di resolv.conf.
10.2.2.3. /etc/nsswitch.conf
Il file /etc/nsswitch.conf definisce l'ordine con cui contattare vari servizi dei nomi. Per
l'uso di Internet, è importante che dns appaia nella linea "hosts":
[bob@tux ~] grep hosts /etc/nsswitch.conf hosts: files dns
Questo istruisce il vostro computer a cercare i nomi degli host e gli indirizzi IP prima nel file
/etc/hosts e poi a contattare il server DNS se un certo host non compare nel file locale hosts.
Altri possibili servizi dei nomi da contattare sono LDAP, NIS e NIS+.
Di più in man nsswitch.conf.
10.2.3. I comandi di configurazione delle reti
10.2.3.1. Il comando ip
Gli script specifici delle distribuzioni e gli strumenti grafici sono interfacce a ip (o ifconfig e route
in sistemi più vecchi) per impostare la configurazione di rete del kernel.
Il comando ip viene utilizzato per assegnare indirizzi IP alle interfacce, per impostare gli
instradamenti verso Internet e verso altre reti, per mostrare le configurazioni TCP/IP, ecc...
I seguenti comandi mostrano l'indirizzo IP e le informazioni dell'instradamento:
benny@home benny> ip addr show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 brd 127.255.255.255 scope host lo inet6 ::1/128 scope host
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:50:bf:7e:54:9a brd ff:ff:ff:ff:ff:ff
inet 192.168.42.15/24 brd 192.168.42.255 scope global eth0 inet6 fe80::250:bfff:fe7e:549a/10 scope link
benny@home benny> ip route show 192.168.42.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link
default via 192.168.42.1 dev eth0
Cose da notare:
●Due interfacce di rete, anche in un sistema che ha un'unica scheda di rete: “lo” è il local
loop usato per le comunicazioni interne; “eth0” è un nome comune di una vera interfaccia.
Non cambiate mai la configurazione del local loop, in caso contrario la vostra macchina
incomincerà a funzionare male! Le interfacce senza fili vengono abitualmente definite come
“wlan0”; le interfacce modem come “ppp0”, ma potrebbero pure esserci altri nomi.
●Gli indirizzi IP segnati con “inet”: il local loop ha sempre 127.0.0.1, l'interfaccia fisica può
avere qualsiasi altra combinazione.
●L'indirizzo hardware della vostra interfaccia, che potrebbe essere richiesto come parte della
procedura di autenticazione per la connessione ad un network, viene indicato con “ether”. Il
local loop ha sei paia di tutti zeri, il loop fisico ha sei coppie di caratteri esadecimali di cui i
primi tre sono specifici del produttore.
10.2.3.2. Il comando ifconfig
Mentre ip è il modo più moderno per configurare un sistema Linux, ifconfig è ancora molto
diffuso. Usateli senza opzioni per mostrare le informazioni dell'interfaccia di rete:
els@asus:~$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:70:31:2C:14
inet addr:60.138.67.31 Bcast:66.255.255.255 Mask:255.255.255.192 inet6 addr: fe80::250:70ff:fe31:2c14/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:31977764 errors:0 dropped:0 overruns:0 frame:0 TX packets:51896866 errors:0 dropped:0 overruns:0 carrier:0 collisions:802207 txqueuelen:1000
RX bytes:2806974916 (2.6 GiB) TX bytes:2874632613 (2.6 GiB) Interrupt:11 Base address:0xec00
lo inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:765762 errors:0 dropped:0 overruns:0 frame:0 TX packets:765762 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:624214573 (595.2 MiB) TX bytes:624214573 (595.2 MiB)
Pure qui notiamo gli aspetti più rilevanti della configurazione dell'interfaccia:
●L'indirizzo IP è indicato con “inet addr”.
●
L'indirizzo hardware segue il tag “Hwaddr”.
Sia ifconfig che ip mostrano informazioni più dettagliate sulla configurazione e numerosi dati
statistici circa ciascuna interfaccia e, potrebbe essere maggiormente importante, se quest'ultima è
“UP” e “RUNNING”.
10.2.3.3. I comandi PCMCIA
Nel vostro portatile, che normalmente collegate alla rete aziendale utilizzando la connessione
Ethernet integrata, ma che ora dovete configurare per una connessione telefonica a casa o in
albergo, potreste aver bisogno di attivare la scheda PCMCIA. Ciò si effettua tramite l'utilità di
controllo cardctl o con pccardctl nelle nuove distribuzioni.
Un esempio dell'uso:
cardctl insert
Ora la scheda può essere configurata, sia con l'interfaccia grafica che con quella a linea di comando.
Prima di estrarre la scheda usate questo comando:
cardctl eject
Comunque una buona distribuzione dovrebbe fornire il supporto PCMCIA con gli strumenti di
configurazione della rete, evitando agli utenti di dover eseguire manualmente i comandi PCMCIA.
10.2.3.4. Maggiori informazioni
Dibattere ulteriormente sulla configurazione di rete è al di fuori dello scopo di questo documento.
La vostra fonte primaria di informazioni extra sono le pagine man per i servizi che volete
impostare. Letture addizionali:
●ModemHOWTO : aiuta nella scelta, connessione, configurazione, risoluzione dei problemi
e comprensione dei modem analogici per i PC.
●Indice LDP HOWTO, sezione 4.4 : elenco di HOWTO suddiviso in categorie circa le reti in
generale, i protocolli, le dialup, il DNS, le VPN, il bridging, l'instradamento, la sicurezza ed
altro ancora.
Molti sistemi hanno una versione di file ip-cref (trovatelo utilizzando il comando locate): il
formato PS di questo file è visibile, per esempio, con gv.
10.2.4. Nomi delle interfacce di rete
In una macchina Linux il nome di periferica lo o local loop è collegato con l'indirizzo interno
127.0.0.1. Se non è presente tale periferica, il computer passerà un brutto momento nel far
funzionare le vostre applicazioni: è infatti sempre presente, anche in computer non collegati in rete.
La prima periferica ethernet, eth0 nel caso di una tradizionale scheda di interfaccia di rete punta al
vostro indirizzo locale LAN IP. Le normali macchine clienti hanno soltanto un'unica scheda di rete.
I router, collegando le reti tra di loro, hanno una periferica di rete per ciascuna rete servita.
Se usate un modem per connettervi ad Internet, la vostra periferica di rete probabilmente verrà
chiamata ppp0.
Esistono molti altri nomi, per esempio per le interfacce Virtual Private Network (VPN o rete privata
virtuale), e numerose interfacce possono essere attive contemporaneamente, cosicché l'output dei
comandi ifconfig o ip potrebbe divenire piuttosto esteso quando non vengono utilizzate delle
opzioni. Anche molteplici interfacce dello stesso genere possono essere attive. In tal caso vengono
numerate in sequenza: la prima avrà il numero 0, la seconda un suffisso 1, la terza 2, e così via.
Questo è il caso di molti server di applicazioni, di macchine dotate di configurazione failover, di
router, firewall e molte ancora.
10.2.5. La configurazione del vostro host
A prescindere dal comando ip che mostra la configurazione di rete, c'è il comune comando netstat
che ha molte opzioni ed è generalmente utile in qualsiasi sistema UNIX.
Le informazioni di instradamento possono essere mostrate con l'opzione -nr del comando netstat :
bob:~> netstat −nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.42.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo 0.0.0.0 192.168.42.1 0.0.0.0 UG 40 0 0 eth0
Questa è una tipica macchina cliente in una rete IP: ha solo un'interfaccia di rete, eth0. L'interfaccia
lo è il local loop.
La maniera moderna
La maniera attuale per ottenere queste informazioni dal vostro sistema è di ricorrere al
comando ip:
ip route show
Quando tale macchina tenterà di contattare un host che si trova in una rete diversa dalla sua, indicata
dalla linea iniziante con 0.0.0.0, essa invierà le richieste di connessione alla macchina (router) con
indirizzo IP 192.168.42.1 ed utilizzerà la propria interfaccia primaria eth0 per fare ciò.
Gli host che si trovano sulla stessa rete (la linea iniziante con 192.168.42.0) verranno altresì
contattati attraverso l'interfaccia di rete primaria, ma non sarà necessario un router: i dati saranno
immessi semplicemente in rete.
Le macchine possono avere tabelle di instradamento più complicate di questa, con molte coppie di
“DestinazioneGateway” per connettersi a diverse reti. Se vi capita l'occasione di collegarvi ad un
server di applicazioni (per esempio al lavoro), è piuttosto educativo verificare le informazioni di
instradamento.
10.2.6. Altri host
Un impressionante numero di strumenti è mirato alla gestione delle reti ed all'amministrazione
remota di macchine Linux. Il vostro mirror locale di software Linux ve ne offrirà in abbondanza di
questi. Ci porterebbe troppo lontano trattarli in questo documento, così fate riferimento per favore
alla documentazione specifica del programma.
Parleremo in questa sezione soltanto di alcuni comuni strumenti testuali di UNIX/Linux.
10.2.6.1. Il comando host
Per mostrare le informazioni sugli host o i domini, usate il comando host:
[emmy@pc10 emmy]$ host www.eunet.be www.eunet.be. has address 193.74.208.177
[emmy@pc10 emmy]$ host −t any eunet.be
eunet.be. SOA dns.eunet.be. hostmaster.Belgium.EU.net. 2002021300 28800 7200 604800 86400
eunet.be. mail is handled by 50 pophost.eunet.be. eunet.be. name server ns.EU.net.
eunet.be. name server dns.eunet.be.
Simili informazioni possono essere visualizzate usando il comando dig, che dà nozioni aggiuntive
su come i record vengono registrati nel server dei nomi.
10.2.6.2. Il comando ping
Per controllare se un host è attivo utilizzate ping. Se il vostro sistema è configurato per inviare più
di un pacchetto, interrompete ping con la combinazione di tasti Ctrl + C:
[emmy@pc10 emmy]$ ping a.host.be
PING a.host.be (1.2.8.3) from 80.20.84.26: 56(84) bytes of data. 64 bytes from a.host.be(1.2.8.3):icmp_seq=0 ttl=244 time=99.977msec
a.host.be ping statistics
−−− −−−
1 packets transmitted, 1 packets received, 0% packet loss round trip min/avg/max/mdev = 99.977/99.977/99.977/0.000 ms−
10.2.6.3. Il comando traceroute
Per controllare il percorso seguito dai pacchetti verso un host di rete, usate il comando traceroute:
[emmy@pc10 emmy]$ /usr/sbin/traceroute www.eunet.be
traceroute to www.eunet.be(193.74.208.177),30 hops max,38b packets 1 blob (10.0.0.1) 0.297ms 0.257ms 0.174ms 2 adsl 65.myprovider.be (217.136.111.1)− 12.120ms 13.058ms 13.009ms 3 194.78.255.177 (194.78.255.177) 13.845ms 14.308ms 12.756ms 4 gigabitethernet2 2.intl2.gam.brussels.skynet.be (195.238.2.226)− 13.123ms 13.164ms 12.527ms 5 pecbru2.car.belbone.be (194.78.255.118) 16.336ms 13.889ms 13.028ms
6 ser 2 1 110 ias be vil ar01.kpnbelgium.be (194.119.224.9)− − − − − − − 14.602ms 15.546ms 15.959ms 7 unknown 195 207 939.eunet.be (195.207.93.49)− − − 16.514ms 17.661ms 18.889ms 8 S0 1 0.Leuven.Belgium.EU.net (195.207.129.1)− − 22.714ms 19.193ms 18.432ms 9 dukat.Belgium.EU.net (193.74.208.178) 22.758ms * 25.263ms
In alcuni sistemi traceroute è stato rinominato tracepath.
10.2.6.4. Il comando whois
Si possono richiedere specifiche informazioni sul nome del dominio usando il comando whois,
come viene spiegato da molti server whois, come quello che segue:
[emmy@pc10 emmy]$ whois cnn.com [whois.crsnic.net]
Whois Server Version 1.3
$<−−snap server message−−> Domain Name: CNN.COM
Registrar: NETWORK SOLUTIONS, INC.
Whois Server: whois.networksolutions.com Referral URL: http://www.networksolutions.com Name Server: TWDNS 01.NS.AOL.COM−
Name Server: TWDNS 02.NS.AOL.COM− Name Server: TWDNS 03.NS.AOL.COM− Name Server: TWDNS 04.NS.AOL.COM− Updated Date: 12 mar 2002− −
>>> Last update of whois database: Fri, 5 Apr 2002 05:04:55 EST <<<
The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and Registrars.
[whois.networksolutions.com]
$<−−snap server message−−> Registrant:
Turner Broadcasting (CNN DOM)− 1 CNN Center
Atlanta, GA 30303
Domain Name: CNN.COM Administrative Contact: $<−−snap contactinfo−−> Technical Contact: $<−−snap contactinfo−−> Billing Contact: $<−−snap contactinfo−−>
Record last updated on 12 Mar 2002.− − Record expires on 23 Sep 2009.− − Record created on 22 Sep 1993.− −
Database last updated on 4 Apr 2002 20:10:00 EST.− − Domain servers in listed order:
TWDNS 01.NS.AOL.COM 149.174.213.151− TWDNS 02.NS.AOL.COM 152.163.239.216− TWDNS 03.NS.AOL.COM 205.188.146.88− TWDNS 04.NS.AOL.COM 64.12.147.120−