Estoy intentando crear una red 6lowpan con dispositivos Raspberry Pi y sistemas integrados. Habilité bluetooth_6lowpan ( modprobe bluetooth_6lowpan
y echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
) en ambos dispositivos raspberry pi, donde uno está instalado con radvd y configurado como
interface bt0
{
AdvSendAdvert on;
prefix 2001:db8::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
Conecté otra Raspberry Pi (Pi 4, con kernel versión 5.4.83-v7l+) y un dispositivo integrado a este enrutador (Pi W Kernel versión 5.4.79+). Puedo hacer ping entre dispositivos y enrutador desde ambos lados, pero no puedo hacer ping desde una raspberry pi al otro dispositivo integrado a través del enrutador. Además, no puedo abrir un socket entre el enrutador y el dispositivo Raspberry Pi (puedo abrir un socket desde un dispositivo integrado y puede enviar datos pero no recibir). Parece que raspberry pi no reenvía ningún paquete a la interfaz bt0.
ip -6 route
de ambos raspberry pi se encuentran a continuación:
dispositivo
::1 dev lo proto kernel metric 256 pref medium
2001:db8::/64 dev bt0 proto kernel metric 256 expires 86263sec pref medium
fe80::/64 dev bt0 proto kernel metric 256 pref medium
default via fe80::b827:ebff:fe0e:8ee dev bt0 proto ra metric 1024 expires 1663sec hoplimit 64 pref medium
enrutador
::1 dev lo proto kernel metric 256 pref medium
2001:db8::/64 dev bt0 proto kernel metric 256 pref medium
fe80::/64 dev wlan0 proto kernel metric 256 pref medium
fe80::/64 dev bt0 proto kernel metric 256 pref medium
EDITAR 1
En comparación con la guía (https://jan.newmarch.name/IoT/LinuxJournal/Routing/, ¿por qué necesitamos una interfaz lowpan?), descubrí que la siguiente esperanza para la ruta predeterminada (usando el comando route -A inet6
) [::]/0 es la dirección del enrutador, fe80::1 en el tutorial, pero en En mi caso, toda la próxima esperanza es [::]. ¿Es este el problema? ¿Como puedo resolver esto?
Probé lo siguiente
sudo ip r a 2001:db8::/64 dev bt0
sudo ip r a default via 2100:db8::1
RTNETLINK answers: No route to host
Y nada cambió para la ruta -A salida inet6, que es
Kernel IPv6 routing table Destination Next Hop Flag Met Ref Use If localhost/128 [::] U 256 1 0 lo
2001:db8::/64 [::] U 256 2 0 bt0
2001:db8::/64 [::] U 1024 1 0 bt0
fe80::/64 [::] U 256 2 0 wlan0
fe80::/64 [::] U 256 2 0 bt0
[::]/0 [::] !n -1 1 0 lo
localhost/128 [::] Un 0 3 0 lo
2001:db8::/128 [::] Un 0 3 0 bt0
2001:db8::1/128 [::] Un 0 4 0 bt0
fe80::/128 [::] Un 0 4 0 wlan0
fe80::/128 [::] Un 0 3 0 bt0
fe80::98d4:d9d4:4e46:dc6a/128 [::] Un 0 3 0 wlan0
fe80::b827:ebff:fe0e:8ee/128 [::] Un 0 3 0 bt0
ff00::/8 [::] U 256 4 0 wlan0
ff00::/8 [::] U 256 2 0 bt0
[::]/0 [::] !n -1 1 0 lo