WLAN-AP mit dem Raspberry Pi
Konfiguration: Kernel
Der Pi muss die vom Ethernet-Interface angenommenen Pakete auf das WLAN-Interface weiterleiten und umgekehrt. Mit anderen Worten: Er fungiert als Router, also als Knotenpunkt zwischen zwei physikalisch getrennten Netzen (hier dem Kabelnetz und dem Drahtlosnetz). Diese »Durchleitungsfunktion« von Linux ist aus Sicherheitsgründen standardmäßig deaktiviert, kann aber leicht wie folgt aktiviert werden:
# sysctl net/ipv4/conf/all/forwarding=1 # sysctl net/ipv6/conf/all/forwarding=1
Diese Befehle setzen für alle vorhandenen Netzwerkinterfaces den Weiterleitungsstatus für den momentanen Boot. Eine dauerhafte Aktivierung lässt sich durch Anlegen der Datei /etc/sysctl/90-ipforwarding.conf (auf einigen Distributionen durch Anpassung der Datei /etc/sysctl.conf) erreichen:
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1
Selbstverständlich können diese Optionen auch nur für diejenigen Interfaces gesetzt werden, für die es gewünscht wird.
Konfiguration: hostapd
Der WLAN-Dienst hostapd wird mittels der Datei /etc/hostapd/hostapd.conf konfiguriert. Standardmäßig ist diese Datei mit einer Fülle von Konfigurationsdirektiven bestückt, die allerdings nur als Beispiele zu verstehen sind und die dementsprechend nicht einschüchternd wirken sollten. hostapd ermöglicht hochkomplexe Setups mit WPA-Enterprise-Verschlüsselung, externem RADIUS-Server und Authentifikation gegen LDAP, die für das übliche Heim-WLAN allerdings sowohl Overkill als auch zu schwer zu warten sind. Die Reduktion auf das Wesentliche ergibt eine Konfiguration, die der folgenden ähneln wird:
# Interface interface=wlan0 driver=nl80211 # Main settings ssid=Mein tolles WLAN channel=11 hw_mode=g country_code=DE # Security wpa=3 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP wpa_passphrase=geheime_passphrase auth_algs=1 # Logging logger_syslog=-1 logger_syslog_level=2 # Misc max_num_sta=60 # Files deny_mac_file=/etc/hostapd/hostapd.deny
Diese Konfiguration setzt sich aus verschiedenen Elementen zusammen. Zunächst die grundlegenden Einstellungen: Die Einstellung interface
gibt den Namen des Netzwerkinterfaces an, das von hostapd in den master-Modus versetzt werden soll, im konkreten Fall ist dies derjenige des WLAN-USB-Adapters. Mit driver=nl80211
legt man den Interfacetyp fest, das heißt wie hostapd das Interface anspricht. Für alle gängigen WLAN-Verwendungen ist hier stets nl80211
zu wählen, womit auf das mac80211-Subsystem des Kernels zurückgegriffen wird.