3 155
contributi
Wtf (discussione | contributi) |
Wtf (discussione | contributi) |
||
(40 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili | {{Versioni compatibili}}{{Gateway-Router}} | ||
== Introduzione == | == Introduzione == | ||
Riga 15: | Riga 15: | ||
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/> | 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 | 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 48: | 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 54: | 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 100: | Riga 107: | ||
ssid=vostro_SSID | ssid=vostro_SSID | ||
hw_mode=g | hw_mode=g | ||
channel= | channel=6 | ||
wmm_enabled=1 | |||
# 802.11n | # 802.11n | ||
ieee80211n=1 | ieee80211n=1 | ||
# 802.11ac | |||
ieee80211ac=0 | |||
ht_capab=[HT40+][RX-STBC1][SMPS-STATIC][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40] | ht_capab=[HT40+][RX-STBC1][SMPS-STATIC][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40] | ||
# Authentication and encryption | # Authentication and encryption | ||
Riga 119: | Riga 129: | ||
* '''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]); | * '''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. | * '''ssid''' specifica la stringa da usare appunto come SSID di rete. | ||
* '''hw_mode''' specifica la | * '''hw_mode''' specifica la frequenza di funzionamento (a = IEEE 802.11a 5 GHz, b = IEEE 802.11b 2.4 GHz, g = IEEE 802.11g 2.4 GHz). | ||
* '''channel''' specifica il numero di canale da usare, | * '''channel''' specifica il numero di canale da usare. L'elenco dei canali utilizzabili è rilevabile sempre dall'output di <code>iw list</code>, per la precisione nelle sezioni ''Band 1 --> Frequencies'' (2.4 GHz) e ''Band 2 --> Frequencies'' (5 GHz). Il numero del canale è indicato tra parentesi quadre ed è disponibile se a fianco, racchiuso tra parentesi tonde, è indicato ''20.0 dBm''. Si veda <code>/usr/share/doc/hostapd/examples/hostapd.conf</code>per maggiori informazioni; | ||
* '''wmm_enabled''' deve essere impostato su (1) se si intende abilitare la modalità 802.11n e/o 802.11ac; | |||
* '''ieee80211n''' è usato per abilitare (1) o disabilitare (0) la modalità 802.11n; | * '''ieee80211n''' è usato per abilitare (1) o disabilitare (0) la modalità 802.11n; | ||
* '''ht_capab''' permette di definire le capacità aggiuntive del dispositivo wireless (inutile | * '''ieee80211ac''' è usato per abilitare (1) o disabilitare (0) la modalità 802.11ac (richiede <code>hw_mode=a</code>); | ||
* '''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 (0 = "Open System Authentication", 1 = "Shared Key Authentication", 3 = entrambi i precedenti); | |||
* '''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, (0 = wpa1, 1 = wpa2 (e wpa3 se supportato); | |||
* '''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</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 abilitare/riavviare il servizio di <code>hostapd</code> nel modo appropriato alla propria versione di debian. | |||
==== Systemd ==== | |||
Abilitare il servizio di <code>hostapd</code> | |||
<pre># systemctl unmask hostapd</pre> | |||
Avviare <code>hostapd</code> | |||
<pre># systemctl start hostapd</pre> | |||
==== Init.d ==== | |||
Editare il file <code>/usr/share/doc/hostapd/examples/hostapd.conf</code> aggiungendo sotto la sezione relativa a <code>wlan0</code> la riga <code>hostapd /etc/hostapd/hostapd.conf</code>, ottenendo quindi qualcosa di simile a (cambiare con i propri dati): | |||
<pre> | |||
iface wlan0 inet static | |||
hostapd /etc/hostapd/hostapd.conf | |||
address 192.0.2.10/24 | |||
network 192.168.1.0 | |||
broadcast 192.168.1.255 | |||
gateway 192.168.1.1 | |||
</pre> | |||
Quindi eseguire | |||
<pre> | |||
# /etc/init.d/hostapd start | |||
# /etc/init.d/networking restart | |||
</pre> | |||
===== Deprecato ===== | |||
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).<br> | |||
Perché anche il resto della rete diventi raggiungibile è necessario configurare o un bridge di rete oppure un routing (si vedano le prossime due sezioni). | |||
==== Configurazione in bridge di rete ==== | |||
Configurare un [[Ethernet Bridging | 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> e quindi quello di <code>networking</code>.<br> | |||
Systemd | |||
<pre> | |||
# systemctl restart hostapd | |||
# service networking | |||
</pre> | |||
Init.d | |||
<pre> | |||
# /etc/init.d/hostapd restart | |||
# /etc/init.d/networking restart | |||
</pre> | |||
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]], mentre per nftable [[Nftables | quest'altra]]. | |||
== 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