Il Mascheramento di IP è una funzione di rete in Linux simile alla funzione uno-a-molti NAT (Network Address Translation), che si può trovare in diversi firewalls and network routers commerciali.
Ad esempio, se un host Linux è connesso a internet via PPP, Ethernet, etc., la capacità di Mascheramento di IP permette ad anche altri computers, 'interni' e collegati a questa macchina Linux, (via PPP, Ethernet, etc.) di entrare in rete internet. Il Mascherameto IP di Linux offre questa possibilità anche a macchine a cui non è stato assegnato ufficialmente una indirizzo IP.
IP-Masq permette ad un intero insieme di macchine di avere accesso simultaneo alla rete in modo invisibile, per mezzo del gateway di Mascheramento. Tutto il traffico in uscita appare alle altre macchine che si trovano in internet come proveniente dal solo Masq server linux.
Inoltre il Mascheramento di IP di linux fornisce la base per creare un ambiente di accesso a internet MOLTO sicuro. Diventa molto difficile infrangere le misure di protezione di un sistema Mascherato ben configurato, se è protetto da un firewall.
Sono ormai diversi anni che le funzioni di mascheramento di IP sono state incluse nel kernel linux (dalle versioni di sviluppo 1.3.x) e si trovano adesso, nelle versioni 2.2.x, in una fase matura. Il Mascheramento di IP è' impiegato con soddisfazione in molti ambienti di lavoro individuali e in aziende commerciali.
Molte delle più diffuse applicazioni di rete, come il Web browsing, TELNET, PING, TRACEROUTE, etc funzionano immediatamente da una rete mascherata; altre, come FTP, IRC, e Real Audio funzionano ottimamente, se il relativo modulo di IP-Masq è stato caricato. Anche programmi specializzati per la rete, come streaming audio (MP3s, True Speech, etc) funzionano bene.
Sulla mailing list sono stati riportati anche buoni risultati ottenuti con software per videoconferenze.
Per un elenco completo del software supportato, vedi il paragrafo {refnam}.
Il Mascheramento di IP di Linux funziona efficacemente al servizio di macchine client con qualunque tipo di hardware e sistema operativo. Questo è l'elenco, riportato dai diversi utenti, delle situazioni in cui è stato usato con successo:
Si potrebbe proseguire. In generale, se il vostro sistema operativo è in grado di comunicare in TCP/IP, dovrebbe poter utilizzare con certezza il Mascheramento IP in Linux!
e non ha intenzione di spendere soldi per ottenere altri indirizzi pubblici dal suo ISP nè per configurare Linux come router nè acquistare un router esterno.
>Dalle risposte di Ken Eves, nella traduzione dal file originale "IP Masquerade FAQ":
Questo e' lo schema della disposizione piu' semplice:
SLIP/PPP +------------+ +-------------+
verso l'ISP | Linux #1 | SLIP/PPP | PC-X |
<---------- modem1| |modem2 ----------- modem3| |
111.222.121.212 | | 192.168.0.100 | |
+------------+ +-------------+
In questo schema si vede una workstation Linux con inserita la funzione
di Mascheramento IP (Linux #1) che è connessa a Internet via SLIP/or/PPP
per mezzo di modem1.
Ad essa è stato assegnato l'indirizzo pubblico IP numero 111.222.121.212.
La macchina #1 possiede anche un modem2 che permette la connessione ad un altro
computer (PC-X), aprendo, a richiesta di quest'ultimo, un canale SLIP o PPP.
PC-X può anche non essre una macchina linux e NON possiede un indirizzo internet;
nelle connessioni a #1 utilizza l'indirizzo privato 192.168.0.100.
(vedi oltre, per maggiori informazioni)
Se il Mascheramento IP e l'instradamento dei pacchetti (routing) sono
ben sistemati, la macchina PC-X accede ad internet come se vi fosse
direttamente connessa (a parte qualche eccezione)
Da Pauline Middelink:
Non dimenticare di far notare che la configurazione di rete di PC-X deve
indicare Linux #1 come proprio gateway (non importa se sia la default route
o solo la route di sottorete)
Nel caso che PC-X non possa fare questo, la workstation Linux #1 dovrebbe essere
configurata per supportare un proxy arp per tutti gli indirizzi da instradare
La sistemazione e configurazione di un proxy arp è però al di là dello scopo di
questo manuale.
Quanto segue è un estratto da un precedente messaggio inviatoal newsgroup
comp.os.linux.networking, editato per adattarlo ai nomi usati nello schema sopra:
o Informare la macchina PC-X che il suo gateway è la workstation Linux connessa
via PPP o SLIP
o Ad ogni paccheto TCP/IP che arriva in Linux #1 da PC-X deve essere assegnato
un nuovo numero di porta e sostituito l'indirizzo IP originale (che deve essere
conservato) con il numero IP del server Linux (che e' un numero internet registrato).
Il server di IP-Mq immette in internet il pacchetto così modificato
o Ogni pacchetto che proviene da internet viene esaminato d Linux #1:
se il numero di porta corrisponde a quello assegnato a PC-X, il MASQ Server recupera
il numero di porta e indirizzo IP che gli corrispondono e li applica nell'intestazione
del pacchetto, che viene quindi inviato a PC-X
o La macchina che ha inviato quel pacchetto non sarà mai in grado di sapere della
diversa destinazione di questo.
Altro esempio di Mascheramento di IP:
Un caso tipico è dato dallo schema seguente:
+----------+
| | Ethernet
| PC-A |::::::
| |.2 : 192.168.0.x
+----------+ :
: +----------+ PPP
+----------+ : .1 | Linux | link
| | :::::::| Masq-Gate|:::::::::::::::::::// Internet
| PC-B |:::::: | | 111.222.121.212
| |.3 : +----------+
+----------+ :
:
+----------+ :
| | :
| PC-C |::::::
| |.4
+----------+
| | |
| <-Rete Interna--> | | <- Rete Esterna ---->
| | |
In questo esempio ci sono 4 macchine. Oltre la figura, sul lato destro, ci sarà un terminal server o altro, dal quale proviene il collegamento a internet, via PPP e, molto più in là, si troverà la macchina con cui si vuole entrare in comunicazione.
La workstation Linux Masq-Gate è il gateway con Mascheramento IP per l'INTERA
rete interna, composta da PC-A, PC-B e PC-C che chiedono di raggiungere internet.
La rete interna utilizza uno degli indirizzi per reti private, come specificato in RFC-1918. In questo caso 192.168.0.0, un indirizzo di rete di classe C. La macchina Linux ha indirizzo TCP/IP 192.168.0.1 mentre le altre hanno i numeri:
Sui tre computers, PC-A, PC-B e PC-C, può essere in funzione un qualsiasi
sistema operativo, purchè in grado di comunicare in TCP/IP: Windows 95, Macintosh
con MacTCP o con OpenTransport o anche un'altra workstation Linux.
Tutte queste connessioni interne vengono convertite dal sistema di mascheramento
che si trova in MASQ-gate in modo da apparire provenienti questa macchina.
Lo stesso Masq server è in grado di distribuire i pacchetti di ritorno da
internet ai corrispondenti proprietari.
L'attività del Masq-Server fa in modo che gli hosts interni PC-X di vedano
una uscita diretta in internet, senza rendersi conto del passaggio attraverso
una operazione di mascheramento. Questo tipo di connessione viene detto"Trasparente".
NOTA: Per ulteriori dettagli sugli argomenti:
vedi Domande Frequenti
** Per le ultime informazioni, vai a vedere IP Masquerade Resource**
Se stai AGGIORNANDO il kernel, fai attenzione a quali altri programmi devi procurarti o devi aggiornare (se ne parla più avanti, in questo HOWTO).
Ulteriori informazioni sulle esigenze legate ai numeri di versione possono essere ricavate dalla pagina su IPFWADM in Linux
Inoltre è possibile configurare un MASQ server in modo da permettere agli utenti da internet la connessione ai servers interni WWW, TELNET, SMTP, FTP (con una patch specifica), etc. Vedila sezione {refnam} di questo HOWTO per ulteriori informazioni.
Questo è un elenco delle patches per il Mascheramento di IP per i kernels 2.0.x:
Dico 'potresti' perchè alcuni utilizzatori non ne hanno avuto bisogno. Maggiori dettagli nella sezione {refnam} di questo HOWTO.
Nota che alcuni www browsers decomprimono automaticamente questo file .gz. Per scaricare il file tieni premuto il tasto SHIFT (o Maiuscolo) mentre fai click sulla URL.
Vedi anche la pagina su NAT di Dan Kegel per ulteriori informazioni. Altro ancora si può trovare nelle sezioni {refnam} e {refnam}.
Per altre patches, consiglio di passare periodicamente sul sito delle risorse sul Mascheramento IP.
** Per le ultime informazioni, vai a vedere IP Masquerade Resource**
NOTA #1: I kernels Linux 2.2.x precedenti a 2.2.16 sono soggetti a una vulnerabilità a livello di root in TCP e le versioni precedenti a 2.2.11 hanno baco (bug) di frammentazione in IPCHAINS. Chi utilizza le regole di IPCHAINS rinforzato può essere soggetto ad attacchi esterni, a causa di questo difetto. Aggiornate il kernel ad una versione in cui il difetto è stato eliminato.
NOTA #2: Nella maggior parte delle distribuzioni più recenti, come Redhat 5.2, non trovi probabilmente un kernel Linux 2.2.x pronto per la completa installazione di un sistema con IP-Masq come server. Potrebbe essere necessario aggiornare dei servizi, come DHCP, NetUtils e altro.
Vedi anche il TrinityOS, una guida completa alle reti Linux, comprende argomenti come IP MASQ, sicurezza, DNS, DHCP, Sendmail, PPP, Diald, NFS, IPSEC-based VPNs, e capitoli sulla efficienza della rete. Più di cinquanta, in tutto!
Per altre patches, passa periodicamente sul sito delle risorse sul Mascheramento IP.
** Fai riferimento a le risorse IP Masquerade per le informazioni più aggiornate. **
Alcune delle nuove funzionalità presentano i seguenti pro e contro
PRO:
CONTRO:
ip_masq_cuseeme.o ip_masq_icq.o ip_masq_quake.o ip_masq_user.o ip_masq_irc.o ip_masq_raudio.o ip_masq_vdolive.o
Si può trovare della documentazione su come fare il porting al riferimento http://netfilter.kernelnotes.org/unreliable-guides/netfilter-hacking-HOWTO-5.html. Se hai tempo per contribuire ad accelerare questo lavoro, le tue capacità saranno molto apprezzate.
In questa versione del presente manuale, NetFilter non è ancora descritto. Quando le caratteristiche di NetFilter saranno stabilite, si deciderà se l'argomento verrà aggiunto in questo HOWTO o se sarà il caso di scriverne uno nuovo. FIno ad allora, fai uso della segiuente documentazione. Al momento, il nuovo software Netfilter ha le stesse modalità di sistemazione e risoluzione dei problemi di IPCHAINS, per circa il 95% dei casi; perciò questo manuale è ancora molto utile per gli utilizzatori del firewall Netfilter e del NAT.
Vedi http://netfilter.filewatcher.org/unreliable-guides/index.html e più specificatamente in http://netfilter.filewatcher.org/unreliable-guides/NAT-HOWTO.html