Come condividere la connessione Internet con Linux
di Luca Bove (PuntoWeb.Net Srl)
Avete una connessione ADSL o una flat? Beh se siete contenti
del servizio che il vostro provider vi fornisce e avete
intenzione di condividerlo con il network casalingo in modo
che tutti i computer possano accedere ad Internet?
Se Linux e' installato su uno dei vostri computer l'
operazione non si presenta difficile. Nell'articolo che segue
mi appresto a descrivere come condividere una connessione
Internet con tutta la tua rete.
--- Requisiti ---
Per configurare un server Linux allo scopo di condividere la
vostra connessione Internet, avete bisogno di due schede di
rete installate. Una scheda di rete sara' connessa alla rete
e l'altra sara' attaccata alla connessione (ad esempio al
modem xDSL). Le istruzioni di cui sotto sono state testate su
di una distribzione Linux Mandrake 7.2, ma dovrebbe lavorare su
tutte le ultime distribuzioni.
--- Installazione ---
Iniziamo a configurare il nostro server Linux. Prima di tutto
abbiamo bisogno di avere i nostro indirizzi IP assegnati alle
schede di rete sul server. Si assumera' che l'attacco alla LAN
sia eth0 e quello al modem Internet sia eth1. Eseguite il
comando "netconf" e su eth0 specificate il seguente indirizzo:
192.168.0.1 (il resto dei campi si dovrebbero riempire automaticamente).
Successivamente specificate eth1 per ottenere il suo indirizzo IP
dal server DHCP o specificate l'informazione sull'indirizzo che
vi è stato dato nel caso di indirizzo statico.
A questo punto agggiungiamo la seguente riga in cima nel file
'/etc/rc.d/rc.local':
/etc/rc.d/rc.firewall
Il passo seguente è configurare un file 'rc.firewall'. Di
seguito c'é un file 'rc.firewall' base utilizzato nella
prova. Potete semplicemente fare un cut e paste e copiarlo
come rc.firewall sotto la directory /etc/rc.d .
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_quake 26000,27000,27910
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
ipchains -M -S 7200 10 60
ipchains -A input -j ACCEPT -i eth1 -s 0/0 68 -d 0/0 67 -p udp
ipchains -P forward DENY
#PER ABILITARE TUTTE LE MACCHINE AD INTERNET
ipchains -A forward -s 192.168.0.0/24 -j MASQ
#PER ABILITARE SOLO UNA MACCHINA SPECIFICA AD INTERNET
#ipchains -A forward -s 192.168.0.10/32 -j MASQ
Una volta salvato sotto la directory /etc/rc.d, semplicemente
digitate il seguente comando:
# chmod 700 /etc/rc.d/rc.firewall
A questo punto c'é da abilitare l'IP forwarding. Per fare
cio' bisogna editare il file '/etc/sysconfig/network' in
modo che la riga FORWARD_IPV4 sia uguale a true.
Va poi effettuato il reboot. Una volta ripartiti digitate
il seguente comando:
# ipchains -L
dovrebbe visualizzare le vostre regole per il forwarding.
A questo punto abbiamo configurato il server in modo da
condividere la connessione ad Internet.
--- I computer Client ---
Per configurare i computer client, sotto Windows, dovete
andare in "Risorse di Rete" o, se avete la versione inglese
di WIndows, "Network Neighborhood" e caricare i servizi
standard di rete e i servizi relativi ai protocolli TCP/IP
(vi si accede col tasto destro del mouse).
Alla voce "TCP/IP" bisogna andare su Proprietà e
specificare un indirizzo IP del tipo 192.168.0.x (dove
x è un numero unico per quella macchina) e
netmask 255.255.255.0.
Poi come "Gateway" occorre specificare che punta al server
Linux (ricordo che era settato a 192.168.0.1). Bisogna
andare in "Configurazione DNS", attivare il DNS e
specificare l'hostname e il domain name del server Linux.
Nella voce "Ordine di ricerca server DNS" va specificato
il DNS del server dell'ISP.
Non resta che effettuare il reboot della macchina e anche
il vostro computer client avrà l'accesso ad Internet.
Riferimenti:
http://www.osfaq.com/article.php3?sid=59