Old:Wg111v2 con ndiswrapper e crittografia WPA: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
 
(13 versioni intermedie di 7 utenti non mostrate)
Riga 1: Riga 1:
'''DebConf''' � la ''Conferenza degli Sviluppatori dei Progetti Debian''.
{{Old}}
==Introduzione==
Se riuscite a leggere questa guida siete a cavallo, siete connessi a internet in una qualche maniera. Io avendo installato debian Etch tramite netinst ([http://www.e-pillole.com/linux/post/5/installare-debian-etch/  Guida installazione Debian Etch tramite netinst]) ero già connesso, dato che avevo impostato momentaneamente il mio router come server DHCP. Altrimenti il file, attraverso l'editor <code>nano</code> deve essere modificato. Logghiamoci come root con <code>su</code> e poi:
<pre>
# nano /etc/network/interfaces
</pre>


Maggiori informazioni sul sito ufficiale: [http://www.debconf.org Debconf.Org]
si apre l'editor di testo e dobbiamo modificarlo per renderlo così:
 
<pre>
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
 
allow-hotplug eth1
iface eth1 inet dhcp
</pre>
 
la periferica potrebbe essere <code>eth1</code> o <code>eth0</code> non si sa mai quale sia. Potrebbe essere <code>eth1</code> se per esempio avete una porta firewire che sarà <code>eth0</code>. CTRL+O per salvare CTRL+X per uscire. Facendo
 
<pre>
# /etc/init.d/networking restart
</pre>
 
 
dovreste riuscire a connettervi al router, con il DHCP attivato, tramite ethernet. Oppure riavviamo il computer (funziona di più questo a volte, la richiesta di un indirizzo richiede altre cose, riavviando il PC siamo sicuri che partano e che tutto vada a buon fine).
 
== Installazione ==
Ovviamente da root:
<pre>
# apt-get install ndiwrapper-common ndiswrapper-utils-1.9 wpasupplicant module-assistant wireless-tools ndiswrapper-source
</pre>
 
 
{{Box|Nota:|su Debian Etch bisogna usare '''module-assistant''' dato che il sorgente del modulo è pacchettizzato singolarmente. Module-assistant permette di scaricare, compilare e pacchettizzare un modulo del kernel. Se non è presente nel sistema è sufficiente, sempre da root, un:
<pre>
# apt-get install build-essential module-assistant
</pre>}}
 
Lanciare adesso il comando:
<pre>
# m-a
</pre>
e selezionare dal menù '''PREPARE''': questo comando installerà i componenti essenziali per compilare moduli del kernel.
 
Fatto questo selezionare '''SELECT''' e scegliere ndiswrapper come modulo da installare. Procediamo con OK e, dal menù successivo, selezioniamo prima <code>GET</code> per scaricare i sorgenti del modulo ndiswrapper, poi <code>BUILD</code> per costruire il pacchetto dei driver che sarà disponibile nella directory <code>/usr/src</code>.
 
Rispondendo "sì" alla domanda di installare direttamente il pacchetto, procediamo con l’installazione del driver di Windows.
 
Altre informazioni sui moduli con module-assistant:
* [[Debian Kernel Howto#Per_aggiungere_un_modulo_devo_ricompilare_tutto_il_kernel.3F]]
* [[Pagina di manuale di module-assistant]]
 
 
== Prima di Iniziare ==
Scolleghiamo il cavo di rete ethernet, togliamo la wg111v2 dal PC.
 
 
== Installazione dei driver Windows ==
Prendete il CD in dotazione dei driver di Windows, copiate la cartella Driver nella vostra home.
Ora per installare i driver (occhio: quelli di Windows XP non funzionano! usiamo quelli del 98!) diamo da root:
<pre>
# ndiswrapper -i Driver/WIN98/net111v2.inf
</pre>
 
ora verifichiamo che i driver siano correttamente installati:
<pre>
# ndiswrapper -l
</pre>
 
il comando dovrebbe restituire un output simile a questo:
<pre>
wg111v2 : driver installed
        device (11AB:1FAA) present
</pre> 
 
 
== Configurazione ==
Ora dobbiamo fare in modo che Debian legga come interfaccia di rete la wlan, quindi da root:
 
<pre>
# nano /etc/network/interfaces
</pre>
 
e rendetelo simile al seguente (quindi modificatelo, ricordando che le righe che iniziano con '''#''' sono commenti e non vengono interpretate):
 
<pre>
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
 
auto wlan0
iface wlan0 inet static
address indirizzo_ip_vostro_computer
netmask 255.255.255.0
network 192.168.0.0
gateway indirizzo_ip_vostro_router
wireless-essid nome_rete
wireless-channel 11
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
</pre>
 
i valori da inserire li prendiamo direttamente dal router:
<pre>
Porta LAN
  Indirizzo MAC  aa:bb:cc:dd:ee:ff <--- non serve per la guida ma questo è l'indirizzo fisico del router (univoco in tutto il mondo)
  Indirizzo IP  192.168.0.Y  <--- qui è segnato l'indirizzo IP del router (quello che per noi è il gateway)
  DHCP  Off
  Subnet mask IP  255.255.255.0
</pre>
 
 
<pre>
Porta wireless 
  Nome (SSID)  nome_rete <--- è il nome scelto dalla vostra rete, può essere cicciofrancohome. Non navigate troppo con la fantasia, nomi strani o con spazi non gli ho provati.
  Regione  Europe
  Canale  11
  AP wireless  Enabled
  Trasmetti nome  Disabled
  </pre>
 
{{Box|Nota|io ho impostato il router perché non serva da DHCP (l'ho fatto solo momentaneamente per l'installazione tramite netinst di Debian) ma dia sempre lo stesso indirizzo IP alla scheda di rete wireless associata all'indirizzo fisico MAC, quindi il vostro PC avrà sempre come indirizzo IP 192.168.0.X dove X è un numero che scegliete voi dal router, stessa cosa per l'indirizzo del router, anche quello ho cambiato (si fa dalle impostazioni del router Impostazioni IP LAN). Oltretutto il fatto di avere un wlan0 statico invece di DHCP permette di non dover staccare tutte le volte, durante il boot, l'adapter USB e attaccarlo successivamente (credo che questo trucco lo troviate solo qui, in un anno di esperienza su Linux tutti dicono di doverlo staccare prima di avviare il sistema). Altra motivazione di fare in questa maniera è che se avete un programma a cui dovete dirigere le porte TCP per un programma p2p (tipo amule) o avete un server web (tipo Apache) dovete per forza dare sempre lo stesso indirizzo IP alla macchina!
Se non avete capito niente forse è meglio se andate su wikipedia, è assurdo che usiate un router senza sapere queste cose, è come avere un automobilista che non sa cosa è un pistone.
Comunque tutte queste piccolezze servono per rendere la vostra rete più sicura (e veloce nel caricamento degli indirizzi IP dei vostri host nella rete); le ultime righe del file di configurazione le capiremo fra poco..}}
 
== La Crittografia WPA ==
La crittograifia WPA per le rete WiFi è attualmente la migliore che ci sia, per utilizzarla seguite i seguenti passi.
 
<pre>
$ wpa_passphrase nome_rete password
</pre>
 
riceverete come output
 
<pre>
#
reading passphrase from stdin
password
network={
        ssid="nome_rete"
        #psk="password"
        psk=82b8b0bad290450d6e8476a1ae27a40aae0c2c28278bf98be028ee3ae57645db
}
</pre>
 
ok ora da root:
<pre>
# nano /etc/wpa_supplicant.conf
</pre>
 
e all'interno dovrete scrivere:
 
<pre>
network={
        ssid="nome_rete"
      # psk="password"
        key_mgmt=WPA-PSK
        proto=WPA
      psk=82b8b0bad290450d6e8476a1ae27a40aae0c2c28278bf98be028ee3ae57645db
}
</pre>
 
 
anche qui spero che usiate un nome di rete che non venga diffuso (dal router basta impostare che nasconda il nome ESSID) e che usiate la crittografia WPA-PSK (altre non ne ho provate). Dal router controllate che sia WPA-PSK la crittografia che volete usare perché sennò non funziona niente.
 
Tiriamo su l'interfaccia wifi e buttiamo giù quella ethernet:
 
<pre>
# ifconfig wlan0 up
# ifconfig eth0 down
</pre>
e poi per deamonizzare il tutto:
<pre>
# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf -dd -B
</pre>
 
 
 
== Ultimi Ritocchi ==
I seguenti comandi servono: <code>depmod</code> genera un file di dipendenze tra i moduli, che poi viene utilizzato da <code>modprobe</code> per caricarli rispettando le dipendenze. Precisamente, viene creato il file ''/lib/modules/'' versione ''/modules.dep''. Modprobe invece carica un modulo "al volo". Ulteriori informazioni si possono trovare qui [http://paper0k.wordpress.com/2007/02/20/i-moduli-del-kernel/]
 
Da root quindi lanciamo in successione:
<pre>
# depmod -a
# modprobe ndiswrapper
</pre>
 
dobbiamo modificare il seguente file di configurazione, in modo che il modulo ndiswrapper venga caricato all'avvio del sistema, sempre da root:
 
<pre>
# nano /etc/modules
</pre>
 
all'interno del file dobbiamo aggiungere la scritta ndiswrapper, salvare e chiudere il file.
 
Dalle
([http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,faq/  FAQ]) di ndiswapper sappiamo che è necessario specificare tramite <code>iwconfig</code> (comando del pacchetto wireless-tools):
<pre>
# iwconfig mode managed
# iwconfig wlan0 mode managed
# iwconfig wlan0
# iwconfig essid nome_rete
# iwconfig wlan0 nome_rete
# iwconfig channel 11
# iwconfig channel wlan0 11
</pre>
o più sinteticamente:
<pre>
# iwconfig wlan0 mode managed channel 11 essid nome_rete
</pre>
ovviamente sostituendo i valori vostri (essid nome_rete).
 
 
== Test della Configurazione ==
se riavviate il PC, questa volta con l'adapter USB attaccato, dovreste finalmente navigare in internet,
altrimenti guardare il seguente comando cosa risponde:
 
<pre>
iwconfig
</pre>
 
che a me restituisce il seguente output:
 
<pre>
lo        no wireless extensions.
 
eth0      no wireless extensions.
 
wlan0    IEEE 802.11g  ESSID:"nome_mia_rete"
          Mode:Managed  Frequency:2.462 GHz  Access Point: aa:bb:cc:dd:ee:ff
          Bit Rate=54 Mb/s  Sensitivity=-200 dBm
          RTS thr=2346 B  Fragment thr=2346 B
          Power Management:off
          Link Quality:43/100  Signal level:-68 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0
</pre>
 
 
Magari avete sbagliato qualcosa io o voi, magari l'interfaccia non si chiama <code>wlan0</code> ma <code>wlan1</code> (improbabile ma può succedere). Ah come vedete io NON uso gingilli grafici, anche se Linux va sempre più avanti i front-end grafici portano sempre indietro.
 
== Ulteriori Letture ==
Dato che molti utenti leggono una guida senza confrontarle con altre vi linko queste cose che vi esorto a leggere oltre la mia. Sono specifiche per Ubuntu ma tanto l'unica cosa che cambia è che Ubuntu ha dei driver nativi da eliminare e che ndiswrapper una volta installato non ha bisogno di essere "modularizzato":
* http://forum.ubuntu-it.org/index.php/topic,157003.msg1041214.html#msg1041214
 
Altre robette varie...
* http://forum.ubuntu-it.org/index.php?topic=79722.0
* http://forum.ubuntu-it.org/index.php?topic=103028.0
* http://divilinux.netsons.org/index.php/2007/12/28/wg111v2-wifi-usb-pen/
* http://forum.ubuntu-it.org/index.php/topic,47690.0.html
* http://wiki.ubuntu-it.org/Hardware/DispositiviSenzaFili/Ndiswrapper
* http://wiki.ubuntu-it.org/Hardware/DispositiviSenzaFili/WpaSupplicant
 
 
 
PS: questa guida seguita paro paro funziona anche per la wg311v3, ovviamente non stacco la scheda PCI ma per il resto faccio le stesse identiche cose.

Versione attuale delle 15:32, 7 dic 2019

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


Introduzione

Se riuscite a leggere questa guida siete a cavallo, siete connessi a internet in una qualche maniera. Io avendo installato debian Etch tramite netinst (Guida installazione Debian Etch tramite netinst) ero già connesso, dato che avevo impostato momentaneamente il mio router come server DHCP. Altrimenti il file, attraverso l'editor nano deve essere modificato. Logghiamoci come root con su e poi:

# nano /etc/network/interfaces 

si apre l'editor di testo e dobbiamo modificarlo per renderlo così:

 
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

allow-hotplug eth1
iface eth1 inet dhcp

la periferica potrebbe essere eth1 o eth0 non si sa mai quale sia. Potrebbe essere eth1 se per esempio avete una porta firewire che sarà eth0. CTRL+O per salvare CTRL+X per uscire. Facendo

 
# /etc/init.d/networking restart 


dovreste riuscire a connettervi al router, con il DHCP attivato, tramite ethernet. Oppure riavviamo il computer (funziona di più questo a volte, la richiesta di un indirizzo richiede altre cose, riavviando il PC siamo sicuri che partano e che tutto vada a buon fine).

Installazione

Ovviamente da root:

# apt-get install ndiwrapper-common ndiswrapper-utils-1.9 wpasupplicant module-assistant wireless-tools ndiswrapper-source


Info.png Nota:
su Debian Etch bisogna usare module-assistant dato che il sorgente del modulo è pacchettizzato singolarmente. Module-assistant permette di scaricare, compilare e pacchettizzare un modulo del kernel. Se non è presente nel sistema è sufficiente, sempre da root, un:
# apt-get install build-essential module-assistant


Lanciare adesso il comando:

# m-a

e selezionare dal menù PREPARE: questo comando installerà i componenti essenziali per compilare moduli del kernel.

Fatto questo selezionare SELECT e scegliere ndiswrapper come modulo da installare. Procediamo con OK e, dal menù successivo, selezioniamo prima GET per scaricare i sorgenti del modulo ndiswrapper, poi BUILD per costruire il pacchetto dei driver che sarà disponibile nella directory /usr/src.

Rispondendo "sì" alla domanda di installare direttamente il pacchetto, procediamo con l’installazione del driver di Windows.

Altre informazioni sui moduli con module-assistant:


Prima di Iniziare

Scolleghiamo il cavo di rete ethernet, togliamo la wg111v2 dal PC.


Installazione dei driver Windows

Prendete il CD in dotazione dei driver di Windows, copiate la cartella Driver nella vostra home. Ora per installare i driver (occhio: quelli di Windows XP non funzionano! usiamo quelli del 98!) diamo da root:

# ndiswrapper -i Driver/WIN98/net111v2.inf

ora verifichiamo che i driver siano correttamente installati:

# ndiswrapper -l

il comando dovrebbe restituire un output simile a questo:

wg111v2 : driver installed
        device (11AB:1FAA) present


Configurazione

Ora dobbiamo fare in modo che Debian legga come interfaccia di rete la wlan, quindi da root:

# nano /etc/network/interfaces

e rendetelo simile al seguente (quindi modificatelo, ricordando che le righe che iniziano con # sono commenti e non vengono interpretate):

auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

auto wlan0
iface wlan0 inet static
address indirizzo_ip_vostro_computer
netmask 255.255.255.0
network 192.168.0.0
gateway indirizzo_ip_vostro_router
wireless-essid nome_rete
wireless-channel 11
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

i valori da inserire li prendiamo direttamente dal router:

Porta LAN
  Indirizzo MAC  aa:bb:cc:dd:ee:ff <--- non serve per la guida ma questo è l'indirizzo fisico del router (univoco in tutto il mondo)
  Indirizzo IP   192.168.0.Y  <--- qui è segnato l'indirizzo IP del router (quello che per noi è il gateway)
  DHCP   Off
  Subnet mask IP  255.255.255.0


Porta wireless   
  Nome (SSID)  nome_rete <--- è il nome scelto dalla vostra rete, può essere cicciofrancohome. Non navigate troppo con la fantasia, nomi strani o con spazi non gli ho provati.
  Regione  Europe
  Canale  11
  AP wireless  Enabled
  Trasmetti nome  Disabled
   
Info.png Nota
io ho impostato il router perché non serva da DHCP (l'ho fatto solo momentaneamente per l'installazione tramite netinst di Debian) ma dia sempre lo stesso indirizzo IP alla scheda di rete wireless associata all'indirizzo fisico MAC, quindi il vostro PC avrà sempre come indirizzo IP 192.168.0.X dove X è un numero che scegliete voi dal router, stessa cosa per l'indirizzo del router, anche quello ho cambiato (si fa dalle impostazioni del router Impostazioni IP LAN). Oltretutto il fatto di avere un wlan0 statico invece di DHCP permette di non dover staccare tutte le volte, durante il boot, l'adapter USB e attaccarlo successivamente (credo che questo trucco lo troviate solo qui, in un anno di esperienza su Linux tutti dicono di doverlo staccare prima di avviare il sistema). Altra motivazione di fare in questa maniera è che se avete un programma a cui dovete dirigere le porte TCP per un programma p2p (tipo amule) o avete un server web (tipo Apache) dovete per forza dare sempre lo stesso indirizzo IP alla macchina!

Se non avete capito niente forse è meglio se andate su wikipedia, è assurdo che usiate un router senza sapere queste cose, è come avere un automobilista che non sa cosa è un pistone. Comunque tutte queste piccolezze servono per rendere la vostra rete più sicura (e veloce nel caricamento degli indirizzi IP dei vostri host nella rete); le ultime righe del file di configurazione le capiremo fra poco..


La Crittografia WPA

La crittograifia WPA per le rete WiFi è attualmente la migliore che ci sia, per utilizzarla seguite i seguenti passi.

$ wpa_passphrase nome_rete password

riceverete come output

 
#
reading passphrase from stdin
password
network={
        ssid="nome_rete"
        #psk="password"
        psk=82b8b0bad290450d6e8476a1ae27a40aae0c2c28278bf98be028ee3ae57645db
}

ok ora da root:

# nano /etc/wpa_supplicant.conf

e all'interno dovrete scrivere:

network={
        ssid="nome_rete"
       # psk="password"
        key_mgmt=WPA-PSK
        proto=WPA
       psk=82b8b0bad290450d6e8476a1ae27a40aae0c2c28278bf98be028ee3ae57645db
}


anche qui spero che usiate un nome di rete che non venga diffuso (dal router basta impostare che nasconda il nome ESSID) e che usiate la crittografia WPA-PSK (altre non ne ho provate). Dal router controllate che sia WPA-PSK la crittografia che volete usare perché sennò non funziona niente.

Tiriamo su l'interfaccia wifi e buttiamo giù quella ethernet:

# ifconfig wlan0 up
# ifconfig eth0 down

e poi per deamonizzare il tutto:

# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf -dd -B


Ultimi Ritocchi

I seguenti comandi servono: depmod genera un file di dipendenze tra i moduli, che poi viene utilizzato da modprobe per caricarli rispettando le dipendenze. Precisamente, viene creato il file /lib/modules/ versione /modules.dep. Modprobe invece carica un modulo "al volo". Ulteriori informazioni si possono trovare qui [1]

Da root quindi lanciamo in successione:

# depmod -a
# modprobe ndiswrapper

dobbiamo modificare il seguente file di configurazione, in modo che il modulo ndiswrapper venga caricato all'avvio del sistema, sempre da root:

# nano /etc/modules

all'interno del file dobbiamo aggiungere la scritta ndiswrapper, salvare e chiudere il file.

Dalle (FAQ) di ndiswapper sappiamo che è necessario specificare tramite iwconfig (comando del pacchetto wireless-tools):

# iwconfig mode managed
# iwconfig wlan0 mode managed
# iwconfig wlan0 
# iwconfig essid nome_rete
# iwconfig wlan0 nome_rete
# iwconfig channel 11
# iwconfig channel wlan0 11

o più sinteticamente:

# iwconfig wlan0 mode managed channel 11 essid nome_rete

ovviamente sostituendo i valori vostri (essid nome_rete).


Test della Configurazione

se riavviate il PC, questa volta con l'adapter USB attaccato, dovreste finalmente navigare in internet, altrimenti guardare il seguente comando cosa risponde:

iwconfig

che a me restituisce il seguente output:

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11g  ESSID:"nome_mia_rete"
          Mode:Managed  Frequency:2.462 GHz  Access Point: aa:bb:cc:dd:ee:ff
          Bit Rate=54 Mb/s   Sensitivity=-200 dBm
          RTS thr=2346 B   Fragment thr=2346 B
          Power Management:off
          Link Quality:43/100  Signal level:-68 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


Magari avete sbagliato qualcosa io o voi, magari l'interfaccia non si chiama wlan0 ma wlan1 (improbabile ma può succedere). Ah come vedete io NON uso gingilli grafici, anche se Linux va sempre più avanti i front-end grafici portano sempre indietro.

Ulteriori Letture

Dato che molti utenti leggono una guida senza confrontarle con altre vi linko queste cose che vi esorto a leggere oltre la mia. Sono specifiche per Ubuntu ma tanto l'unica cosa che cambia è che Ubuntu ha dei driver nativi da eliminare e che ndiswrapper una volta installato non ha bisogno di essere "modularizzato":

Altre robette varie...


PS: questa guida seguita paro paro funziona anche per la wg311v3, ovviamente non stacco la scheda PCI ma per il resto faccio le stesse identiche cose.