Debian Hostapd

Aus Wiki
Zur Navigation springen Zur Suche springen

Allgemein

Mit Hilfe eines WLAN USB-Sticks oder WLAN-Karte kann unter Debian ein WLAN Accesspoint betrieben werden. Eingesetzt wird hierzu der Daemon hostapd. Die als Debian-Paket verfügbare Version von hostapd unterstütz nicht für alle WLAN Interfaces WPA bzw. WPA2-Verschlüsselung. Deshalb wird die aktuelle Verison von hostapd manuell compiliert.

Voraussetzung:


Installation von Abhängigkeiten

apt-get install libssl-dev libnl-dev 


Download und Compilierung

cd /usr/local/src
wget http://hostap.epitest.fi/releases/hostapd-2.1.tar.gz
tar -xvf hostapd-2.1.tar.gz
cd hostapd-2.1/hostapd
cp defconfig .config
vi .config

Folgende Optionen aktivieren (Kommentarzeichen # entfernen:

CONFIG_WPS=y
CONFIG_WPS2=y
CONFIG_RADIUS_SERVER=y
CONFIG_IEEE80211N=y
CONFIG_IEEE80211AC=y
CONFIG_TLS=openssl
CONFIG_TLSV12=y

Hostapd compilieren:

make
make install


Startscript

vi /etc/init.d/hostapd

Folgende Zeilen einfügen:

#!/bin/sh

### BEGIN INIT INFO
# Provides:             hostapd
# Required-Start:       $remote_fs
# Required-Stop:        $remote_fs
# Should-Start:         $network
# Should-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Advanced IEEE 802.11 management daemon
# Description:          Userspace IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP
#                       Authenticator
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON_SBIN=/usr/sbin/hostapd
DAEMON_DEFS=/etc/default/hostapd
DAEMON_CONF=
NAME=hostapd
DESC="advanced IEEE 802.11 management"
PIDFILE=/var/run/hostapd.pid

[ -x "$DAEMON_SBIN" ] || exit 0
[ -s "$DAEMON_DEFS" ] && . /etc/default/hostapd
[ -n "$DAEMON_CONF" ] || exit 0

DAEMON_OPTS="-B -P $PIDFILE $DAEMON_OPTS $DAEMON_CONF"

. /lib/lsb/init-functions

case "$1" in
  start)
        log_daemon_msg "Starting $DESC" "$NAME"
        start-stop-daemon --start --oknodo --quiet --exec "$DAEMON_SBIN" \
                --pidfile "$PIDFILE" -- $DAEMON_OPTS >/dev/null
        log_end_msg "$?"
        ;;
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        start-stop-daemon --stop --oknodo --quiet --exec "$DAEMON_SBIN" \
                --pidfile "$PIDFILE"
        log_end_msg "$?"
        ;;
  reload)
        log_daemon_msg "Reloading $DESC" "$NAME"
        start-stop-daemon --stop --signal HUP --exec "$DAEMON_SBIN" \
                --pidfile "$PIDFILE"
        log_end_msg "$?"
        ;;
  restart|force-reload)
        $0 stop
        sleep 8
        $0 start
        ;;
  status)
        status_of_proc "$DAEMON_SBIN" "$NAME"
        exit $?
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload|reload|status}" >&2
        exit 1
        ;;
esac

exit 0

Script ausführbar machen:

chmod +x /etc/init.d/hostapd
update-rc.d hostapd defaults