IPv6 ein- und Rechner ausschalten mit FreeBSD
Meine Kiste hat nun (u.a.) FreeBSD. Aber es gibt da kleine Dinge, die doch sehr nervig sind. Die Fixes sind oft trivial, müssen aber erst mal gefunden werden.
Tastaturprobleme
Fangen wir mit dem nervigsten Problem an: Deutsche Tastatur unter X11R7.7.
Was schreibe ich? Erstmal überhaupt Tastatur und Maus unter Xorg haben! Im Log steht, daß der X-Server die in der Konfig angebenen Treiber wieder rauswirft. Und am Ende stehe ich ohne Eingabegeräte da. Was soll der Mist?
Um aus dem unbefriedigenden Zustand herauszukommen, rebooten zu müssen, habe ich den X-Server angewiesen, nicht ohne Eingabegeräte zu starten:
Option "AllowEmptyInput" "no"
Das Ergebnis war verblüffend: Er startete trotzdem und Tastatur und Maus funktionierten!
Die Lösung ist dem Fortschritt geschuldet: X11R7.7 hat den Abstraktionslevel verändert. Es bedient sich nun der dynamischen Geräteverwalter. Hat man das nicht aktiviert, verweigert der X-Server die Arbeit. Und so stellt man sich dem Fortschritt erstmal nicht in den Weg.
Auch störend – für einen Arbeitsplatz – ist der manuelle Griff zum Ausschalter, weil die Ctrl-Alt-Del Tastenkombination immer durchstartet.
Hier ist die Lösung ebenfalls einfach und für einen Linuxer nicht offenkundig dokumentiert: Man muß die Tastaturbelegung anpassen.
$ cd /usr/share/syscons/keymaps/ $ sed 's/boot/pdwn/g' < german.iso.kbd > german.iso.powerdown.kbd $ diff german.iso.kbd german.iso.powerdown.kbd 89c89 < 083 del '.' '.' '.' '.' '.' boot boot N --- > 083 del '.' '.' '.' '.' '.' pdwn pdwn N 109c109 < 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O --- > 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 pdwn fkey61 O $ cat <<END >>INDEX.keymaps german.iso.powerdown.kbd:en:German ISO-8859-1 (powerdown) german.iso.powerdown.kbd:de:Deutsch ISO-8859-1 (abschalten) END $ grep keymap /etc/rc.conf keymap="german.iso.powerdown.kbd"
Damit sind die wesentlichen Probleme an der Tastatur gelöst. Locale Einstellungen, UTF-8 Ausgaben etc. sind ja mehr oder weniger alte Bekannte.
IPv6
Mein Blog zeigt mir allerdings an, daß ich mit IPv4 zugreifen würde. Das ist nicht schön.
Ich wünsche schon eine deutliche IPv6 Präferenz, aber wo stellt man die ein? Als FreeBSD8 Nutzer, hatte ich da bisher keine Überraschungen erlebt.
Aber seit FreeBSD9 gibt es ip6addrctl, welches die Site Policy setzt. Diese Art der Auswahl der Quelladressen für Verbindungen wurde von Microsoft eingeführt und von der IETF standardisiert. Der aktuelle Stand findet sich in RFC6724.
Unglücklicherweise ist das rc.d-Script sehr konservativ eingestellt. Die Vorauswahl "auto" aktiviert die Bevorzugung von IPv6 nur, wenn sämtliche Interfaces IPv6 sprechen. Aber die sind zum Teil nicht mal angesteckt.
So lautet die Lösung schlicht in der rc.conf aktiv auf eine IPv6 bevorzugende Site Policy umzustellen:
ip6addrctl_policy="ipv6_prefer"
Fertig.