• Non ci sono risultati.

Configurazioni ed informazioni di rete

Nel documento Introduzione a Linux (pagine 194-200)

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 redhat­config­network, 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: gnome­network­preferences.

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:

Modem­HOWTO   : 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 dial­up, 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 

“Destinazione­Gateway” 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−

Per altri nomi di domini al di fuori di .com, .net, .org e .edu, potreste aver bisogno di specificare il 

server di whois, come in questo caso per i domini .be:

whois domain.be@whois.dns.be

Nel documento Introduzione a Linux (pagine 194-200)