Condividere una connessione

Il guardiano del router e compagna
Proprio ieri sono stato privato della mia linea ADSL casalinga (sto traslocando). In un primo momento, sono stato preso dal panico, pensando a un malfunzionamento del router (basato su Linux, ha sempre funzionato benissimo). Nonostante nella mia testa iniziasse a girovagare l’idea che mi avessero staccato la linea, per i primi 30 minuti il mio cervello non accettava il fatto, come quando viene a mancare un animale domestico al quale si è affezionati e nonostante ciò gli si riempie la ciotola di pappa
Dopo qualche reboot dei miei tre scatolotti necessari per far funzionare la mia rete (un modem ethernet, un router 4 porte wifi, e uno switch 8 porte), ho guardato il “guardiano del router” (un piccolo pinguino di peluche che tiene lontani gli spiriti cattivi dalla mia connessione), e gli ho detto: “mi dispiace, per un po’ ti toccherà fare il disoccupato…”.
Detto ciò, ho passato un po’ di tempo a sistemare i miei programmini Python, e a pubblicare su github un po’ di codice (vedasi github.com/frafra, dove ho pubblicato anche una interessante applicazione PyQT4+Twisted per la chat), utilizzando il pc di un amico
Questo mio amico (nonché vicino di casa), ha acconsentito a condividere temporaneamente la sua connessione wifi. E qui inizia il divertimento
Obiettivo: dare internet alla lan, utilizzando una rete wifi
Sostanzialmente, abbiamo bisogno di un pc che da una parte si connetta dalla rete wireless, e dall’altra condivida la propria connessione. Per fare ciò sul pc dotato sia di scheda wireless sia di scheda ethernet dobbiamo:
- Connetterci alla rete (soluzione più semplice: networkmanager)
- ifconfig eth0 192.168.100.1 up
(ho scelto 192.168.100.1 perché così sono sicuro che non si tratti di una rete già in uso) - echo 1 > /proc/sys/net/ipv4/ip_forward
- iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
(dove eth0 è l’inferfaccia di rete e wlan0 quella wifi) - Installare dnsmasq
- Editare /etc/dnsmasq.conf, mettendo:
domain-needed
bogus-priv
interface=eth0
dhcp-range=192.168.100.2,192.168.100.100,12h - Avviare il demone dnsmasq
(spesso basta dare /etc/init.d/dnsmasq start o /etc/rc.d/dnsmasq start)
Tutti questi comandi devono essere avviati come superutente (quindi o aggiungendo sudo davanti a ogni comando, o digitando su [invio] prima di iniziare la procedura). Dagli altri computer ora potete connettervi come se fosse presente un normale router nella rete locale (quindi con networkmanger, o lanciando un dhclient/dhcpcd eth0), e il gioco è fatto
Per collegare più dispositivi alla rete del mio portatile, ho collegato i vari computer (incluso il portatile) allo switch. Nulla di più facile

Ecco che, grazie alle mie doti nell’arte figurativa (eeeh!) e a inkscape, ho creato una mappa della rete, prima e dopo
P.S. Ehi, ho appena fatto 19 anni, sto invecchiando
Domani si parte per l’avventura chiamata “università”
…E così, il nostro intrepido studente Frafra, passò con successo il test di ammissione a ingegneria informatica del Politecnico di Milano 