Condividere connessione internet (con NAT):

sezione dedicata alle connessioni in rete locale tramite cavo o fibra

Condividere connessione internet (con NAT):

Messaggio da leggereda root » 11/04/2012, 21:17

Condividere connessione internet (con NAT):

Assumendo che il PC Linux che fara' da gateway ha due schede di rete, eth0 e eth1.
eth0 e' collegata al modem/router adsl ed eth1 invece e' collegata allo switch che serve la rete LAN (o in alternativa un cavo di rete "cross" che serve un solo PC connesso ad eth1).

quindi la rete sara' cosi' configurata:

linea ADSL > Router ADSL> eth0-PC Linux Gateway-eth1 > nostra rete LAN

Parametri gateway (esempio):

IP uscita da modem/router: 10.0.0.1
IP scheda eth0: 10.0.0.2 - Netmask: 255.255.255.0
IP scheda eth1: 192.168.1.1 - Netmask: 255.255.255.0
DNS primario: quello del vostro provider (oppure 212.216.112.112)
DNS secondario: quello del vostro provider (oppure 212.216.172.62)

Parametri LAN (da configurare sugli altri PC della rete):

indirizzi IP: 192.168.1.x (da 2 a 253)
Gateway: 192.168.1.1
Netmask: 255.255.255.0
DNS primario: quello del vostro provider (oppure 212.216.112.112)
DNS secondario: quello del vostro provider (oppure 212.216.172.62)


Lanciare la console terminale e digitare (da root) i seguenti comandi di configurazione della rete del nostro gateway:

sudo ifconfig eth0 10.0.0.2 netmask 255.255.255.0 up

sudo ifconfig eth1 192.168.1.1 netmask 255.255.255.0 up

sudo route add default gw 10.0.0.1 eth0

sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.2

editiamo quindi i parametri per i DNS aprendo il file di configurazione
sudo gedit /etc/resolv.conf
e dentro copiamo quanto segue (sostituite eventualmente gli IP con quelli del vostro provider):

nameserver 212.216.112.112
nameserver 212.216.172.62

ora creiamo uno script di avvio automatico per il NAT:
sudo touch /etc/init.d/nat.sh

quindi editiamolo:
sudo gedit /etc/init.d/nat.sh
e dentro inseriamo le seguenti righe:

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -o eth0 -j MASQUERADE

salviamo e chiudiamo l'editor

poi diamo i permessi di esecuzione allo script:
sudo chmod a+x /etc/init.d/nat.sh

poi editiamo il file "/etc/sysctl.conf" per abilitare il forwarding dei pacchetti verso la LAN:
gedit /etc/sysctl.conf
e inseriamo o modifichiamo se gia esiste la seguente linea come qui sotto riportato:

net.ipv4.ip_forward = 1

salviamo e chiudiamo l'editor

diamo il comando:

sudo update-rc.d nat.sh defaults

e poi possiamo riavviare e tutto dovrebbe funzionare.

NOTA: questa configurazione e' la base per fare un firewall o un server DHCP per la rete LAN.
in questo esempio come in altri miei posts ho usato "gedit" come editor grafico (quello di default di Ubuntu), ma va bene qualsiasi editor di testo anche non grafico.
Il comando sudo puo' sempre essere omesso se si e' loggati come "root"
Se si intende utilizzare questa configurazione per fare un firewall occorre attivare il "DMZ" sul router ADSL e puntarlo sull'interfaccia eth0 (10.0.0.2) oppure, meglio ancora, puntare dal router solo le porte che si intende utilizzare sulla rete LAN (in ingresso da Internet) verso l'interfaccia eth0, sara' poi il firewall con le sue regole che consentira' o meno l'utilizzo di tali porte.
In alternativa si puo' evitare di fare il NAT sul router e far passare l'IP pubblico (solo se e' statico, anche piu' di uno) direttamente sulla eth0, i parametri di rete vanno ovviamente riconfigurati di conseguenza.
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 394
Iscritto il: 10/04/2012, 10:55
Località: Turin

Torna a LAN e reti locali

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron