Le funzionalità di rete di Linux sono ricche di possibilità: una stazione
Linux può essere configurata in modo da comportarsi come router, bridge
ecc... Alcune delle possibili opzioni sono descritte di seguito.
Il kernel di Linux ha un supporto integrato per le funzioni di
instradamento (routing). Una stazione Linux può comportarsi come router sia IP che IPX a una
frazione del costo di un router commerciale. I recenti kernel includono
speciali funzioni per macchine configurate per agire principalmente come
router:
- Multicasting: Permette alla macchina Linux di
agire come router per pacchetti IP che hanno diversi indirizzi di
destinazione. Ciò è necessario in MBONE, una rete a larga banda alla base
di Internet che trasporta diffusioni audio e video.
- Regole di routing IP:
Normalmente un router decide cosa fare di un pacchetto ricevuto basandosi
unicamente sull'indirizzo di destinazione finale del pacchetto ma può
anche tener conto dell'indirizzo di provenienza e del dispositivo di rete dal
quale gli è pervenuto il pacchetto.
Ci sono dei progetti che mirano a costruire un router Linux perfettamente
funzionante in un floppy disk: http://www.linuxrouter.orgLinux router project
Il kernel di Linux ha un supporto integrato per agire come un bridge Ethernet,
il che significa che i differenti segmenti Ethernet ai quali è connesso
appariranno come un'unica Ethernet ai partecipanti. Usando l'algoritmo a
misurazione di albero IEEE802.1, molti bridge possono funzionare insieme
per formare reti ancora più estese. Allo stesso modo i bridge Linux
funzioneranno correttamente con altri bridge prodotti da terze parti. Programmi
aggiuntivi permettono il filtraggio basato su indirizzi IP, IPX o MAC.
HOWTO correlati:
- http://metalab.unc.edu/mdw/HOWTO/mini/Bridge+Firewall.htmlBridge+Firewall
- http://metalab.unc.edu/mdw/HOWTO/mini/Bridge.htmlBridge
Il mascheramento-IP è una funzione di rete ancora in sviluppo. Se un
host Linux è connesso a Internet col mascheramento-IP abilitato e altri
computer si connettono a esso (sia dalla stessa LAN sia dall'esterno tramite
modem), questi possono benissimo connettersi ad Internet a loro volta benché
non abbiano indirizzi IP ufficialmente assegnati. Ciò permette una riduzione
dei costi (dal momento che molte persone possono accedere a Internet usando
una singola connessione modem) e contribuisce a incrementare la sicurezza
(in qualche modo la macchina si comporta come un firewall, dal momento che
gli indirizzi non ufficiali assegnati non possono essere raggiunti
dall'esterno della rete).
Pagine e documenti relativi al mascheramento-IP:
- http://ipmasq.home.ml.org/
- http://www.indyramp.com/masq/links.pfhtml
- http://metalab.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html
Con questa opzione del kernel di Linux si può tener traccia del traffico di
rete IP, registrare i pacchetti e produrre delle statistiche. Possono
essere definite una serie di regole in modo che, quando un pacchetto
rispecchia un certo modello venga incrementato un contatore oppure tale
pacchetto sia accettato, rifiutato ecc...
Questa caratteristica del kernel dà la possibilità di assegnare più indirizzi
di rete per lo stesso driver di dispositivo di rete a basso
livello (ad esempio due indirizzi IP per una stessa scheda Ethernet). È
tipicamente usata per quei servizi che si comportano diversamente a seconda
dell'indirizzo che vedono (ad esempio ``multihosting'' o ``virtual domains''
o ``virtual hosting services'').
HOWTO Collegati:
- http://metalab.unc.edu/mdw/HOWTO/mini/IP-Alias.htmlIP Aliasing HOWTO
Il controllore del traffico è un dispositivo di rete virtuale che
rende possibile limitare l'entità del flusso di dati uscente verso
un'altro dispositivo di rete. Questo è utile specialmente in quegli
scenari (come per ISP), nei quali è desiderabile una politica di
controllo circa quanta larghezza di banda è usata da ogni client. Una
differente alternativa (valida solo per i servizi Web) potrebbe essere
l'utilizzo di certi moduli di Apache che pongono restrizioni sul
numero di connessioni IP del client o sulla larghezza di banda usata.
- http://metalab.unc.edu/mdw/HOWTO/NET-3-HOWTO.html#ss6.15
Un firewall è un dispositivo che protegge una rete privata dalla parte
pubblica (l'intera Internet). È disegnato per controllare il flusso dei
pacchetti basandosi sulle informazioni di origine, destinazione, porta e tipo
contenute in ogni pacchetto.
Esistono per Linux diversi programmi per il firewall, oltre al supporto integrato nel kernel, come TIS e SOCKS, che sono
molto completi e, combinati con altri strumenti, permettono il blocco e la
reindirizzazione di ogni tipo di traffico e protocollo. Possono essere
adottate diverse politiche attraveso file di configurazione o programmi a
interfaccia grafica.
- http://www.tis.comTIS home page
- http://www.socks.nec.com/socksfaq.htmlSOCKS
- http://metalab.unc.edu/mdw/HOWTO/Firewall-HOWTO.htmlFirewall HOWTO
Un numero sempre crescente di siti Web stanno diventando interattivi
grazie ai cgi-bin e agli applet Java che accedono a database o ad altri
sevizi. Dal momento che tale accesso potrebbe portare a problemi di
sicurezza, la macchina che contiene il database non dovrebbe essere connessa
direttamente a Internet.
Il re-invio su porta può fornire una soluzione
quasi ideale a questo problema di accesso: sul firewall, i pacchetti IP che
arrivano a uno specifico numero di porta, possono essere riscritti e re-inviati
al server interno che fornisce il servizio attuale. I pacchetti di risposta
provenienti dal server interno sono riscritti in modo da farli apparire come
provenienti dal firewall.
Informazioni sul re-invio su porta possono
essere trovate http://www.ox.compsoc.net/ steve/portforwarding.htmlqui
L'esigenza di avere un bilanciamento del carico sorge di solito per
accessi a Web o a database quando molti client emettono richieste
contemporanee a un server. Sarebbe auspicabile disporre di un certo numero
di server identici e indirizzare le successive richieste a quello di volta
in volta meno carico. Ciò può essere ottenuto attraverso la tecnica di Network
Address Translation (traduzione di indirizzi di rete) (NAT) della quale
il mascheramento IP è un sottoinsieme. Gli amministratori di rete
possono sostituire un singolo server che fornisce servizi Web - o qualsiasi
altra applicazione - con un insieme di server logici che condividono un
indirizzo IP comune. Le connessioni entranti sono dirette verso un server
particolare seguendo un algoritmo di bilanciamento del carico. Il server
virtuale riscrive i pacchetti entranti e uscenti in modo che i client abbiano
un accesso trasparente al server come se ne esistesse uno solo.
Informazioni sull'IP-NAT di Linux possono essere trovate http://www.csn.tu-chemnitz.de/ mha/linux-ip-nat/diplom/qui
EQL è integrato all'interno del kernel Linux. Se esistono due
connessioni seriali verso qualche altro computer (solitamente ciò
richiede la disponibilità di due modem e di due linee telefoniche) e
su di esse sono usati SLIP e PPP (protocolli per l'invio di traffico
Internet su linee telefoniche), usando questo driver è possibile far
sì che queste si comportino come un'unica connessione a velocità
doppia. Ovviamente, dev'essere supportato a entrambi gli estremi
della connessione.
- http://metalab.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.2
Il termine proxy significa ``fare qualcosa per conto di
qualcun'altro''. In termini di networking, un server proxy può agire
per conto di molti client. Un proxy HTTP è una macchina che riceve le
richieste di pagine Web da un'altra macchina (Macchina A). Il proxy
ottiene la pagina richiesta e restituisce il risultato alla Macchina
A. Il proxy può avere una cache con le pagine richieste, cosicché se
un'altra macchina chiede la stessa pagina le viene restituita la copia
in cache. Ciò permette l'uso efficiente delle risorse di banda e
tempi di risposta minori. Come effetto collaterale, poiché le
macchine client non sono direttamente connesse al mondo esterno,
questo è un modo per rendere sicura la rete interna. Un proxy ben
configurato può essere tanto efficiente quanto un buon firewall.
Esistono diversi proxy server per Linux. Una soluzione molto popolare
è il modulo proxy di Apache. Una implementazione più completa e
robusta di proxy HTTP è SQUID.
- http://www.apache.orgApache
- http://squid.nlanr.net/Squid
Lo scopo della composizione su richiesta è quello di far sembrare, in
modo trasparente, che gli utenti abbiano una connessione permanente a un sito
remoto. Di solito c'è un demone che controlla il traffico di pacchetti: quando
ne riceve uno interessante (l'interesse di un paccheto è definito da una
serie di regole, priorità e permessi) stabilisce una connessione col termine
remoto. Quando il canale è inoperoso per un certo periodo di tempo, fa cadere
la connessione.
- http://metalab.unc.edu/mdw/HOWTO/mini/Diald.htmlDiald HOWTO
Il kernel di Linux permette il tunnelling (incapsulamento) di protocolli. Ad
esempio si può incapsulare il protocollo IPX dentro il protocollo IP,
permettendo la connessione di due reti IPX attraverso un collegamento solo
IP. Si può anche fare tunnelling IP-IP, cosa essenziale per il supporto degli
indirizzi IP mobili e della diffusione multipla e per i radioamatori. (Vedere
http://metalab.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.13.)
L'IP mobile introduce miglioramenti nel protocollo che permettono
l'instradamento trasparente di datagrammi IP verso nodi di Internet
mobili. Ogni nodo mobile è sempre identificato attraverso il proprio
indirizzo di base, indipendentemente dal punto di attacco corrente a Internet;
quando si trova lontano da tale base viene associato al nodo anche un
indirizzo di `prossimità', che fornisce l'informazione sul punto di attacco a
Internet corrente. Il protocollo si occupa di registrare l'indirizzo di
prossimità con un home agent. L'home agent invia i datagrammi destinati a un
nodo mobile verso l'indirizzo di prossimità attraverso l'uso di un tunnel,
alla fine del quale, ogni datagramma è consegnato al nodo mobile.
Il Protocollo di Tunneling Punto-Punto (PPTP) è una tecnologia di rete che
permette l'uso di Internet come una rete privata virtuale sicura (VPN). Il PPTP
è integrato nel Servizio di Accesso Remoto (RAS) che fa parte di Windows NT
Server. Col PPTP gli utenti possono connettersi con un ISP locale o
direttamente a Internet e accedere alla propria rete come se si trovassero
sulla propria scrivania. PPTP è un protocollo chiuso e la sua sicurezza è
stata recentemente compromessa. Si raccomanda decisamente di utilizzare
alternative differenti basate su Linux, dal momento che queste si basano
su standard aperti che sono stati attentamente esaminati e testati.
- Una implementazione client del PPTP per Linux è disponibile
http://www.pdos.lcs.mit.edu/ cananian/Projects/PPTP/qui
Mobile IP:
- http://www-uk.hpl.hp.com/people/jt/mip.html
- http://metalab.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.12
Documenti correlati con le reti private virtuali:
- http://metalab.unc.edu/mdw/HOWTO/mini/VPN.html
- http://sites.inka.de/sites/bigred/devel/cipe.html