Condividere La Propria Connessione Internet

Immaginiamo di avere un pc collegato ad internet via modem (normale o ADLS e' indifferente), se volete che gli altri pc della vostra rete possano usare internet mentre quello collegato fisicamente al modem e' connesso ad internet, basta lanciare alcuni comandi. Innanzittutto immaginiamo che il computer collegato ad internet sia 192.168.0.1 (vedete il capitolo precedente per ssapere come si crea una rete con degli indirizzi IP).

Allora sugli altri pc basta impostare il gateway di accesso, che traduce i nomi in indirizzi IP:

 # route add default gw 192.168.0.1

Mentre sul pc collegato ad internet bisogna dirgli di passare le informazioni di internet al resto della rete, cosi' (l'esempio e' per un modem normale a 56k, ma sostituite ppp0 con l'interfaccia usata per usare il modem):

 # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
 # echo 1 > /proc/sys/net/ipv4/ip_forward

Fatto.

Ora pero' vediamo come non dover digitare tutto a mano, per permettere l'instradamento dei pacchetti, solo su Primo, cioe' il pc connesso direttamente ad internet, aggiungete il seguente script in /etc/ppp/ip-up.d/, chimandolo, per esempio, 00startmasq:

 #!/bin/sh
 /usr/sbin/iptables -t nat -F POSTROUTING
 /usr/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
  echo 1 > /proc/sys/net/ipv4/ip_forward

Chiaramente questo script puo' andar bene, invece che per il collegamento col modem, con un collegamento ethernet, come un modem ADSL, sostituento ppp0 con l'interfaccia ethernet utilizzata dal modem, come eth1 per esempio. Se fate cio' per un modem ADSL, mette lo script in /etc/rc.d/ in modo che venga eseguito ad ogni avvio.