Seit einiger Zeit hatte ich bereits den Plan gefasst, unter Linux einen WiFi-Accesspoint selber zu bauen - also: die Softwarekonfiguration. Vergangene Woche habe ich nun endlich den Gedanken in die Tat umgesetzt...
Nach einem ersten Erfolg überlegte ich, dass ich mein stabiles Linux ungern mit solchen Tests verunreinigen wollte - daher kam ich auf die Idee, die WLan-Schnittstelle in eienn LXC-Container auszulagern. Dort wollte ich dann in einer kontrollierten Umgebung den Accesspoint aufsetzen und weitere Experimente durchführen. Das brachte zwei Aspekte, die ich bisher in meiner Arbeit mit LXC noch nie umsetzen musste: mehr als eine Netzwerkschnittstelle in einem Container und eine Schnittstelle direkt in einen Container durchzureichen.
Beide Anforderungen lassen sich mit dem hier gezeigten Gist erreichen, der einen Teil einer LXC-Konfiguration (Netzwerk) zeigt.
Damit kann man den Container starten und im Container weiterarbeiten. Ich arbeitete mit einem Ubuntu16.04 im erstellten Container - die hier gemachten Aussagen lassen sich also auf einem Ubuntu 16.04 Host in einem Ubuntu 16.04 Container sofort nachvollziehen. In davon abweichenden Konfigurationen muss unter Umständen der eine oder andere Aspekt angepasst werden...
Um hostapd mit der neuen Konfiguration beim Start des Containers automatisch starten zu lassen, müssen die folgenden Zeilen in die Datei /etc/default/hostapd eingefügt werden:
RUN_DAEMON="yes"
DAEMON_CONF="/etc/hostapd.conf"
DAEMON_OPTS="-dd"
Die Datei zur Vereinbarung individueller PSKs für einzelne MAC-Adressen besteht aus einzelnen Zeilen, deren Beginn die jeweilige MAC-Adresse darstellt, gefolgt von Whitespace und dem kodierten PSK. An diese kodierte Version gelangt man durch Aufruf von
wpa_passphrase "<your SSID>" "<the super secret passphrase>"
Nun müssen die durch diese Konfiguration zum Leben erweckten Schnittstellen noch zum Leben erweckt werden. Das geschieht mit einer entsprechend angepassten Datei /etc/network/interfaces - ein Beispiel dafür zeigt dieser Gist.
Weiterhin wäre es schön, ein Skript zu haben, das für SSID 2 (ein Passwort pro MAC Adresse) für einen neuen User/ein neues Gerät die Konfigurationsanpassungen all-in-one ausführt und als Ergebnis gleich einen QR-Code anzeigt, den der User scannen kann (Geek-Factor: QR-Code als ASCII-Art!).
Und schließlich sind QR-Codes schön und gut - aber wir müssen auch an die Laptop-User denken: Hier wäre es schön, wenn sich eine Möglichkeit finden ließe, WPS anzubieten...
WLAN-Access-Point mit hostapd und USB-Stick
hostapd AP-disabled ath10k_pci
How to Setup a Wireless Access Point in Linux OS (hostapd)
Pass wireless interface to LXC container
Raspberry WLAN Access Point Tutorial
Implement strong WIFI security
Multiple SSIDs with hostapd
hostapd Access Point auf 5 GHz
09.06.2018
Nachdem ich mich nun dazu durchgerungen habe einen Raspi zu erwerben, habe ich auch gleich erste Tests damit durchgeführt. Einer der ersten überhaupt sollte die Umsetzung des in vorhergehenden Artikel beschriebenen WiFi Access-Points darstellen - das funktionierte allerdings nicht so reibungslos wie erhofft...
12.05.2018
Wie bereits am Ende des vorhergehenden Artikel zu diesem Thema beschrieben, standen noch die Themen regelmäßiger Tausch der Secrets, Erzeugung von QR-Codes und WPS aus - hier die Auflösung...
Fährnisse des Buildprozesses unter Windows
17.07.2019
Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Git(lab|hub) Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.
Weiterlesen...Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.
Weiterlesen...Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.
Weiterlesen...Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.