Solicitud o anuncio de vecino no reenviado entre interfaces

Solicitud o anuncio de vecino no reenviado entre interfaces

Tengo Ubuntu 12.04 instalado en una máquina virtual VirtualBox en una computadora host con Windows 8. Windows 8 tenía una red alojada (inalámbrica) a la que puedo conectarme con mi teléfono Android. La interfaz eth0 de mi VM está conectada a la red de Windows mediante un adaptador en puente.

Además, un 6LoWPAN inalámbrico (red de área personal inalámbrica de baja potencia sobre IPv6 usando 802.15.4) está conectado a la interfaz usb0 de mi VM usando un dongle. En esta red se encuentran varios nodos Zigduino. Ahora necesito hacer ping desde mi teléfono a estos nodos sensores.

phone ---802.11--- eth0 Ubuntu usb0 ---802.15.4--- sensor node

El problema ahora es que ya pasé horas en esto, pero todavía no puedo hacerlo. Le he dado a eth0 una dirección IPv6 estática aaaa::xxxx:xxxx:xxxx:xxxxy hago anuncios de enrutador desde esta interfaz con prefijo aaaa::/64usando radvd (para que mi teléfono también obtenga una aaaa::xxxx:xxxx:xxxx:xxxxdirección). La dirección IP de mi dongle y los nodos sensores también es algo así como aaaa::xxxx:xxxx:xxxx:xxxx. Mientras hacía ping, monitoreé el tráfico usando Wirehark. Noté que eth0 recibe solicitudes de enrutador desde mi teléfono, pero estas no llegan a usb0. Parece que no se reenvían a la interfaz USB0, por lo que mi máquina virtual no sabe qué hacer con estos mensajes y el ping falla.

El reenvío de IPv6 y todo eso ya está habilitado, y entiendo que con esto sería suficiente por lo que leí en Internet. ¿Alguna idea de lo que estoy haciendo mal?

Respuesta1

Dos comentarios: deberías usar direcciones ULA en lugar de aaaa:, pero eso no importa para tu problema.

La razón por la que su puente no funciona es que 6LoWPAN no es compatible con Ethernet, por lo que no puede establecer un puente entre ellos. El puente solo copia tramas entre interfaces, pero 6LoWPAN utiliza un formato de trama diferente con direcciones de capa 2 (MAC) diferentes a las de Ethernet.

Una solución sería utilizar una /64subred para su red Ethernet y otra separada /64para su red 6LoWPAN. Entonces necesitas habilitar el reenvío de IPv6 para que tu caja reenvíe paquetes entre las redes. Si su caja es la puerta de enlace predeterminada para ambas redes, reenviará los paquetes entre ellas. Si no es así, entonces necesita configurar algún enrutamiento para que las otras puertas de enlace/enrutadores sepan dónde enviar paquetes para esas redes.

Respuesta2

Resulta ser un error en los controladores de Wi-Fi de VirtualBox. Nada que hacer al respecto. Ahora uso un enrutador/AP IPv6 que está conectado a mi computadora a través de Ethernet.

información relacionada