3 155
contributi
Wtf (discussione | contributi) |
Wtf (discussione | contributi) Nessun oggetto della modifica |
||
(26 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Jessie}} | {{Versioni compatibili|Jessie}}{{Gateway-Router}} | ||
== Introduzione == | == Introduzione == | ||
Riga 14: | Riga 14: | ||
<pre># apt-get install iw hostapd wireless-tools</pre> | <pre># apt-get install iw hostapd wireless-tools</pre> | ||
I ''wireless-tools'' forniscono diversi strumenti, tra cui ''iwconfig'', | I ''wireless-tools'' forniscono diversi strumenti, tra cui ''iwconfig'', un'utilità ormai deprecata e atta a configurare i dispositivi wireless prima dell'introduzione a livello kernel del driver di interfaccia '''nl80211'''.<br/> | ||
In questa guida si farà dunque solo riferimento al solo ''iw'', il nuovo strumento che sostituisce ''iwconfig'' e che supporta il già citato '''nl80211''' ([http://linuxwireless.org/en/users/Documentation/iw/#About_iw riferimento]). | |||
Si tenga comunque presente che per impostare un dispositivo wireless in modalità master, cioè access point, è sufficiente l'utilizzo di <code>hostapd</code>, in quanto questo supporta tutti e quattro i driver d'interfaccia possibili, ovvero: | |||
* HostAP | |||
* madwifi | |||
* prism54 | |||
* nl80211 (cfg80211/mac80211) | |||
== Configurazione == | == Configurazione == | ||
Riga 47: | Riga 53: | ||
Se nell'elenco compare la voce '''AP''', allora il dispositivo di rete può essere usato in modalità master e quindi come access point. | Se nell'elenco compare la voce '''AP''', allora il dispositivo di rete può essere usato in modalità master e quindi come access point. | ||
Una volta acclarato che il dispositivo wireless da usare supporta la modalità master è possibile passare alla configurazione di <code>hostapd</code> e quindi delle interfacce di rete. | |||
==== Nota su ''iwconfig'' e ''nl80211'' ==== | |||
Si noti che qualora si tentasse di impostare un dispositivo wireless basato su nl80211 in modalità master impartendo il comando <code>iwconfig wlan0 mode master</code>, si otterrebbe il seguente messaggio d'errore: | Si noti che qualora si tentasse di impostare un dispositivo wireless basato su nl80211 in modalità master impartendo il comando <code>iwconfig wlan0 mode master</code>, si otterrebbe il seguente messaggio d'errore: | ||
<pre> | <pre> | ||
Riga 53: | Riga 63: | ||
</pre> | </pre> | ||
anche se il dispositivo supportasse effettivamente tale modalità | anche se il dispositivo in questione supportasse effettivamente tale modalità. | ||
=== hostapd === | === hostapd === | ||
Riga 73: | Riga 81: | ||
<pre># hostapd /etc/hostapd/hostapd.conf</pre> | <pre># hostapd /etc/hostapd/hostapd.conf</pre> | ||
se non ci sono errori a video compariranno alcune righe informative e il demone rimarrà semplicemente attivo in primo piano. Si prema ''ctrl + C'' per terminarne l'esecuzione. | se non ci sono errori a video compariranno alcune righe informative e il demone rimarrà semplicemente attivo in primo piano. Si prema ''ctrl + C'' per terminarne l'esecuzione. | ||
Se viceversa l'esecuzione del demone viene terminata automaticamente e compare un messaggio d'errore relativo al driver si veda [http://linuxwireless.org/en/users/Documentation/hostapd/ | Se viceversa l'esecuzione del demone viene terminata automaticamente e compare un messaggio d'errore relativo al driver si veda [http://linuxwireless.org/en/users/Documentation/hostapd/ questa pagina]. | ||
Una volta testato <code>hostapd</code> con una configurazione minimale è possibile scrivere una configurazione un po' più elaborata (e definitiva). | Una volta testato <code>hostapd</code> con una configurazione minimale è possibile scrivere una configurazione un po' più elaborata (e definitiva). Se il proprio dispositivo supporta la modalità '''802.11n''' è però necessario individuare prima quali funzionalità aggiuntive sono disponibili attraverso il solito <code>iw list</code>. Questa volta la sezione di interesse è <code>Capabilities</code>. Ad esempio per il chipset ''Intel(R) Dual Band Wireless AC 3160'' l'output di interesse è: | ||
<pre> | <pre> | ||
[...] | [...] | ||
Riga 88: | Riga 96: | ||
[...] | [...] | ||
</pre> | </pre> | ||
che si tradurrà nella seguente riga di configurazione: | |||
<pre>ht_capab=[HT40+][RX-STBC1][SMPS-STATIC][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]</pre> | |||
È ora possibile specificare un file di configurazione semi-definitivo, che nel caso del chipset ''Intel(R) Dual Band Wireless AC 3160'' potrebbe essere simile a quanto segue: | |||
<pre> | |||
# Wireless interface | |||
interface=wlan0 | |||
driver=nl80211 | |||
country_code=IT | |||
# Wireless environment | |||
ssid=vostro_SSID | |||
hw_mode=g | |||
channel=4 | |||
# 802.11n | |||
wme_enabled=1 | |||
ieee80211n=1 | |||
ht_capab=[HT40+][RX-STBC1][SMPS-STATIC][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40] | |||
# Authentication and encryption | |||
macaddr_acl=0 | |||
auth_algs=1 | |||
ignore_broadcast_ssid=1 | |||
wpa=2 | |||
wpa_passphrase=password_personale | |||
wpa_key_mgmt=WPA-PSK | |||
wpa_pairwise=TKIP | |||
rsn_pairwise=CCMP | |||
</pre> | |||
dove: | |||
* '''interface''' specifica il nome dell'interfaccia wireless da usare, chiaramente da modificare rispetto al valore indicato se diverso dal classico ''wlan0''; | |||
* '''driver''' specifica il driver interfaccia da usare, valore che ragionevolmente non sarà da modificare a meno di non usare kernel molto vecchi; | |||
* '''country_code''' è un valore non strettamente necessario e indica il codice paese in cui è attivo l'access point (si veda [https://en.wikipedia.org/wiki/ISO_3166-1 ISO 3166-1]); | |||
* '''ssid''' specifica la stringa da usare appunto come SSID di rete. | |||
* '''hw_mode''' specifica la modalità di funzionamento (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g). Si noti che la modalità '''n''' viene indicata attraverso un altro parametro che in ogni caso richiede di definire prima questo; | |||
* '''channel''' specifica il numero di canale da usare, si veda <code>/usr/share/doc/hostapd/examples/hostapd.conf.gz</code> su come scegliere un valore ottimale; | |||
* '''ieee80211n''' è usato per abilitare (1) o disabilitare (0) la modalità 802.11n; | |||
* '''ht_capab''' permette di definire le capacità aggiuntive del dispositivo wireless (inutile dichiarare questo parametro se <code>ieee80211n=0</code>); | |||
* '''macaddr_acl''' abilita (1) o disabilita (0) il filtro sul mac address dei dispositivi che si connettono all'access point. | |||
* '''auth_algs''' imposta l'algoritmo di autenticazione; | |||
* '''ignore_broadcast_ssid''' abilita (1) o disabilita (0) la trasmissione dell'SSID di rete (ogni cliente deve già conoscerne il valore); | |||
* '''wpa''' indica la versione di wpa ammessa, cioè solo wpa2 in questo caso; | |||
* '''wpa_passphrase''' la password che ogni client dovrà immettere per connettersi all'access point; | |||
* '''wpa_key_mgmt''', '''wpa_pairwise''', '''rsn_pairwise''' si veda <code>/usr/share/doc/hostapd/examples/hostapd.conf.gz</code>. | |||
A questo punto non rimane che testare un'ultima volta il file di configurazione col solito: | |||
<pre># hostapd /etc/hostapd/hostapd.conf</pre> | |||
Se tutto va bene editare il file <code>/default/hostapd/hostapd</code> indicando il percorso del proprio file di configurazione, che per questa guida significa: | |||
<pre>DAEMON_CONF="/etc/hostapd/hostapd.conf"</pre> | |||
Avviare quindi il demone <code>hostapd</code>: | |||
<pre># /etc/init.d/hostapd start</pre> | |||
=== Interfacce di rete === | |||
La procedura è quella standard, attraverso la definizione di <code>/etc/network/interfaces</code> o manualmente attraverso l'uso di <code>ifconfig</code>. Si ricordi che nel primo caso è necessario riavviare il demone <code>networking</code> (ma non prima di aver riavviato anche <code>hostapd</code> nel caso di bridge di rete), oppure riavviare la macchina. | |||
==== Configurazione statica o dinamica ==== | |||
Configurare la propria interfaccia senza fili come di norma. Si noti che usando <code>hostapd</code> è del tutto inutile specificare il parametro <code>wireless-mode Master</code>, anche nel caso di vecchi kernel, visto che provvede già quest'ultimo ad attivare la modalità master. | |||
Con questa configurazione sarà naturalmente accessibile la sola macchina su cui è fisicamente presente il dispositivo di rete wireless. Eventuali altri dispostivi presenti nella stessa LAN, ovvero sulla stessa subnet (ad esempio 192.168.1.0/24), continueranno a non essere raggiungibili (compreso un eventuale gateway per collegarsi a internet). | |||
==== Configurazione in bridge di rete ==== | |||
Configurare un bridge di rete che includa l'interfaccia senza fili e l'interfaccia a filo (o le interfacce a filo) come di norma, quindi aggiungere a <code>/etc/hostapd/hostapd.conf</code> la seguente direttiva: | |||
<pre>bridge=br0</pre> | |||
dove '''br0''' è il nome del ponte di rete da usare. Riavviare il demone di <code>hostapd</code>: | |||
<pre># /etc/init.d/hostapd restart</pre> | |||
e quindi quello di <code>networking</code>. | |||
Per maggiori dettagli sul bridging si veda [[Ethernet Bridging | questa guida]]. | |||
==== Configurazione con routing delle connessioni ==== | |||
Se l'interfaccia senza fili necessita di un indirizzo ip appartenente ad una subnet differente da quella dell interfaccia a filo, per esempio 10.0.0.0/8 invece di 192.168.1.0/24, allora si deve semplicemente configurare la scheda wireless in modalità statica o dinamica e quindi implementare le necessarie regole di iptables (o strumento equivalente) per effettuare il routing dei pacchetti dall'interfaccia senza fili a quella (o quelle) a filo.<br/> | |||
Per maggiori informazioni sull'uso di iptables si veda [[Debian e iptables | questa guida]]. | |||
== Considerazioni finali == | |||
In questa guida non si è mai accennato a server DHCP semplicemente perché si è dato per scontato che nella LAN in cui andrà ad operare l'access point sia già presente un server DHCP. Qualora così non fosse l'utente dovrà naturalmente provvedere ad installarne e configurarne uno, per esempio seguendo [[Un server DNS e DHCP su Debian#Installazione e configurazione del server DHCP | questa guida]]. | |||
== Approfondimenti == | |||
=== Manpages === | |||
* <code>man iw</code> | |||
* <code>man hostapd</code> | |||
=== Sitografia === | |||
* [https://wireless.wiki.kernel.org/en/users/documentation/hostapd Hostapd] su wireless.wiki.kernel.org | |||
* [https://wireless.wiki.kernel.org/en/users/documentation/iw iw] su wireless.wiki.kernel.org | |||
* [https://wireless.wiki.kernel.org/en/users/documentation/modes wireless modes] su wireless.wiki.kernel.org | |||
* [https://help.ubuntu.com/community/WifiDocs/WirelessAccessPoint WAP] su help.ubuntu.com | |||
* [https://help.ubuntu.com/community/WifiDocs/MasterMode Master mode] su help.ubuntu.com | |||
* [http://www.cyberciti.biz/faq/debian-ubuntu-linux-setting-wireless-access-point/ Debian/Ubuntu WAP] su nixcraft | |||
{{Autori | |||
|Autore = [[Utente:Wtf|Wtf]] 23:52, 12 set 2015 (CEST) | |||
}} | |||
[[Categoria:Configurazione ethernet]][[Categoria:Configurazione wireless]] |
contributi