Repository 32bit  Forum
Repository 64bit  Wiki

Usare la nostra Slackware come Access Point WiFi

Da Slacky.eu.
Wireless-Router.png

Introduzione

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.


Avvertenze
Le informazioni e le procedure descritte in questo articolo si intendono fornite "as is" e senza garanzia alcuna. Gli autori dell'articolo e slacky.eu non possono essere ritenuti in alcun modo responsabili per eventuali danni, perdite di informazioni, ecc. che si possono verificare a seguito dell'utilizzo delle informazioni qui contenute. Use at own risk!
Network-wireless-tango.png

Elenco dei componenti (in questa prova ;) )

Notebook
HP Pavilion dv5000
CPU AMD Sempron(tm) Processor 3300+
RAM 1GiB
WLAN BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
Software
Linux 2.6.33.4-smp
Slackware 13.1.0
hostapd v0.7.3
Network configuration
eth0 192.168.0.1/24, con collegamento a Internet
wlan0 192.168.1.123/24 come Access Point wireless


Testare le caratteristiche della scheda wireless

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!

Installare e configurare hostapd

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. 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

Installare e configurare il server DHCP

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

Lo script per attivare l'Access Point

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

Se la card ha bisogno del firmware per lavorare come AP

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)

Installazione del firmware

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/

Osservazioni e risultati

Wireless-Router.png


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.



Copyright - License

Autore: Zoros 00:03, 4 feb 2012 (CET)

GNU Free Documentation Licence
This article is released under the GNU Free Documentation Licence. You are welcome to copy and redistribute it (subject to certain conditions).

Strumenti personali
Namespace

Varianti