Optato per l'utilizzo del bridge, se avessi usato il NAT mi sa che i vari pcX non avrebbero potuto contattare i dispositivi collegati all'AP
Breve nota:
Nella mio ignoranza ero convinto che eth0 avesse un ip, wlan0 un altro ip e la nuova br0 pure.
Non è così, solo br0 ha un ip eth0 e wlan0 lo condividono con br0 (in estrema sintesi)
Quando create br0, fate in modo di impostare lo stesso ip statico di eth0 in interfaces, altrimenti rischiate che ssh vi muoia.
Codice:
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
#iface eth0 inet static
# address 192.168.1.57
# netmask 255.255.255.0
# network 192.168.1.0
# broadcast 192.168.1.255
# gateway 192.168.1.1
# Bridge tra eth0 e wlan0
auto br0
iface br0 inet static
address 192.168.1.57
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0 wlan0
allow-hotplug wlan0
Fatto ciò dovete configurare il dongle wifi in AP mode
Io ho comprato questo
http://www.amazon.it/Edimax-Adattato...dp/B003MTTJOY/
Che supporta l'AP, ma non da hostapd di default.
Dovete scaricare i driver della realtek
http://www.realtek.com.tw/downloads/...&GetDown=false
per il chip RTL8188C
il link è qualcosa del tipo:
12244.wpc.azureedge.net/8012244/drivers/rtdrivers/cn/wlan/qualcosa.zip
Poi fate
Codice:
unzip $ZIPFILE
cd $ZIPDIR/wpa_supplicant_hostapd
tar xvf $TARHOSTAPD
cd $TARDIR/hostapd
dopo di che potete andare con il classico make
Tempo 5 minuti avete finito.
Consiglio di modificare il Makefile così
Codice:
install: all
mkdir -p $(DESTDIR)/usr/local/bin
for i in $(ALL); do cp -f $$i $(DESTDIR)/usr/local/bin/$$i'-edimax'; done
così vi ritroverete installati hostapd e hostapd_cli in /usr/local/bin con -edimax finale (evitiamo di fare confusione con /usr/sbin/hostapd)
Poi un bel
Codice:
sudo update-alternatives --install /usr/local/sbin/hostapd hostapd /usr/local/bin/hostapd-edimax 20
sudo update-alternatives --install /usr/local/sbin/hostapd hostapd /usr/sbin/hostapd 30
sudo update-alternatives --install /usr/local/sbin/hostapd_cli hostapd_cli /usr/sbin/hostapd_cli 30
sudo update-alternatives --install /usr/local/sbin/hostapd_cli hostapd_cli /usr/local/bin/hostapd_cli-edimax 20
tanto /usr/local/sbin/ è prima nel $PATH
Altra cosa:
Sembra mancare il ./configure, per modificare qualche cosa dovete editare ./.config
In seguito ho provato queste modifiche in .config:
Codice:
CONFIG_IEEE80211W=y
Aggiunge il supporto a wpa_key_mgmt=WPA-PSK-SHA256
#CONFIG_WPS=y
sappiamo che il WPS è rotto, meglio non usarlo
CONFIG_DEBUG_FILE=y
nel caso abbia bisogno di salvare il debug su file (nel caso andasse tutto bene ricompilero rimuovendo il debug)
CONFIG_NO_RANDOM_POOL=y
usa il pool di sistema e non rompere. (speriamo non sia un scelta sbagliata)
Ora ho (proverò prima con -edimax e poi con quelle modificate, tanto per fare delle prove)
Codice:
-rwxr-xr-x 1 root staff 1.7M Feb 1 03:46 hostapd-edimax
-rwxr-xr-x 1 root staff 1.3M Feb 18 22:51 hostapd-edimax-IEEE80211W-NOPOOL-NOWPS
-rwxr-xr-x 1 root staff 60K Feb 1 03:46 hostapd_cli-edimax
-rwxr-xr-x 1 root staff 56K Feb 18 22:51 hostapd_cli-edimax-IEEE80211W-NOPOOL-NOWPS
Vediamo ora di configurare hostapd:
La guida
http://www.daveconroy.com/turn-your-...88cus-chipset/
ci consiglia questo
Codice:
interface=wlan0
driver=rtl871xdrv
bridge=br0
ssid=DaveConroyPi
channel=1
wmm_enabled=0
wpa=1
wpa_passphrase=ConroyPi
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
Io sono andato di
Codice:
grep -e ^$ -e ^# -v myhostapd.conf
interface=wlan0
bridge=br0
driver=rtl871xdrv
#
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
#non so, erano presenti nel hostapd.conf di esempio
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=TEST-WIFI
hw_mode=g
channel=3
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wmm_enabled=0
# Disabilitato, quindi questi sotto dovrebbero essere inutili
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
# non ne ho idea, forse per il RADIUS client,
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=1
wpa_psk_file=/etc/hostapd.wpa_psk
wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256
rsn_pairwise=CCMP
Alla fine gli ho detto (credo)
Usa solo WPA2
la password la trovi in /etc/hostapd.wpa_psk
usa roba sicura (psk e ccmp)
Vediamo il hostapd.wpa_psk
Codice:
# List of WPA PSKs. Each line, except for empty lines and lines starting
# with #, must contain a MAC address and PSK separated with a space.
# Special MAC address 00:00:00:00:00:00 can be used to configure PSKs that
# anyone can use. PSK can be configured as an ASCII passphrase of 8..63
# characters or as a 256-bit hex PSK (64 hex digits).
00:00:00:00:00:00 secret passphrase
00:11:22:33:44:55 another passphrase
00:22:33:44:55:66 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
00:00:00:00:00:00 another passphrase for all STAs
Onestamente fatico a comprenderlo: che senso ha usare diverse chiavi per mac-address?
Perché nel file di esempio ci sono due 00:00:00:00:00:00?
Comunque la mio intenzione e piazzarci un
00:00:00:00:00:00 secret passphrase
e basta