|
Spesso si sente definire
Linux come sistema operativo dedicato ai server per Internet e
in effetti questa è una delle applicazioni in cui maggiormente
se ne apprezzano potenza e affidabilità, soprattutto a confronto
con i ben più costosi sistemi Unix o Windows. Però pochi sanno
che anche lo studio professionale, il piccolo gruppo di lavoro
e persino l'utente domestico possono beneficiare di un server
Linux in una piccola rete locale, principalmente come sistema
per scambiare file e gestire in comune stampanti, ma soprattutto
per condividere l'accesso a Internet. Si pensi per esempio ad
uno studio tecnico in cui sono presenti già alcune workstation
oppure a un negozio o anche a una normale abitazione, in cui si
dispone di un paio di desktop e magari di un portatile. In tutti
questi casi potrebbe essere utile collegare tra loro i vari computer,
sia per scambiare documenti e per condividere periferiche sia
per navigare in Internet da ogni postazione.
Accesso singolo o via LAN?
Va
sottolineata a questo punto la differenza tra l'accesso a Internet
condiviso e quello multiplo tramite LAN. Nel primo caso si stipula
col proprio provider un normale contratto di accesso a Internet
per un computer singolo, mentre nel secondo caso si richiede l'accesso
per un gruppo di computer, a ciascuno dei quali viene solitamente
assegnato un indirizzo IP che lo identifica su Internet. Visivamente
si può immaginare il singolo accesso come un bocchettone a cui
è collegato un solo computer, mentre quello via LAN come una serie
di diramazioni che escono dal canale principale per raggiungere
le varie postazioni. Quest'ultimo modello è tipicamente utilizzato
dalle aziende che dispongono di una rete locale di dimensioni
medio grandi ed è decisamente più costoso dell'accesso singolo,
ragione per cui è generalmente improponibile per i piccoli gruppi
di lavoro. Ma grazie allo stratagemma della condivisione dell'accesso,
resa possibile dalla tecnologia dell'IP Masquerading (mascheratura
dell'indirizzo), è possibile fare in modo che più computer accedano
simultaneamente a Internet sfruttando un normale accesso con un
singolo indirizzo IP. Riprendendo l'esempio precedente, è come
se un unico bocchettone di accesso fosse collegato ad un singolo
computer, a sua volta collegato ad un gruppo di computer a cui
fa da tramite verso il canale principale. Di fatto l'accesso viene
effettuato da una sola macchina, quella collegata al bocchettone,
anche se poi le informazioni vengono da questa inoltrate verso
altre postazioni “invisibili” alla Rete. In questo modo non si
è costretti a pagare al proprio provider il costo di un contratto
per l'accesso via LAN.
Condividere conviene con ADSL
Ma come è facile immaginare la condivisione dell'accesso è realmente
vantaggiosa solo se si dispone di un canale veloce, prevalentemente
ADSL, altrimenti la navigazione attraverso un singolo accesso
via modem risulta tanto più lenta quanto più elevato è il numero
di computer che condividono il canale. In questo modo si crea
una cosiddetta VPN (Virtual private network), all'interno della
quale ogni computer dispone di un proprio indirizzo che lo differenzia
dagli altri PC della rete locale ma che non ha alcun legame con
gli indirizzi dei computer di altre reti o di Internet. Quindi
questa rete virtuale è di fatto separata da Internet, con cui
è collegata solo indirettamente attraverso il singolo PC connesso
al bocchettone di accesso, chiamato per questo motivo gateway,
che significa appunto “porta” o “entrata”. Va ricordato a questo
punto che la comunicazione da e verso Internet avviene attraverso
lo scambio di pacchetti di dati tra un client e un server. Ogni
pacchetto scambiato contiene oltre all'informazione vera e propria
anche l'indirizzo del mittente e quello del destinatario. Il compito
del gateway è dunque quello di mascherare gli indirizzi dei client
della rete virtuale a cui appartiene sostituendoli col proprio
indirizzo, visto che questo è l'unico riconosciuto da Internet.
E mentre fa ciò il gateway deve sempre tenere traccia di tutti
i pacchetti e degli indirizzi dei vari client, in quanto successivamente
dovrà smistare opportunamente le informazioni restituite dai server.
Insomma si tratta di una specie di porta intelligente che non
solo mette in comunicazione due ambienti separati ma che sa anche
instradare tutto ciò che vi passa attraverso.
Con Linux gateway fai-da-te...
Qui entra in gioco Linux, come sistema per realizzare un gateway
a costo quasi nullo con tanto di funzioni firewall per prevenire
gli attacchi alla rete locale da eventuali intrusi esterni. E
per allestire un gateway basta un vecchio computer, persino un
486 riesumato dalla cantina, un hub e qualche cavo di rete. Tutte
le funzioni per la gestione degli indirizzi e l'instradamento
dei pacchetti all'interno delle rete locale, oltre naturalmente
alle comunicazioni da e verso Internet, sono integrate in Linux.
Per realizzare un vero e proprio gateway Linux, quindi, dopo avere
collegato tutti i PC all'hub per mezzo di cavi Rj45 non incrociati,
basta configurare la rete utilizzando il protocollo TCP/IP su
ciascun client (ovviamente dotato di scheda Ethernet). Si passa
quindi a configurare l'accesso a Internet sulla macchina Linux
con i parametri forniti dal proprio provider, per concludere attivando
il firewall e la funzione IP Masquerading. La procedura è spiegata
nelle pagine successive. Il server è così pronto e non resta che
configurare i vari client. L'assegnazione degli indirizzi IP ai
client può essere effettuata manualmente in fase di installazione
oppure in modo automatico dal server ad ogni avvio del sistema
tramite la funzione DHCP (Dynamic host configuration protocol).
In ogni caso si tratta di indirizzi virtuali, cioè relativi unicamente
alla propria rete. Solo il server dispone di un secondo indirizzo
IP, questo sì reale perchè abbinato all'accesso a Internet. Ed
è proprio questo indirizzo che va riportato nella configurazione
TCP/IP di tutti i client alla voce gateway. Alle voci DNS, vanno
riportati gli indirizzi dei Domain Name Server del proprio provider.
...mentre Windows XP fa-da-sè
Una
soluzione simile è offerta anche da Windows e si chiama semplicemente
condivisione dell'accesso a Internet. Con Windows XP, a dire il
vero, è tutto più facile rispetto a Linux: dopo avere fisicamente
installato la rete, collegando server e client all'hub, e dopo
avere configurato l'accesso a Internet sul server, non resta altro
da fare che lanciare dal Pannello di Controllo una procedura automatica
prima sul server e poi su ogni client. Non c'è niente altro da
fare e tutto avviene in pochi minuti senza che si debba nemmeno
sapere che cosa sia un gateway. Il rovescio della medaglia, oltre
al costo di Windows XP (che è comunque superiore a quello di Linux
se non lo si possiede già), è che questo sistema funziona solo
in una rete Microsoft. Con Linux, invece, qualunque client può
essere collegato al gateway, sia esso Linux, Windows, Unix o Macintosh.
Inoltre Windows XP richiede un computer piuttosto potente per
funzionare a dovere, potenza che probabilmente risulta sprecata
se viene utilizzata solo per gestire le funzioni di gateway. Infine
Windows XP offre un firewall dalle funzioni di protezione basilari,
mentre quello di Linux ha un'impostazione molto più professionale
seppur più complicata. Come sempre si scontrano due filosofie,
quella della semplicità a pagamento di Microsoft e quella della
potenza gratuita ma complessa di Linux.
Tutto quello che serve per costruire una
rete locale
L'hardware
necessario per realizzare una rete locale in cui condividere un
singolo accesso a Internet dipende dal metodo che si vuole utilizzare
per attuare la condivisione. Se si decide di usare Linux per dedicare
un PC esclusivamente alla funzione di gateway è più che sufficiente
un vecchio computer, anche un glorioso 486, per svolgere al meglio
questo compito. Se invece si opta per la condivisione dell'accesso
di Windows XP, allora è necessario un computer piuttosto potente,
preferibilmente di nuova generazione, ma in questo caso il PC
potrà essere utilizzato anche per altre operazioni e non solo
come gateway. Ma c'è una terza via, quella del gateway hardware,
cioè un vero e proprio dispositivo a se stante e non un software
funzionante su un server.
Le funzioni del router
Tecnicamente questo oggetto si chiama router, cioè “instradatore”,
e svolge da solo tutte le funzioni del gateway e del firewall.
Un vantaggio innegabile di questa soluzione è il fatto di poter
godere della condivisione dell'accesso a Internet senza l'obbligo
di tenere sempre acceso e collegato il server utilizzato come
gateway. Il lato negativo è che viene richiesta una spesa addizionale
per l'acquisto del router. In ogni caso sarà necessario che tutti
i computer della LAN dispongano di una scheda di rete Ethernet.
Poi servirà un dispositivo esterno chiamato hub (se non integrato
già nel router) a cui andranno collegati il gateway e tutti i
client tramite cavi Rj45 non incrociati. In questo modo si realizza
la connessione fisica tra tutti i componenti della LAN. Rimane
da collegare a Internet la rete locale e ciò si fa connettendo
il gateway, che può quindi essere il server Linux, il server Windows
XP oppure il router, al punto di accesso di cui si dispone. Si
suppone in questo caso di avere a disposizione una connessione
ADSL, anche perchè con accessi più lenti (modem o ISDN) la condivisione
risulterebbe piuttosto penalizzata dalla già scarsa velocità del
canale ulteriormente suddivisa tra i vari client. Se come gateway
si è decisio di usare un router, allora bisogna acquistarne uno
dotato di modem ADSL integrato. Spesso, inoltre, in questi modelli
sono già presenti le porte per collegare i client che rendono
di fatto inutile l'utilizzo di un hub esterno. Se invece si è
scelta la soluzione del gateway Linux o Windows XP, allora bisogna
distinguere due casi: se si dispone di un modem ADSL con interfaccia
Ethernet oppure di un modello interno o con interfaccia USB. Nel
primo caso sarà necessario che nel server sia presente una seconda
scheda di rete destinata al collegamento del modem, mentre nel
secondo caso la scheda Ethernet addizionale non sarà richiesta.
Si completa così l'installazione fisica della rete locale e rimane
da impostare la configurazione logica dei vari componenti.
La procedura di configurazione
Nel
caso di server e client tutti funzionanti con Windows XP penserà
a tutto il sistema operativo con una procedura guidata, mentre
nel caso di gateway Linux bisognerà configurare in modo opportuno
tutti i paramentri di server e client (i dettagli nella parte
pratica delle pagine seguenti). Anche nel caso in cui si utilizzi
un router bisognerà seguire una procedura di configurazione manuale,
solitamente eseguita via telnet oppure tramite browser Web. In
tutti i casi precedenti, quindi con Linux, con Windows XP o con
un router, la configurazione dei vari client può avvenire tramite
DHCP (Dynamic host configuration protocol), un servizio residente
su un apposito server della LAN che assegna automaticamente ai
client tutti gli indirizzi necessari per il corretto funzionamento
della rete.
Il pinguino fa da gateway: accedere a Internet
da Linux
La
funzione di gateway integrata in Linux insieme alla protezione
avanzata del suo firewall rendono questo sistema operativo ideale
per trasformare anche un vecchio computer in un vero e proprio
gateway per condividere un singolo accesso a Internet tra numerosi
computer all'interno di una rete locale. Dopo avere completato
l'installazione fisica della rete come illustrato nelle pagine
precedenti, si deve procedere alla configurazione logica della
LAN installando su ogni client il protocollo TCP/IP e assegnando
opportunamente gli indirizzi IP a ogni computer (la stessa procedura
vale per la configurazione dei client anche nel caso si utilizzi
come gateway un router). Va notato a questo punto che gli indirizzi
dei vari computer che formano la rete locale sono virtuali, cioè
sono riconosciuti unicamente all'interno della LAN e non al suo
esterno. Un indirizzo IP virtuale, quindi, non ha valore come
indirizzo fisico su Internet ma solo entro i confini della rete
locale. Solitamente si utilizzano gli indirizzi che vanno da 192.168.0.1
fino a 192.168.0.255. Il primo indirizzo viene normalmente attribuito
al gateway, sia esso il server Linux o un router, mentre i successivi
vengono assegnati ai vari client, magari lasciando liberi i primi
dieci per eventuali esigenze future (per esempio altri server
o stampanti di rete). In questo modo all'interno della rete privata
virtuale si trova il gateway con indirizzo 192.168.0.1 e i client
con indirizzi a partire da 192.168.0.11. Il gateway, inoltre,
dispone di un secondo indirizzo Ip: questo però è di tipo reale,
in quanto è relativo alla connessione a Internet ed è assegnato
dal provider che fornisce l'accesso. Sarà questo l'indirizzo che
comparirà all'esterno della Lan tutte le volte che un client effettuerà
una richiesta verso un server Internet, in quanto il gateway si
occupa proprio di mascherare l'indirizzo del client della rete
locale attraverso la tecnica dell'IP Masquerading. Nella configurazione
TCP/IP del gateway, quindi, saranno presenti due indirizzi IP,
uno relativo alla rete locale (192.168.0.1) e uno fornito dal
proprio provider relativo alla posizione del gateway stesso su
Internet (per esempio 213.215.111.111). Infine, sia nella configurazione
del gateway sia in quelle dei vari client, vanno specificati gli
indirizzi dei server DNS primario e secondario, anche questi forniti
dal proprio Intenet provider, che identificano i server dei nomi
di dominio necessari per navigare sul Web. Mentre il gateway va
sempre configurato a mano dall'amministratore della rete, tutte
queste impostazioni possono essere evitate dal lato client se
nella rete locale si attiva un server DHCP (Dynamic host configuration
protocol). In questo caso è sufficiente impostare nel server tutte
le informazioni relative alla rete locale (il proprio indirizzo
e l'intervallo di indirizzi disponibili) e configurare i client
in modo che ottengano automaticamente tutte le informazioni dal
servizio DHCP, che può risiedere sullo stesso server Linux che
funge da gateway oppure su un altro computer. La funzione vera
e propria di gateway, (la già citata) Ip Masquerading, si attiva
in Linux semplicemente avviando il firewall, non prima di averne
opportunamente configurato i parametri di funzionamento. Ciò avviene
in modo diverso in base al software che si utilizza: uno dei firewall
più diffusi è gShield, disponibile per il download all'indirizzo
http://muse.linuxmafia.org.
La configurazione del lato server e client
1 Prima di avviare
il firewall bisogna modificare il relativo file di configurazione.
Per farlo si può utilizzare l'utility gShieldConf per il setup
da interfaccia grafica. Per attivare la condivisione dell'accesso
bisogna selezionare la voce IP Masquerading quindi lanciare lo
script /etc/firewall/gShield.rc per iniziare a condividere la
connessione a Internet con i client.
2 Per utilizzare da
un qualunque client l'accesso a Internet condiviso tramite un
gateway Linux bisogna configurare opportunamente le proprietà
TCP/IP del client stesso. Nell'esempio la connessione alla LAN
di un client Windows XP attraverso il Pannello di Controllo.
3 In questo caso
il client è Windows XP e offre i driver per l'accesso alle reti
Microsoft. Ma se nella rete locale si usa solo il protocollo TCP/IP
per condividere la connessione a Internet col gateway Linux allora
si possono ignorare le altre voci e impostare solo i parametri
TCP/IP.
4 La configurazione
degli indirizzi IP può essere impostata in modo automatico se
nella rete è presente un server DHCP. Altrimenti si devono impostare
a mano l'indirizzo Ip del client, del gateway e dei server DNS
primario e secondario.
|