#!/coding/blatt
Sammelsurium mit Schwerpunkten Linux & IT-Sicherheit

OpenWrt: QR-Code für WLAN-Zugang erstellen

Aus Sicherheitsgründen sollte für das eigene WLAN ein sicherer Netzwerkschlüssel (Passwort) gewählt werden. Bei mir besteht dieser bspw. aus einer zufallsgenerierten Zeichenkette von 50 Zeichen. Für Familie, Freunde und Gäste ist es zumeist recht mühselig und nervig so einen langen WLAN-Netzwerkschlüssel fehlerfrei einzugeben. Aus diesem Grund habe ich für mein WLAN bzw. Gäste-WLAN einen QR-Code generiert. Diesen kann man mit seinem Endgerät dann einfach einscannen und sich mit dem WLAN verbinden, ohne dabei die SSID und den Netzwerkschlüssel kennen bzw. eintippen zu müssen. Das Ganze lässt sich mit OpenWrt recht einfach realisieren.

Folgende Software wurde verwendet:
  • OpenWrt v24.10.5

qrencode-Paket installieren

Um den QR-Code zu generieren, nutzen wir das Paket qrencode, welches sich wie folgt unter OpenWrt installieren lässt:

opkg update
opkg install qrencode
Terminal / Konsole

Anschließend lässt sich der QR-Code für das jeweilige WLAN generieren. Hierzu speichere ich als erstes die SSID sowie den Netzwerkschlüssel in einer entsprechenden Variable. In meinem Fall lautet der WLAN-Konfigurationspunkt wifinet1. Das kann bei euch abweichend sein und lässt sich z.B. mit einem Blick in /etc/config/wireless rausfinden. Das eigentliche Generieren erfolgt dann mittels dem Befehl qrencode.

SSID=$(uci get wireless.wifinet1.ssid)
KEY=$(uci get wireless.wifinet1.key)
qrencode -o /www/wlan-qr-code.svg -t SVG "WIFI:T:WPA;S:$SSID;P:$KEY;;"
Terminal / Konsole

Der QR-Code wird bei mir als SVG-Grafik in /www gespeichert, so dass ich es direkt im Webbrowser anzeigen und bei bedarf ausdrucken kann:

OpenWrt: WLAN-QR-Code

Scannt ihr diesen QR-Code mit eurem Endgerät ein, so sollte sich dieses automatisch mit dem hinterlegten WLAN verbinden. Mit meinen GrapheneOS-Endgeräten funktionierte es problemlos.

Fazit

Das Nutzen eines QR-Codes zum Teilen eurer WLAN-Zugangsdaten als benutzerfreundliche Alternative zum manuellen Eingeben lässt sich mit OpenWrt sehr leicht umsetzen.