Premetto che non sono affatto un esperto di reti e questa guida vuole semplicemente essere un resoconto di quanto fatto per far funzionare il tutto.Perdonatemi e segnalatemi eventuali errori. Lo scopo di questo breve HOW-TO è quello di permettere la condivisione di una connessione ad Internet tra un gateway Linux e un client Windows utilizzando una rete wireless Ad-Hoc a bassissimo costo.La connessione Ad-Hoc permette di connettere direttamante tra loro 2 PC senza passare per un router,più o meno quanto accade per con una connessione diretta con un cavo di rete incrociato (cross). Il passo successivo sarà quello di condividere anche cartelle e stampanti.
Per informazioni più dettagliate sui software utilizzati vi rimando alla linkografia.
NDISwrapper crea un modulo per il Kernel di Linux che è in grado di caricare ed eseguire i drivers NDIS (Windows Network Driver API) in sostituzione dei driver nativi mal funzionanti o proprio non rilasciati. L'installazione di NDISwrapper può essere effettuata da sorgenti oppure dai più comodi pacchetti precompilati. Personalmente ho preferito l'installazione del pacchetto in quanto il modulo creato dalla compilazione non veniva caricato correttamente. Una volta installato il programma deve essere lanciato da root
ndiswrapper
Usage: ndiswrapper OPTION
Manage ndis drivers for ndiswrapper.
-i inffile Install driver described by 'inffile'
-d devid driver Use installed 'driver' for 'devid'
-e driver Remove 'driver'
-l List installed drivers
-m Write configuration for modprobe
-da Write module alias configuration for all devices
-di Write module install configuration for all devices
-v Report version information
where 'devid' is either PCIID or USBID of the form XXXX:XXXX
Copiate ora la directory dei driver dal CD di installazione fornito in una qualsiasi directory del vostro disco fisso. Si procede poi all'installazione dei driver vera e propria con il comando
ndiswrapper - i /percorso/dei/driver/CPWUA6D.INF
e verificate con il comando
ndiswrapper -l
che i driver siano stati effettivamente caricati
Installed drivers: cpwua6d driver installed
Il passo successivo è quello di lanciare
ndiswrapper -m
per dare le corrette direttive a modprobe.
Per il momento basta così.Riavviate il PC su Windows e vedrete la spia luminosa dell'adattatore lampeggiare (questa operazione deve essere fatta ogni volta che si riavvia o si spegne Linux!!!!).Riavviate,lanciate Linux e caricate il modulo ndiswrapper con
modprobe ndiswrapper
Ora la spia dovrebbe lampeggiare. Date nuovamente da root il comando
ndiswrapper -l
e verificate che la risposta questa volta sia
Installed drivers: cpwua6d driver installed, hardware present
Se fino a qui tutto va bene siamo già a buon punto.Altrimenti non scoraggiatevi e riprovate.
Utilizzeremo ora il programma iwconfig che fa parte del pacchetto wireless-tools incluso in quasi tutte le distribuzioni.Si tratta di un analogo del più celebre ed utilizzato ifconfig dedicato però alla configurazione di reti wireless. Devo essere sincero che questi passaggi sono aleatori,ma funzionano.Anche qui,se qualcosa non va riprovate. Qui fornisco solo una rapida descrizione di ciò che serve alla configurazione dell'interfaccia wireless.Alla fine dell'HOW-TO fornirò comunque un piccolo script che modificato a dovere dovrebbe funzionare. Il primo passo è quello di verificare che il dispositivo sia funzionante.Lanciate da root
iwconfig
ed assicuratevi che compaia tra le interfacce wlan0.
Bisogna adesso inserire i parametri della rete.
In particolare
La sintassi sarà
iwconfig wlan0 key open chiave-wep iwconfig wlan0 essid nomeconnessione iwconfig wlan0 nickname quellochevolete
E'consigliabile lanciare dopo ogni comando iwconfig senza altri parametri per verificare che sia effettivamente cambiato qualcosa. Bisogna talvolta specificare il rate a cui lavorare,cioè la velocità a cui vengono scambiati i dati.Purtroppo nel mio caso non si può lavorare a più di 11 Mb/S,più che sufficienti comunque per guardare un film del computer della camera sul portatile in soggiorno o navigare in internet comodamente distesi sul divano.Si procede poi specificando che vogliamo una connessione Ad-Hoc
iwconfig wlan0 rate 11M iwconfig wlan0 mode Ad-Hoc
Lanciate adesso
iwlist scan
e verificate (o meglio sperate!) che vi ritorni qualcosa del genere
wlan0 Scan completed :
Cell 01 - Address: E2:EF:C0:94:E5:FD
ESSID:"philips"
Protocol:IEEE 802.11b
Mode:Ad-Hoc
Frequency:2.462 GHz (Channel 11)
Quality:0/100 Signal level:-24 dBm Noise level:-256 dBm
Encryption key:on
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5.5 Mb/s
Bit Rate:11 Mb/s
Extra:bcn_int=100
Extra:atim=0
E' possibile che venga ritornato
wlan0 No scan results
Non preoccupatevi,smanettate con i comandi che vi ho indicato in precedenza e il problema dovrebbe risolversi. Bisogna poi attivare le interfacce di rete.Supponendo che eth0 sia connessa ad internet direttamente mediante un modem ethernet,lanciate da root
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up
Ovviamente al posto di 192.168.0.1 e 192.168.1.1 mettete,se ritente opportuno,altri indirizi IP.
Il passaggio successivo è
Da root lanciate
chmod +x /etc/rc.d/rc.ip_forward /etc/rc.d/rc.ip_forward restart
per abilitare la condivisione della connessione
Bisogna caricare i moduli relativi al supporto per il masquerading,quindi lanciate da root
modprobe ip_tables modprobe ip_conntrack modprobe iptable_nat modprobe ipt_MASQUERADE
e si concede il masquerading solo ai computer della rete wireless
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -j DROP
Riassumendo il tutto in uno script :
#!/bin/bash chmod +x /etc/rc.d/rc.ip_forward modprobe ndiswrapper iwconfig wlan0 key open abcabcabc1 iwconfig wlan0 essid philips iwconfig wlan0 nickname philips iwconfig wlan0 rate 11M iwconfig wlan0 mode Ad-Hoc iwlist wlan0 scan ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up modprobe ip_tables modprobe ip_conntrack modprobe iptable_nat modprobe ipt_MASQUERADE iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -j DROP
Salvatelo,rendetelo eseguibile (chmod 777) ed è pronto per essere lanciato (da root) quando volete.
Prima di passare a configurare Samba per la condivisione di file e cartelle,vediamo se il lavoro fatto fin qui ha dato i suoi frutti. Si presume che si sia già configurata la periferica wireless in maniera corretta (ESSID,chiave WEP...).</br> Andate sul menu Start--->Impostazioni--->Connessioni di rete.Cliccate col tasto destro su Connessione senza fili--->Proprietà.Selezionate quindi Protocollo Internet (TCP/IP) e cliccate su Prprietà.Rifacendovi allo script precedente,inserite nei campi
Come DNS inserite quelli relativi al vostro provider.Per Alice
A posto.Riavviate il PC e provate a "pingare" Client e Server. Da Linux a Windows : lanciate un terminale e date ping 192.168.1.2 Da Windows a Linux : Start--->Programmi--->Accessori--->Prompt dei comandi--->ping 192.168.1.1
Se i 2 PC si sentono (o si parlano,come preferite) siamo a buon punto.Provate a lanciare il vostro browser e vedete se riesce a connettersi ad Internet.
Samba permette di condividere materiale in una rete mista Linux/Windows come la nostra.La configurazione è relativamente semplice se utilizzate KDE,altrimenti bisogna mettere mano ad un file di testo,/etc/samba/smb.conf
Per non complicare troppo la breve guida,utilizzerò il metodo KDE.
Andate nel Menu K--->Centro di controllo--->Internet e rete--->Samba.
Cliccate su Modalità amministratore e modificate i parametri con criterio,anche se devo dire che è tutto molto ben spiegato.Abbiate l'accortezza di utilizzare come Gruppo di Lavoro lo stesso sia su Linux che su Windows,altrimenti i 2 PC non si vedranno.
Per entrare nel client basta digitare da konqueror smb://192.168.1.2
Da Windows andate su Risorse di Rete e dovrebbero comparire la cartelle condivise del Server.
Spero di esservi stato d'aiuto.E ricordate che questo How-To è valido per tutte le distribuzioni Linux e per tutti le schede wireless supportate da NDISwrapper.
Condividere la stampante e i processi di stampa
Slacky.it
Il sito di ndiswrapper
Wireless Tools
Documentazione su iptables
CUPS
Il forum di LinuxPRO