Linux per condividere l’accesso a Internet
How To Install Linux Server As A Router With Ip Filtring And Vpn
: Vedi PDF - Vedi DOC
Con una sola connessione si può navigare da più postazioni differenti; basta un vecchio PC come gateway per una piccola rete locale
 

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.