Wenn Dinge, die keine 5 Minuten dauern sollten, auch wegen vermeintlich »intelligenter Software« noch nach 30 Minuten nicht tun, werde ich schnell ballistisch — zu recht, IMHO.
Ich arbeite seit drei Dekaden mit Linux »for a living«, sprich: verdiene mehr oder minder meine Brötchen in dem Kontext. Aber Dritte werfen mir immer wieder Steine in den Weg, weil sie erstklassig funktionierende Teilaspekte »optimieren« wollen.
Und da sind ›wir‹ heute wieder aneinander geraten; vorweg: meinen Desktop betreibe ich als »quasi Laptop«, d. h. da ist der ganze Spaß an vermeintlichen Segnungen für Linux-Desktops am Start: network-manager, systemd-resolvd, systemd-couldntcarelessd …
Normalerweise klappt das auch hinreichend gut, denn wenn ich im ifupdown-Kontext ein Interface konfiguriere, läßt der moderne Bullshit i. d. R. seine Pfoten davon. Irgendwie … aber gerade nicht.
root@cohen:~# cat /etc/network/interfaces.d/enxf8e43b9f1c96.conf auto enxf8e43b9f1c96 iface enxf8e43b9f1c96 inet static address 192.168.1.66/24
Das sollte eigentlich ein (bestimmtes) USB-Ethernet-Dongle auf 192.168.1.66 konfigurieren, wenn man es einsteckt. Allein, nein, denn nach dem Stecken passiert dies:
root@cohen:~# ip addr show enxf8e43b9f1c96 Device "enxf8e43b9f1c96" does not exist. root@cohen:~# ip addr show enxf8e43b9f1c96 96: enxf8e43b9f1c96:mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether f8:e4:3b:9f:1c:96 brd ff:ff:ff:ff:ff:ff root@cohen:~# ip addr show enxf8e43b9f1c96 96: enxf8e43b9f1c96: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether f8:e4:3b:9f:1c:96 brd ff:ff:ff:ff:ff:ff
Dunno, vielleicht halte ich es falsch — aber daß enxf8e43b9f1c96 per DHCP sich IPs zieht, müßte nach meinem Dafürhalten ausgeschlossen sein … War es aber nicht. Denn ich hatte einen Switch zwischengeschaltet, damit sich auf der Seite des Desktops am Linkstatus nichts ändert. Als ich dazu eine jungfräuliche FB5530 nahm, hatte enxf8e43b9f1c96 plötzlich die 192.168.178.230 … not helping. Also den PoE-Switch für die Kameras genommen, der in Kabelreichweite lag; aber ohne korrekte IP auf dem Interface keine Kekse.
Und irgendwann hatte ich die Nase voll: Ich brauche nun einmal desktopseitig ein IF mit fester IP in einem vorgegebenem Bereich, und ich will das nicht in einer bekifften GUI eintragen müssen. Es soll einfach nur ein Skript dort laufen und die Vendor-Firmware eines angeschlossenen Access-Points erst mit OpenWrt und dann mit unserer Gluon-Variante ersetzen. Das tat aber um’s verrecken nicht, weil das temporäre USB-Ethernet nicht auf die definierte IP-Adresse konfiguriert wurde. Wie gesagt, Sache von 5 Minuten und ich habe da schon ’ne halbe Stunde erfolglos reinversenkt.
Also bleibt nur brute force: Linux ist eine Multitasking-Umgebung, also neue Shell gestartet, root geworden, und Feuer frei:
while [ 1 ] ; do ip addr add 192.168.1.66/24 dev enxf8e43b9f1c96 ||: ; done
Damit war das Thema vom Tisch, das Skript konnte tapfer Vendor- gegen OpenWrt- gegen Gluon-Firmware tauschen — und weiter zum nächsten Gerät, 99 to go …