MikroTik Netinstall
Beim Experimentieren mit einem MikroTik WLAN Accesspoint hatte sich das Adminkennwort nach mehrfachem Zurücksetzen so verstellt, dass ich mich weder mit leerem Kennwort noch mit dem auf dem Accesspoint aufgedruckten noch mit dem von mir vergebenen anmelden konnte.
Ein Factory-Reset funktionierte auch nicht, inzwischen spannte der AP nicht einmal mehr sein Default-WLAN auf.
Der letzte Ausweg war die Neuinstallation des Betriebssystems über Netz. MikroTik stellt dafür das Programm Netinstall in Versionen für MS Windows und Linux zur Verfügung.
Da ich keinen Windows-Rechner zu Hause habe, wählte ich die Linuxversion netinstall-cli. Das Programm enthält einen DHCP-Server und einen TFTP-Server, viel mehr braucht es nicht, um ein MikroTik-Gerät über Netz in Betrieb zu nehmen.
Allerdings bindet das Programm den UDP-Port 67 (DHCP-Server) direkt an die Netzwerkadresse, so dass die Broadcasts, die der Accesspoint beim Booten in den Netinstallmodus sendet, nicht am Programm ankommen.
Ich hatte noch versucht,
per iptables Regeln den Broadcast-Traffic auf die Unicast-Adresse umzuschreiben,
doch leider ohne Erfolg.
Möglicherweise lag es daran,
dass auf dem Rechner nftables im Kompatibilitätsmodus lief.
Jedenfalls legte ich alles erst einmal beiseite,
weil ich Gäste erwartete
und den Platz brauchte.
Etwas später kam mir doch noch eine Idee, wie es mit dem Linux-Programm funktionieren könnte: Indem ich den Accesspoint nicht im selben VLAN wie den Linuxrechner anschließe, sondern über ein Gateway, welches die DHCP-Broadcasts mittels DHCP-Forwarder als Unicast-Datagramme weiter sendet.
Vor dem nächsten Versuch las ich noch einmal in den Handbuchseiten zu Netinstall bei MikroTik und sah dort, dass ab Version 7.24 eine Maschine mit RouterOS mit dem Softwarepackage netinstall als Netinstall-Server dienen konnte.
Da ich den Accesspoint sowieso mit CAPsMAN auf einem CHR steuern wollte, nahm ich einen Snapshot vom aktuellen Stand des CHR und aktivierte das Package Netinstall:
/system/package
enable netinstall
apply-changes
Die VM startet danach neu.
Für die Tests habe ich das Labor-VLAN auf dem CHR konfiguriert:
/ip/address
add address=10.1.2.1/24 interface=labor
/tool/netinstall
add interface=labor keep-old-configuration=no \
apply-default-configuration=yes \
extra-packages=wifi-qcom
Den Accesspoint habe ich mit ether1 am Labor-VLAN angeschlossen (der andere Ethernet-Port eignet sich nicht für Netinstall). Ich schaltete den AP mit gedrückter Resettaste ein und hielt die Taste gedrückt, bis die LED anfing zu blinken.
Nach ein paar Minuten waren RouterOS und Default-Konfiguration auf dem AP wiederhergestellt. Das Gerät strahlte eine SSID aus und über ether2 konnte ich mich mit dem Admin-Kennwort, welches auf dem Gerät aufgedruckt ist, anmelden.
Der CHR hatte sich die auf dem AP installierte Software selbst besorgt und im Verzeichnis NetinstallCache abgelegt:
file print path=NetinstallCache
Columns: NAME, TYPE, SIZE, LAST-MODIFIED
# NAME TYPE SIZE ...
0 NetinstallCache/routeros-7.24.4-arm64.npk package 13.3MiB ...
1 NetinstallCache/linux.arm64 .arm64 file 7.3MiB ...
2 NetinstallCache/wifi-qcom-7.24.4-arm64.npk package 11.0MiB ...
Vom Uplink (ether1) aus konnte ich mich danach allerdings noch nicht anmelden, da diese Schnittstelle per Default als WAN-Schnittstelle konfiguriert ist und keinen Zugang erlaubt. Eine eingeschobene Firewallregel erledigte auch dieses Problem.