Um etwas Verwirrung aufzuklären:
Das kann man zum Debuggen manuell durchspielen:
Funktioniert es hinterher nicht, ist wahrscheinlich versagendes NDP schuld.
- Grundsätzlich schaltet FreeBSD in der Standardeinstellung IPv6 auf praktisch allen Interfaces ein...
- ...und generiert auf "echten" Interfaces eine Link-Local Adresse. Beides ist hier gegeben.
- Wenn auf einem Interface
accept_rtadv
gesetzt ist, werden Router Advertisments akzeptiert und es wird einmalig(!) beim Boot eine Konfiguration per SLACC durchgeführt... - ...was gut für statische Verbindungen ist, aber sobald die Sache dynamisch wird - wie es bei dir der Fall ist - will man auf jeden Fall von
rtsold_enable="YES"
. Nur mit einem laufendenrtsold
werden spätere Router Advertisements beachtet. - Möchte man zusätzlich zu SLACC statische Adressen, müssen sie als Alias gesetzt werden. Also
ifconfig_wlan0_alias0="inet6 ...
und so weiter für weitere Aliases. Aliases müssen zwingend durchgehend nummeriert sein,also Auf alias0 folgt alias1, etc. - Möchte man nur statische Adressen und kein SLACC, wird die erste Adresse direkt auf dem Interface und jede weitere Adresse als Alias gesetzt.
Das kann man zum Debuggen manuell durchspielen:
- Alles zu IPv6 aus der rc.conf raus und in einen sauberen zustand rebooten.
ifconfig wlan0
sollte eine Link Local Adresse zeigen. Tut es das nicht, auf dem Interface perifconfig wlan0 inet6 -ifdisabled
IPv6 einschalten. Bekommt es noch immer keine Link Local Adresse, deren Generierung perifconfig wlan0 inet6 auto_linklocal
anweisen. Jetzt ist das Interface vorbereitet.- Man kann das Interface nun einmalig per SLACC konfigurieren. Dazu
rtsol -D wlan0
. Empfängt es keine Router Solication, werden in dem Netz entweder keine gesandt oder sie erreichen das Interface nicht. Liegt ein Ausschluskriterium vor - das prominente Beispiel ist, dass packet Forwarding eingeschaltet ist - wird das mehr oder minder verständlich gesagt. Bei erfolgreicher Konfiguration lassen sich die Lebensdauern der erhaltenen Adressen perifconfig -L wlan0
mitausgeben lassen. Bei dynamischen ISP-Prefixen ist die meist vergleichsweise kurz. - Um später Updates auf seine SLACC-Konfiguration zu bekommen, muss rtsold laufen. Das kann man schön im Vordergrund machen, sodass man sieht, was passiert:
rtsold -D -f wlan0
- Last but noch least kann man per
ifconfig wlan0 inet6 $adresse/$prefixlen alias
beliebig viele statisch konfigurierte Aliase setzen.
Funktioniert es hinterher nicht, ist wahrscheinlich versagendes NDP schuld.