Mini-guida per l’installazione di
una rete locale
Anno Accademico 2001/2002
Versione 1.13 20020509
Dott. Gianni Verduci “[email protected]”
Maggio, 2002
Indice
1 Situazione di partenza
2
2 Un
2.1
2.2
2.3
2
4
4
5
pó di teoria
Qualche dettaglio . . . . . . . . . . . . . . . . . . . . . . . . . . .
L’aspetto logico . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L’aspetto fisico . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Realizzazione
3.1 La nostra rete . . . . . . . . . . . . . . . . . .
3.2 Configurazione di Unix . . . . . . . . . . . . .
3.2.1 Configurazione di RedHat Linux . . .
3.2.2 Configurazione di Debian GNU/Linux
3.3 Configurazione di windows . . . . . . . . . . .
3.4 Verifichiamo la rete . . . . . . . . . . . . . . .
.
.
.
.
.
.
5
5
6
7
7
8
8
4 Miglioriamo la rete
4.1 Configuriamo un DNS . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Configuriamo SAMBA . . . . . . . . . . . . . . . . . . . . . . . .
9
10
13
5 Conclusioni
15
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sommario
In queste poche pagine cercheremo di presentare la sequenza dei passi
necessari per realizzare una piccola rete locale funzionante utilizzando alcuni dei sistemi operativi con i quali si ha tipicamente a che fare durante
il corso degli studi.
Molte delle nozioni presentate durante le lezioni del corso di Sistemi Operativi verranno date per scontate, altre verranno brevemente accennate per
uniformità della trattazione.
I prerequisiti necessari sono essenzialmente un minimo di conoscenza dei
problemi che si andranno ad affrontare in modo da comprendere il perchè
di determinati passaggi.
L’intenzione è quella di fornire le informazioni necessarie per realizzare una piccola rete locale acquisendo conoscenze che possono essere poi
utilizzate in situazioni ben più complesse.
1
Situazione di partenza
Ci troviamo a dover realizzare una rete locale tra alcune postazioni, nel nostro
caso tre, rappresentate da altrettanti PC. Il collegamento fisico tra le macchine
è realizzato attraverso dei normali cavi di rete (detti categoria 5 e certificati per
una velocità di 100Mbits) ed un hub/switch (un apparato di rete che consente
lo scambio “fisico” delle informazioni tra le schede di rete installate).
Nella nostra simulazione daremo per scontato l’aspetto relativo al cablaggio della rete, che del resto sarà argomento di altri corsi negli anni successivi.
Quanto necessario al nostro scopo riguarda alcune informazioni su come avviene
effettivamente il traffico di rete attraverso un’apparecchiatura.
Tutte le macchine attestate sui nostri dispositivi di rete effettuano comunicazioni attraverso messaggi inviati in broadcast (cioè inviato a tutti) di alcuni
pacchetti necessari a raccogliere le informazioni per stabilire a chi va inviato un
particolare pacchetto.
Una volta raccolte le informazioni relative alle altre postazioni presenti in
rete, ogni sistema operativo è in grado di riconoscere le altre macchine in rete.
2
Un pó di teoria
Allestire una rete richiede la configurazione del software necessario al suo funzionamento: nei diversi sistemi troviamo la possibilità di attivare vari protocolli
di comunicazione. Nonostante i numerosi protocolli di rete disponibili il più utilizzato attualmente, grazie anche al fatto di essere la base portante dell’attuale
rete Internet, è il protocollo TCP/IP.
2
Figura 1: Un esempio di rete locale nel quale abbiamo un router/gateway che
consente alle postazioni della rete di raggiungere l’esterno.
Utilizzato come protocollo di riferimento anche per la realizzazione delle reti aziendali, si tratta di un protocollo molto adatto in reti congestionate nelle
quali è facile che si perdano pacchetti (ovvero frammenti di dati) e, quindi, sono
necessari meccanismi che controllino l’integrità.
Nella configurazione del protocollo TCP/IP di ogni macchina si attribuiscono
alcuni parametri fondamentali per il funzionamento del sistema ed il corretto
riconoscimento della macchina nella rete:
• un indirizzo IP: ovvero una sequenza di 4 byte (quindi con valori tra 0 e
255) separati dal carattere “.” come ad esempio 192.168.0.1;
• netmask di rete: necessario per poter distinguere quale traffico di rete
sia da considerare proprio. Si tratta nuovamente di una sequenza di 4
byte che viene utilizzata con l’indirizzo IP della macchina (viene fatta
un’operazione di “and” logico) per ricavare l’indirizzo della rete della quale
si fa parte. Ad esempio una macchina con IP 192.168.0.23 e netmask
255.255.255.0 avrà rete 192.168.0.0;
• l’indirizzo del gateway: si tratta dell’indirizzo IP1 del dispositivo attraverso il quale è possibile raggiungere le reti esterne a quella di appartenenza.
Può trattarsi di un router, un firewall oppure di un dispositivo connesso
a più reti ed in grado di instradare opportunamente il traffico.
Fornite tali informazioni al sistema si ha la possibilità di “navigare” nella
nostra rete locale e nelle reti esterne. Possiamo dire che queste informazioni
rappresentano il minimo indispensabile per essere in rete.
1 Tipicamente
con l’ultimo byte uguale a .1 o .254
3
2.1
Qualche dettaglio
Vediamo ora alcuni dettagli che consentiranno di comprendere i meccanismi
che vengono “nascosti” dai diversi strati software che costituiscono il protocollo
TCP/IP.
2.2
L’aspetto logico
In primo luogo, bisogna tener presente che non è generalmente possibile utilizzare qualunque valore per i nostri indirizzi IP: è necessario prestare una certa
attenzione soprattutto nel caso sia prevista una successiva evoluzione della nostra rete, considerando la possibilità di collegare tutta la nostra rete ad internet.
Gli indirizzi IP vengono divisi in classi di appartenenza ed in particolare:
• classe A: da 0.0.0.0 a 127.255.255.255, ovvero una rete formata da 16.581.375
indirizzi IP;
• classe B: da 128.0.0.0 a 191.255.255.255, ovvero una rete formata da 65.025
indirizzi IP;
• classe C: da 192.0.0.0 a 223.255.255.255, ovvero una rete formata da 255
indirizzi IP.
L’insieme di indirizzi che vanno da 224.0.0.0 a 239.0.0.0 sono utilizzati per
il traffico multicasting e, quindi, non sono interessanti per i nostri impieghi.
Gli indirizzi IP che rientrano in questi insiemi sono detti pubblici e sono
univocamente assegnati ad una postazione collegata ad internet: tale univocità
garantisce che le nostre connessioni avvengano proprio con il sistema di nostro
interesse.
Tra gli indirizzi pubblici sono riservati alcuni valori, detti “privati”, che
vengono utilizzati proprio per le reti locali non necessariamente connesse ad
internet: nessuna macchina con tali indirizzi è in grado di sfruttare le risorse
pubbliche della rete poichè gli stessi apparati di rete non riconoscono il traffico
eventualmente generato da tali indirizzi IP.
Gli indirizzi IP “privati” sono in particolare:
• per la classe A: da 10.0.0.0 a 10.255.255.255, ovvero una rete formata da
16.581.375 indirizzi IP;
• per la classe B: da 172.16.0.0 a 172.32.255.255, ovvero una rete formata
da 1.040.400 indirizzi IP;
• per la classe C: da 192.168.0.0 a 192.168.255.255, ovvero una rete formata
da 255 indirizzi IP2 .
2 Sarebbe più corretto dire solo 192.168.0.0 poichè si stabilisce la rete che si intende utilizzare
e poi si utilizzano i 255 indirizzi di tale rete. Ad esempio se prendiamo la rete 192.168.15.0
avremo 192.168.15.1, 192.168.15.2, 192.168.15.3, e cosı̀ via.
4
Scelti quali indirizzi utilizzare viene stabilito il valore del netmask: tipicamente viene utilizzato il valore 255.255.255.0, indicato alternativamente con
/24. Se intendiamo, ad esempio, configurare un centinaio di postazioni possiamo
scegliere una rete di classe C con tale netmask: 192.168.1.0/24, oppure volendo
ridurre gli “sprechi” 192.168.1.0/25 che equivale a 192.168.1.0/255.255.255.128.
Con il secondo valore di netmask riduciamo a 127 il numero di host configurabili
nella nostra rete.
2.3
L’aspetto fisico
In secondo luogo, bisogna comprendere che l’“univocità” di un indirizzo IP viene realizzata ai livelli più bassi. Vediamo come in base all’indirizzo fisico, detto
MAC address, Medium Access Controll, si realizza effettivamente la comunicazione. Esso si presenta nella forma “00:50:FC:05:26:1E” ed è univoco tra tutti
i dispositivi di rete prodotti siano essi schede di rete, router, switch od altro.
Quando configuriamo un sistema con un particolare indirizzo IP vengono
fatte, da parte del sistema operativo, degli invii in broadcast3 sulla rete dell’informazione “indirizzo IP = MAC address”. Tale informazione serve a preparare
le tabelle ARP, Address Resolution Protocol che ogni host della rete utilizza per
attivare una connessione con una particolare macchina.
Avendo la possibilità di utilizzare un analizzatore del traffico di rete è possibile vedere tutte le informazioni che vengono fatte circolare e, tra queste, anche
quelle relative all’identificazione degli indirizzi fisici delle macchine collegate.
3
Realizzazione
Passiamo ora alla fase pratica di queste dispense: la realizzazione della nostra
rete locale simulata.
Faremo uso, infatti, di un particolare software che simulerà la presenza di
diversi computer su un unico sistema. Il software in questione è VMWare:
grazie a questo prodotto è possibile simulare un intero personal computer a
partire dalla fase di boot e relativa configurazione del bios, alla definizione di
quali elementi caratterizzino la macchina simulata (numero di harddisk e loro
dimensioni, quantità di memoria, ecc.).
3.1
La nostra rete
Ci proponiamo di realizzare una rete locale costituita da tre postazioni sulle
quali saranno installati sistemi operativi diversi. In particolare windows 95, Debian GNU/Linux e RedHat Linux.
3 Gli apparati di rete sono programmati in modo tale da ricevere messaggi inviati a due soli
indirizzi fisici: il proprio e quello che identifica tutte le postazioni ovvero FF:FF:FF:FF:FF:FF.
Quest’ultimo valore viene utilizzato quando si cerca di contattare un indirizzo IP del quale
non si conosce ancora l’indirizzo MAC.
5
Utilizziamo indirizzi IP della classe C ed in particolare della rete 192.168.1.0/24
attribuendo i seguenti nomi:
Nome
Pippo
Pluto
Paperino
Indirizzo IP
192.168.1.1
192.168.1.2
192.168.1.3
S.O.
RH 7.2
Debian 2.2
Win 95
Tabella 1: Gli hosts della nostra rete.
Il passo da compiere è quello di attribuire gli indirizzi alle rispettive macchine. Per far questo esistono procedure che variano in base al sistema operativo e
al tipo di installazione fatta. In fase di installazione è già possibile fornire tutti
i parametri necessari, ma supponiamo di volerlo fare in un secondo momento.
Vediamo le procedure da seguire in base al sistema operativo da configurare.
3.2
Configurazione di Unix
Le due installazioni linux differisco per alcuni file da modificare e la loro posizione.
In generale un sistema unix racchiude i suoi file di configurazione all’interno
della directory “/etc”: al suo interno troviamo informazioni su tutto il sistema.
Analizziamo prima di tutto i file in comune tra le due distribuzioni:
• /etc/hosts: un semplice elenco contenente indirizzo IP e nome associato
consentendo di ricordare il solo nome alfanumerico di una postazione al
posto dei valori numerici;
127.0.0.1
192.168.1.1
192.168.1.2
192.168.1.3
localhost.localdomain localhost
pippo.labo.it
pippo
pluto.labo.it
pluto
paperino.labo.it
paperino
• /etc/resolv.conf: in tale file vengono impostate le informazioni relative al
dominio internet di appartenenza e gli indirizzi di eventuali server DNS
(Domain Name System):
domain labo.it
nameserver 192.168.1.1
• /etc/host.conf: definisce la sequenza di risorse da interrogare quando si
deve risolvere un indirizzo IP o un nome di un host. Tipicamente viene
data precedenza al file hosts ed in seguito si invia una richiesta al server
DNS;
order hosts,bind
6
• /etc/networks: contiene il nome della rete o delle reti alle quali si è collegati. Non è un file vitale e infatti in RedHat non è presente, ma può
risultare utile gestendo un sistema connesso a più reti.
labo.it 192.168.1.0
Passiamo ora a considerare la configurazione di rete specifica delle distribuzioni utilizzate.
3.2.1
Configurazione di RedHat Linux
Sono possibili almeno due possibilità: una prima si basa sull’uso di “netconf”,
una seconda consiste nella modifica manuale di alcuni file di sistema.
Grazie a “netconf” tutta la configurazione avviene in modo guidato: vengono richieste via via le informazioni necessarie per impostare correttamente la
scheda di rete insieme ad eventuali valori di gateway, DNS, ecc..
Nel caso si decida di intervenire direttamente sui file di sistema è necessario entrare nella directory “/etc/sysconfig” e verificare che il file “network”
contenga:
NETWORKING=yes
HOSTNAME=pippo.labo.it
A questo punto è necessario spostarsi in “/etc/sysconfig/network-scripts” e
verificare i valori contenuti in “ifcfg-eth0”:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
Attraverso le diverse voci vengono definite: il nome dell’interfaccia (DEVICE), il valore dell’indirizzo IP (IPADDR) e del netmask di rete (NETMASK).
3.2.2
Configurazione di Debian GNU/Linux
Nel sistema Debian la configurazione di tutte le interfacce viene realizzata
attraverso il file “/etc/network/interfaces”:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
iface lo inet loopback
# The first network card - this entry was created during the Debian
# installation (network, broadcast and gateway are optional)
iface eth0 inet static
address 192.168.1.2
7
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Le voci contenute in tale file sono analoghe e quelle che troviamo nei file di
un sistema RedHat.
3.3
Configurazione di windows
Nel caso di windows possiamo intervenire unicamente attraverso schermate grafiche: Start - Pannello di controllo - Rete. Visualizzare quindi le proprietà del
protocollo TCPIP4 , modificare i valori nelle cartelle “Indirizzo IP” e “DNS” in
base alle necessità5 .
Anche in ambiente windows esiste il file “hosts”. In realtà l’installazione
dei protocolli di rete fa comparire il file “hosts.sam” ovvero un file d’esempio che può essere utilizzato come template per la versione definitiva. La
sua collocazione varia in funzione della versione di windows: “\windows” o
“\winnt\system32\drivers\etc”.
3.4
Verifichiamo la rete
Impostate correttamente le configurazioni delle tre macchine è ora possibile verificare che si “vedano” attraverso la rete. Per far questo possiamo utilizzare il
programma più conosciuto per eseguire questo tipo di test: il programma “ping”.
Da ogni postazione possiamo provare ad eseguire:
[utente@host utente]$ ping <IP della macchina da testare>
Se la macchina che cerchiamo di contattare e quella dalla quale lanciamo
il “ping” sono correttamente collegate dal punto di vista fisico, il software di
rete è correttamente configurato su entrambe e non ci sono ulteriori problemi di
comunicazione, riceveremo una risposta dalla postazione destinataria dei pacchetti generati dal ping.
Ripetendo questa verifica per ogni sistema avremo la certezza che la rete sia
funzionante e che ogni macchina sia in grado di raggiungere le altre.
Durante questi test oltre a verificare la corretta configurazione dei sistemi
stiamo, in realtà, anche riempendo le loro tabelle arp. Se, infatti, andassimo a
controllare il traffico di rete troveremmo messaggi del tipo:
11:03:23.447122 arp who-has paperino.labo.it tell paperino.labo.it
11:03:23.490414 arp who-has pippo.labo.it tell pluto.labo.it
4 Nel caso non sia presente è necessario aggiungerlo usando il tasto “Aggiungi”, protocolli,
Microsoft, TCPIP.
5 In base alla versione di windows le finestre possono avere nomi diversi o con diverse
sequenze di menù.
8
11:03:23.495068
11:03:27.797398
11:03:27.797917
11:03:53.191396
11:03:53.191477
11:03:57.911651
11:03:57.913766
11:05:05.416764
11:05:05.420030
4
arp
arp
arp
arp
arp
arp
arp
arp
arp
reply pippo.labo.it is-at 0:50:56:5d:0:51
who-has pluto.labo.it tell pippo.labo.it
reply pluto.labo.it is-at 0:50:56:5d:0:68
who-has pippo.labo.it tell paperino.labo.it
reply pippo.labo.it is-at 0:50:56:5d:0:51
who-has paperino.labo.it tell pippo.labo.it
reply paperino.labo.it is-at 0:50:56:5d:0:40
who-has pippo.labo.it tell pluto.labo.it
reply pippo.labo.it is-at 0:50:56:5d:0:51
Miglioriamo la rete
Con quanto illustrato si è in grado di mettere in rete una postazione a prescindere dal sistema operativo: noti i valori per la configurazione specifica della
rete utilizzata si tratta solo di impostare correttamente alcuni file o maschere
di sistema.
Tuttavia, essere costretti ad utilizzare gli indirizzi numerici non può certo
dirsi comodo soprattutto se si deve spesso far uso delle macchine in rete. Per
risolvere questo problema è stato utilizzato inizialmente il file “/etc/hosts”: agli
inizi dello sviluppo di Internet veniva mantenuto un unico file periodicamente
copiato su tutte le postazioni collegate in rete.
In ambito di piccole reti locali si rivela una soluzione di veloce e facile gestione fino a che il numero di hosts da gestire rimane nell’ordine di qualche decina
di unità. Nel nostro caso sono sufficienti quattro righe per fare ciò.
Un sistema cosı̀ gestito si rivelò presto insostenibile e portò alla realizzazione
del sistema DNS. Si tratta di un sistema decentralizzato e gerarchico con una
struttura ad albero: ció ha reso possibile la suddivisione della rete in domini
e sotto domini, consentendo di delegare ai diversi responsabili la gestione degli
elenchi di propria competenza.
Possiamo, quindi, aumentare il valore della nostra rete configurando un DNS
per essa, semplificando da subito la gestione di eventuali nuovi host.
La macchina sulla quale configureremo tale sistema sarà “pippo” ed il server
DNS sarà realizzato con il pacchetto Bind, universalmente riconosciuto come “Il
server DNS”.
Un’altra funzionalità utile, soprattutto per la postazione windows, è la possibilità di “vedere” una postazione unix e i suoi dischi condivisi: in pratica vedere
una postazione unix navigando tra le risorse di rete di windows. Per questo
esiste il pacchetto SAMBA che implementa le stesse funzionalità di rete di una
postazione windows consentendo di emulare anche un server windows NT/2000.
9
4.1
Configuriamo un DNS
La configurazione del DNS avviene attraverso alcuni file. Il principale si trova
in “/etc” con il nome di “named.conf”. In tale file sono presenti le direttive
principali del sistema e le indicazioni su dove trovare le informazioni circa le
“zone”6 che saranno gestite.
Ecco il file “named.conf” per il nostro esempio dove il nome del dominio sarà
“labo.it”:
_______________________________________________________________
options {
directory "/var/named";
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
// info rete labo.it
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1168192.rev";
};
zone "labo.it" IN {
6 Con
tale termine si intende l’elenco che contiene le associazioni dei nomi agli indirizzi
IP per un dato dominio o sottodominio. È possibile utilizzare uno o più file di zona organizzando in modo opportuno gli hosts da gestire. È ovviamente necessario specificare, nella
configurazione del DNS, quanti e quali file considerare per la definizione della propria area di
competenza.
10
type master;
file "laboit.soa";
notify no;
};
include "/etc/rndc.key";
_______________________________________________________________
Utilizzando le direttive necessarie per personalizzare il comportamento del
nostro server vengono definite le directory di lavoro, “/var/named”, dove ricercare i file di zona, direttiva “zone ... IN”, il tipo di DNS che si va a configurare
per ogni zona, direttiva “type master”.
Questo perchè stiamo configurando unicamente un server DNS primario. Se
volessimo attivare anche un servizio di backup per un dominio, ad esempio,
“labo.com” dovremmo aggiungere le seguenti righe:
_______________________________________________________________
zone "labo.com" IN {
type slave;
file "labocom.soa";
masters { 12.68.6.1; };
};
_______________________________________________________________
Con queste direttive il nostro server DNS si collegherà a quello primario del
dominio “labo.com” e creerà il file “labocom.soa”7 inserendovi tutte le informazioni che gli saranno inviati dal DNS.
Le prime tre zone consentono il funzionamento base di un server DNS in grado di svolgere “caching”: ogni volta che una richiesta raggiunge il server DNS
la risposta viene registrata in un’apposita cache in modo tale da risparmiare
tempo e banda per nuove richieste analoghe.
In particolare le zone “localhost” e “0.0.127.in-addr.arpa” definiscono le informazioni relative all’interfaccia di loopback8 , mentre la zona “.” definisce la
radice dell’intero sistema DNS. Nel file “named.ca” sono infatti elencati i root
name servers mondiali, ovvero i DNS che si trovano al di sopra di ogni altro
server di dominio.
Passando quindi ai file per la risoluzione diretta e inversa dei nomi è sufficiente compilarli in modo simile a quanto viene fatto per il file “hosts” oltre,
ovviamente, ad alcune differenze dovute alla presenza delle direttive necessarie
per il server DNS.
7 La scelta delle estensioni dei file “.soa” e “.rev” è a discrezione del gestore del server come
anche la disposizione e struttura dei file di zona utilizzati. In particolare “.soa” indica “Star
Of Authority”, in quanto server primario, “.rev” poichè relativo alla risoluzione inversa.
8 Un’interfaccia fittizia, alla quale viene attribuito indirizzo IP 127.0.0.1, utilizzata per fare
riferimento alla macchina locale. In tal modo è possibile utilizzare software di rete anche senza
essere provvisti di una scheda di rete reale.
11
Compilati in base alle nostre esigenze, è necessario far partire in server e
impostare, nelle macchine della rete, il nuovo valore del server DNS.
Ecco il file relativo alla risoluzione diretta, da nome ad indirizzo IP:
_______________________________________________________________
; laboit.soa risoluzione diretta
$TTL
86400
@
IN SOA @ ns.labo.it. (
2002033000 ; serial (d. adams)
3H
; refresh
15
; retry
1W
; expiry
1D )
; minimum
;
NS ns
pippo
A
192.168.1.1
ns
CNAME
pippo
pluto
A
192.168.1.2
paperino
A
192.168.1.3
_______________________________________________________________
E quello relativo alla risoluzione inversa, da indirizzo IP ad nome:
_______________________________________________________________
; 1168192.rev risoluzione inversa
$TTL
86400
@
IN
SOA
ns.labo.it. root.labo.it. (
2002033000 ; Serial
28800
; Refresh
14400
; Retry
3600000
; Expire
86400 )
; Minimum
IN
NS
ns.labo.it.
1
IN
PTR
pippo.labo.it.
2
IN
PTR
pluto.labo.it.
3
IN
PTR
paperino.labo.it.
______________________________________________________________
In entrambi vengono indicati i valori che possiamo ritrovare nel file hosts, ma
anche valori relativi ai tempi di validità delle informazioni fornite e il numero
di serie della particolare configurazione.
In particolare con i valori di TTL, Serial, Refresh, Retry, Expire, Minimum
andiamo a definire i tempi che devono essere considerati accettabili per la durata di una richiesta gestita dal server, eventuali timeout per l’attesa di risposte
da altri server e soprattutto il numero di versione del file di configurazione della
zona.
12
Il valore del campo Serial viene infatti utilizzatto nella comunicazione con i
server secondari per stabilire la presenza di eventuali aggiornamenti ed attivare
eventuali trasferimenti per il nuovo file di zona.
Infine, nella definizione degli host della rete, troviamo le direttive “A” e “IN
PTR” per legare i valori degli indirizzi IP con i nomi degli host e la direttiva
“CNAME” per definire ulteriori nomi, detti alias, associati ad un indirizzo IP.
Nel caso specifico l’indirizzo 192.168.1.1 è raggiungibile con i nomi “pippo” e
“ns”.
Per far partire il servizio è quindi necessario lanciare da root il comando:
“/etc/init.d/named restart”, oppure “service named restart” sotto RedHat Linux.
Per maggiori informazioni consiglio di leggere la documentazione fornita con
il pacchetto Bind e il DNS-HOWTO.
4.2
Configuriamo SAMBA
Una volta “messe in rete” le macchine, queste sono in grado di “vedersi” attraverso i normali tool come “ping”, “traceroute” o “tracert”. Utilizzando un
sistema windows può quindi sembrare naturale trovare tra le risorse di rete tutte
le macchine della nosta rete siano esse windows che unix.
In realtà i meccanismi che stanno dietro alle “Risorse di rete” è ben più
complesso e per questo motivo è stato sviluppato il progetto SAMBA: consente di mostrare postazioni unix a macchine windows, di condividerne dischi e
stampanti, di emulare un server windows NT/2000 per la gestione delle Home
Directory e dell’autenticazione.
Nel nostro caso ci limiteremo al suo utilizzo per far “vedere” la macchina
pippo tra le risorse di rete e accedere alla home directory dell’utente “test”.
Il file di configurazione di SAMBA si trova in “/etc/samba/smb.conf”:
_______________________________________________________________
# Samba config file created using SWAT
# from paperino.labo.it (192.168.1.3)
# Date: 2002/03/30 19:57:15
# Global parameters
[global]
workgroup = DISI
server string = Samba Server
encrypt passwords = Yes
printing = lprng
[homes]
comment = Home Directories
read only = No
13
create mask = 0664
directory mask = 0775
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
_______________________________________________________________
Dalle prime righe possiamo leggere data di creazione e la macchina dalla
quale è stato configurato. In questo caso tale configurazione è stata ottenuta
utilizzando SWAT un tool via web che consente di configurare un server SAMBA attraverso la rete ed un browser internet.
In particolare vengono mostrate le variabili di base per definire il workgroup
di appartenenza9 , l’utilizzo di password criptate e la definizione di due share10
di default “[homes]” e “[printers]”.
La suddivisione in sezioni consente di gestire al meglio le funzionalità che si
intendono offrire. La sezione “global” è obbligatoria in quanto definisce il tipo
di server SAMBA che si va a configurare: possiamo definire la configurazione di
un semplice workgroup o di un dominio con le relative funzionalità di autenticazione degli utenti.
Le altre sezioni possibili sono presenti in base a quanto indicato nella sezione
“global”. Nel caso più semplice si condivide lo spazio relativo alle Home Directory degli utenti attraverso lo share “homes”, possiamo di conseguenza definire
le politiche di accesso a tale area impostando in modo opportuno i valori indicati, insieme alle stampanti presenti sul server con lo share “printers”.
Per far partire il servizio è quindi necessario lanciare da root il comando:
“/etc/init.d/smb restart”, oppure “service smb restart” sotto RedHat Linux.
Una volta attivato SAMBA è necessario creare l’account sia dal punto di
vista del sistema sia dal punto di vista degli utenti riconosciuti dal servizio. È
quindi necessario eseguire i seguenti comandi: “adduser test”11 , con il quale
aggiungiamo l’utente test tra gli utenti riconosciuti dal sistema, “smbpasswd -a
test”, con il quale aggiungiamo l’utente test tra gli utenti riconosciuti da SAMBA.
A questo punto l’utente disporrà di un account funzionante per l’accesso
al sistema e che consentirà all’utente test del sistema windows di accedere alla
9 Quando si realizza una rete tra postazioni windows è necessario definire un gruppo di
lavoro, oppure un dominio di appartenenza, all’interno del quale racchiudere le macchine.
10 Si parla in generale di servizi offerti: autenticazione, condivisione di stampanti e spazi
disco. Nel caso delle home degli utenti si parla più semplicemente di share.
11 In realtà, a seconda della distribuzione utilizzata, questo comando assegna anche una
password o lascia bloccato l’account fino a che non ne viene impostata una valida. In RedHat,
ad esempio, è necessario creare l’account e poi fornire una password con il comando “passwd
test”.
14
propria home sul server linux.
Anche in questo caso consiglio di leggere la documentazione fornita con il
pacchetto e di visitare il sito del progetto “samba.org”.
5
Conclusioni
Con queste poche pagine non si può sperare di raccogliere tutte le informazioni
tipicamente necessarie per configurare e mantenere una rete locale: non basta
assegnare degli indirizzi IP coerenti e collegare tra loro le macchine, ma è necessario attivare alcuni servizi che rendano effettivamente utile l’adozione di una
tecnologia di rete.
In genere si ricorre a una rete per condividere risorse come dischi, stampanti, scanner, ma il tutto deve essere organizzato con un minimo di criterio per
evitare di trovarsi in una situazione più scomoda della precedente.
Non ho la pretesa di aver spiegato le cose nel modo migliore e più chiaro possibile: per questo motivo ogni feedback è ben accetto per migliorare/integrare
quanto presentato in modo che si traduca in qualcosa di veramente utile, anche
se limitato.
Buon Lavoro!!!
15
Scarica

Lezione