Nur einen Switch aber keine Kabel für eine Kundenschulung? Nur eine UMTS-Karte aber mit Laptop und Tablet surfen wollen? Informatiker-untypisch in der freien Natur und trotzdem mit mehreren Leuten ein Netzwerk aufbauen? Die Lösung für diese Probleme ist relativ einfach und nennt sich hostapd. Dieser kleine Daemon ist zumindest unter Fedora recht schnell mit yum install hostapd installiert, sollte aber auch auf allen anderen Distributionen nur ein Kommando entfernt sein.
Die Konfiguration muss dann nicht so kompliziert aussehen wie in der Beispieldatei. Meine Konfiguration sieht beispielsweise ungefähr so:
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
# Some usable default settings…
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
wpa_passphrase=strenggeheim
# Most modern wireless drivers in the kernel need driver=nl80211
driver=nl80211
interface=wlan0
hw_mode=g
channel=11
ssid=mobile
Nach dem Start des Dienstes mit systemctl start hostapd.service findet man nun mein WLAN mobile mit beliebigen Geräten und kann sich mit Passwort strenggeheim anmelden. Hätte ich als Passwort geheim gewählt würde ich auch ganz schnell die Fehlermeldung in /var/log/messages finden, dass eine WPA-Passphrase mindestens 8 Zeichen lang sein muss. Auch würde der Dienst nicht laufen wenn der Standardtreiber oder der Mode nicht für die gewählte Hardware funktioniert.
Nun kann ich mich zwar an diesem WLAN anmelden, was aber noch fehlt ist ein DHCP-Server, der IP-Adressen und DNS-Konfiguration verteilt, sowie das Routing über meine UMTS-Verbindung ins Internet. Mein Setup wird an dieser Stelle etwas komplizierter da ich KVM zur Virtualisierung nutze und den DHCP-Socket für meine interne Infrastruktur benötige. Daher habe ich eine virtuelle Maschine, die diese Funktionen übernimmt, zum Glück beides schon vorbereitet für unsere Schulungen. In einem simpleren Setup würde ich einfach per DHCP IP-Adressen in einem privaten Adressbereich verteilen, der sich nicht mit dem meines Providers und eventueller VPN-Verbindungen überschneidet, und als DNS-Server 8.8.8.8 (den öffentlichen DNS-Server von Google). Für das Routing reichen neben aktiviertem Forwarding einfache iptables-Regel:
-A POSTROUTING -o wwan0 -j MASQUERADE
-A FORWARD -i wwan0 -o wlan0 -m state –state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wwan0 -o wlan0 -j ACCEPT
Ich hoffe dem ein oder anderen hilft diese kurze Anleitung.
Noch einfacher und graphisch soll so ein Setup mit aktuellen NetworkManager-Versionen möglich sein, aber momentan verhindert noch ein Bug bei mir das Upgrade auf Fedora 18.
Unter Fedora geht das noch einfacher. Einfach in den Systemeinstellungen / Netzwerk „als Hotspot verwenden“ anklicken