Repository 32bit  Forum
Repository 64bit  Wiki

Wi-Fi Ad-Hoc tra Linux e Windows: differenze tra le versioni

Da Slacky.eu.
 
 
(5 revisioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
  +
[[Category:Networking]]
  +
== Introduzione ==
== Introduzione ==
Riga 42: Riga 44:
Una volta installato il programma deve essere lanciato da root
Una volta installato il programma deve essere lanciato da root
'''ndiswrapper'''
+
ndiswrapper
Usage: ndiswrapper OPTION
Usage: ndiswrapper OPTION
Riga 60: Riga 62:
Si procede poi all'installazione dei driver vera e propria con il comando
Si procede poi all'installazione dei driver vera e propria con il comando
'''ndiswrapper - i /percorso/dei/driver/CPWUA6D.INF'''
+
ndiswrapper - i /percorso/dei/driver/CPWUA6D.INF
e verificate con il comando
e verificate con il comando
'''ndiswrapper -l'''
+
ndiswrapper -l
che i driver siano stati effettivamente caricati
che i driver siano stati effettivamente caricati
Installed drivers:<br/>
+
Installed drivers:
cpwua6d driver installed
cpwua6d driver installed
Il passo successivo è quello di lanciare
Il passo successivo è quello di lanciare
'''ndiswrapper -m'''
+
ndiswrapper -m
 
per dare le corrette direttive a modprobe.<br/>
per dare le corrette direttive a modprobe.<br/>
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
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'''
+
modprobe ndiswrapper
Ora la spia dovrebbe lampeggiare.
Ora la spia dovrebbe lampeggiare.
Date nuovamente da root il comando
Date nuovamente da root il comando
'''ndiswrapper -l'''
+
ndiswrapper -l
e verificate che la risposta questa volta sia
e verificate che la risposta questa volta sia
Installed drivers:<br/>
+
Installed drivers:
cpwua6d driver installed, hardware present
+
cpwua6d driver installed, hardware present
Se fino a qui tutto va bene siamo già a buon punto.Altrimenti non scoraggiatevi e riprovate.
Se fino a qui tutto va bene siamo già a buon punto.Altrimenti non scoraggiatevi e riprovate.
Riga 98: Riga 100:
Il primo passo è quello di verificare che il dispositivo sia funzionante.Lanciate da root
Il primo passo è quello di verificare che il dispositivo sia funzionante.Lanciate da root
'''iwconfig'''
+
iwconfig
ed assicuratevi che compaia tra le interfacce wlan0.<br/>
ed assicuratevi che compaia tra le interfacce wlan0.<br/>
Riga 109: Riga 111:
La sintassi sarà
La sintassi sarà
'''iwconfig wlan0 key open chiave-wep <br/>'''
+
iwconfig wlan0 key open chiave-wep
'''iwconfig wlan0 essid nomeconnessione <br/>'''
+
iwconfig wlan0 essid nomeconnessione
'''iwconfig wlan0 nickname quellochevolete <br/>'''
+
iwconfig wlan0 nickname quellochevolete
E'consigliabile lanciare dopo ogni comando iwconfig senza altri parametri per verificare che sia effettivamente cambiato qualcosa.
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
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 <br/>'''
+
iwconfig wlan0 rate 11M
'''iwconfig wlan0 mode Ad-Hoc <br/>'''
+
iwconfig wlan0 mode Ad-Hoc
Lanciate adesso
Lanciate adesso
'''iwlist scan'''
+
iwlist scan
e verificate (o meglio sperate!) che vi ritorni qualcosa del genere
e verificate (o meglio sperate!) che vi ritorni qualcosa del genere
wlan0 Scan completed : <br/>
+
wlan0 Scan completed :
Cell 01 - Address: E2:EF:C0:94:E5:FD <br/>
+
Cell 01 - Address: E2:EF:C0:94:E5:FD
ESSID:"philips" <br/>
+
ESSID:"philips"
Protocol:IEEE 802.11b <br/>
+
Protocol:IEEE 802.11b
Mode:Ad-Hoc <br/>
+
Mode:Ad-Hoc
Frequency:2.462 GHz (Channel 11) <br/>
+
Frequency:2.462 GHz (Channel 11)
Quality:0/100 Signal level:-24 dBm Noise level:-256 dBm <br/>
+
Quality:0/100 Signal level:-24 dBm Noise level:-256 dBm
Encryption key:on <br/>
+
Encryption key:on
Bit Rate:1 Mb/s <br/>
+
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s <br/>
+
Bit Rate:2 Mb/s
Bit Rate:5.5 Mb/s <br/>
+
Bit Rate:5.5 Mb/s
Bit Rate:11 Mb/s <br/>
+
Bit Rate:11 Mb/s
Extra:bcn_int=100 <br/>
+
Extra:bcn_int=100
Extra:atim=0 <br/>
+
Extra:atim=0
E' possibile che venga ritornato
E' possibile che venga ritornato
wlan0 No scan results
+
wlan0 No scan results
Non preoccupatevi,smanettate con i comandi che vi ho indicato in precedenza e il problema dovrebbe risolversi.
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
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 <br/>'''
+
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
'''ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up <br/>'''
+
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.
Ovviamente al posto di 192.168.0.1 e 192.168.1.1 mettete,se ritente opportuno,altri indirizi IP.
Riga 158: Riga 160:
Da root lanciate
Da root lanciate
'''chmod +x /etc/rc.d/rc.ip_forward <br/>'''
+
chmod +x /etc/rc.d/rc.ip_forward
'''/etc/rc.d/rc.ip_forward restart <br/>'''
+
/etc/rc.d/rc.ip_forward restart
per abilitare la condivisione della connessione
per abilitare la condivisione della connessione
Bisogna caricare i moduli relativi al supporto per il masquerading,quindi lanciate da root
Bisogna caricare i moduli relativi al supporto per il masquerading,quindi lanciate da root
+
<pre>
'''modprobe ip_tables <br/>'''
+
modprobe ip_tables
'''modprobe ip_conntrack <br/>'''
+
modprobe ip_conntrack
'''modprobe iptable_nat <br/>'''
+
modprobe iptable_nat
'''modprobe ipt_MASQUERADE <br/>'''
+
modprobe ipt_MASQUERADE
+
</pre>
e si concede il masquerading solo ai computer della rete wireless
e si concede il masquerading solo ai computer della rete wireless
+
<pre>
'''iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT <br/>'''
+
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
'''iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT <br/>'''
+
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
'''iptables -A FORWARD -j DROP <br/>'''
+
iptables -A FORWARD -j DROP
+
</pre>
Riassumendo il tutto in uno script :
Riassumendo il tutto in uno script :
#!/bin/bash <br/>
+
#!/bin/bash
chmod +x /etc/rc.d/rc.ip_forward <br/>
+
chmod +x /etc/rc.d/rc.ip_forward
modprobe ndiswrapper <br/>
+
modprobe ndiswrapper
iwconfig wlan0 key open abcabcabc1 <br/>
+
iwconfig wlan0 key open abcabcabc1
iwconfig wlan0 essid philips <br/>
+
iwconfig wlan0 essid philips
iwconfig wlan0 nickname philips <br/>
+
iwconfig wlan0 nickname philips
iwconfig wlan0 rate 11M <br/>
+
iwconfig wlan0 rate 11M
iwconfig wlan0 mode Ad-Hoc <br/>
+
iwconfig wlan0 mode Ad-Hoc
iwlist wlan0 scan <br/>
+
iwlist wlan0 scan
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up <br/>
+
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up <br/>
+
ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up
modprobe ip_tables <br/>
+
modprobe ip_tables
modprobe ip_conntrack <br/>
+
modprobe ip_conntrack
modprobe iptable_nat <br/>
+
modprobe iptable_nat
modprobe ipt_MASQUERADE <br/>
+
modprobe ipt_MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT <br/>
+
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT <br/>
+
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -j DROP </br>
+
iptables -A FORWARD -j DROP
Salvatelo,rendetelo eseguibile (chmod 777) ed è pronto per essere lanciato (da root) quando volete.
Salvatelo,rendetelo eseguibile (chmod 777) ed è pronto per essere lanciato (da root) quando volete.
Riga 214: Riga 216:
*Server DNS alternativo : 212.216.172.62
*Server DNS alternativo : 212.216.172.62
A posto.Riavviate il PC e provate a "pingare" Client e Server. <br/>
+
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 <br/>
+
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
Da Windows a Linux : Start--->Programmi--->Accessori--->Prompt dei comandi--->ping 192.168.1.1

Versione attuale delle 15:04, 10 set 2006


Indice

[modifica] Introduzione

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.

[modifica] Specifiche dei PC

[modifica] PC fisso

  • SO:Linux Slackware,kernel 2.6.13
  • Connesso ad Internet mediante modem ethernet sulla porta eth0,nome della connessione ppp0.
  • SCHEDA WIRELESS:Philips SNU6500 USB

[modifica] PC portatile

  • SO:Windows XP Home Edition
  • SCHEDA WIRELESS:Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g

[modifica] Configurazione del server Linux

[modifica] Requisiti hardware e software

  • Hardware
  1. Un PC dotato di porte USB
  2. Un adattatore Wireless USB Philips SNU6500 con relativo CD di installazione
  3. Una connessione ad Internet
  4. Un'installazione di Windows funzionante,altrimenti il vostro adattatore USB non si accenderà!
  • Software utilizzati
  1. NDISwrapper per far funzionare la periferica wireless con i driver di Windows
  2. Samba per condividere con il Client Windows files e cartelle
  3. CUPS per stampare
  4. Wireless-tools
  5. Iptables

Per informazioni più dettagliate sui software utilizzati vi rimando alla linkografia.

[modifica] Ndiswrapper

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.

[modifica] Configurazione delle schede di rete

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

  • il tipo di connessione e la sua chiave WEP (key)
  • il nome della connessione (essid)
  • il "soprannome" dela vostra scheda (nickname)

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 è

[modifica] Condividere la connessione ad Internet

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.

[modifica] Configurazione del client Windows XP Home Edition

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

  • Indirizzo IP : 192.168.1.2
  • Subnet mask : 255.255.255.0
  • Gateway predefinito : 192.168.1.1

Come DNS inserite quelli relativi al vostro provider.Per Alice

  • Server DNS preferito : 212.216.112.112
  • Server DNS alternativo : 212.216.172.62

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.

[modifica] Samba...si balla!

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.

[modifica] To Do List

Condividere la stampante e i processi di stampa

[modifica] Linkografia

Slacky.it
Il sito di ndiswrapper
Wireless Tools
Documentazione su iptables
CUPS
Il forum di LinuxPRO

Strumenti personali
Namespace

Varianti