![]() |
![]() |
![]() |
![]() |
![]() |
Inhaltsverzeichnis |
Questa guida intende fornire una (quasi) semplice esperienza come base per realizzare un access point usando un PC equipaggiato con una scheda wireless 802.11a o 802.11b/g e, naturalmente, Slackware-Linux.
Elenco dei componenti (in questa prova ;) )
iw list
Wiphy phy0 Band 1: Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) ... Bitrates: * 1.0 Mbps ... * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps max # scan SSIDs: 4 Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point
In Supported interface modes: * AP ... ok!
Per impostare la nostra scheda wireless come AP useremo hostapd, un servizio "user space" di gestione access point e server di autenticazione. Le release di hostapd e altri tool sono disponibili qui: hostap.epitest.fi.
Io ho installato hostapd v.0.7.3, ma lo slackbuild di SBo è datato. Potete usare questo: File:Hostapd.slackbuild.tar.gz (hostapd-0.7.3 slackbuild rev.2, con supporto 802.11n). Scompattare e poi:
su cd hostapd.slackbuild ./hostapd.SlackBuild installpkg /tmp/hostapd-0.7.3-i486-1_SBo.tgz
Questi i parametri modificati in /etc/hostapd/hostapd.conf:
interface=wlan0 ssid=myAP hw_mode=g channel=6 driver=nl80211 wpa=1 wpa_passphrase=mypassword
Molti client wireless necessitano di DHCP per ottenere la configurazione di rete, così è meglio installare il servizio DHCP (disponibile solo per la rete 192.168.1.0/24 wlan0, in questo esempio). Questa la configurazione funzionante /etc/dhcpd.conf
ddns-update-style none; default-lease-time -1; max-lease-time 7200; not-authoritative; # # default gateway option routers 192.168.1.123; # option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option domain-name-servers 208.67.222.222; # subnet 192.168.1.0 netmask 255.255.255.0 { next-server 192.168.1.1; range dynamic-bootp 192.168.1.128 192.168.1.248; option host-name "Wifi"; group customIP { host pc-01 { hardware ethernet 00:11:22:33:44:55 ; fixed-address 192.168.1.11 ; } } }
Se manca lo script del servizio sulla vostra Slackware, usate questo /etc/rc.d/rc.dhcpd:
#!/bin/sh # # /etc/rc.d/rc.dhcpd # # Start/stop/restart the DHCP server. # # To make DHCP daemon start automatically at boot, make this # file executable: chmod 755 /etc/rc.d/rc.dhcpd # case "$1" in 'start') /usr/sbin/dhcpd ;; 'stop') killall -s 9 dhcpd ;; 'restart') killall -s 9 dhcpd /usr/sbin/dhcpd ;; *) echo "usage $0 start|stop|restart" ;; esac
wlan_startAP.sh
#!/bin/sh WLAN_DEV="wlan0" WLAN_IP="192.168.1.123" modprobe b43 qos=0 ifconfig $WLAN_DEV $WLAN_IP iwconfig $WLAN_DEV txpower 20dBm echo 1 > /proc/sys/net/ipv4/ip_forward touch /var/lock/subsys/local modprobe ip_nat_ftp modprobe ip_conntrack_ftp iptables -t nat -A POSTROUTING -s $WLAN_IP/24 -d 0/0 -o eth0 -j MASQUERADE /etc/rc.d/rc.hostapd start /etc/rc.d/rc.dhcpd restart 2> /dev/null
output of dmesg all'avvio di hostapd:
b43 ssb0:0: firmware: requesting b43/ucode5.fw b43 ssb0:0: firmware: requesting b43/pcm5.fw b43 ssb0:0: firmware: requesting b43/b0g0initvals5.fw b43 ssb0:0: firmware: requesting b43/b0g0bsinitvals5.fw b43-phy0: Loading firmware version 508.154 (2009-08-18 00:58:22)
Per scaricare ed installare il firmware la guida di riferimento è questa: linuxwireless.org
Come evidenziato in sul sito linuxwireless.org, spesso il firmware estratto dal driver binario è protetto da copyright da parte del produttore e non può essere ridistribuito in questo formato. Dobbiamo scaricare il driver specifico per la nostra scheda e usare tool tipo b43-fwcutter (b43-tools). Ecco l'esempio funzionante per il chipset BCM4318 :
tar -xjf broadcom-wl-5.10.144.3.tar.bz2 b43-fwcutter --unsupported broadcom-wl-5.10.144.3/linux/wl_apsta.o cp -Rv b43 /lib/firmware/
Questa realizzazione ha evidenziato risultati eccezionali: la portata radio è simile a quella di un vero access point, il sistema è molto stabile con alte prestazioni anche con diversi clienti wireless collegati.
Scheda wireless | Standard provati | Driver | Note |
---|---|---|---|
Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01) | 802.11g | b43, ath9k | |
ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter (USB) | 802.11g/n | rt2800usb, mac80211 | corta portata |
ID 1737:0079 Linksys WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572] | 802.11a/g | cfg80211, rt2800usb | lavora solo con kernel 3+ |
Zoros 23:21, 3 February 2012 (CET)