Запрос соседей или реклама не пересылаются между интерфейсами

У меня Ubuntu 12.04 установлена ​​в виртуальной машине VirtualBox на хост-компьютере Windows 8. В Windows 8 была размещена (беспроводная) сеть, к которой я могу подключиться с помощью телефона Android. Интерфейс eth0 моей виртуальной машины подключен к сети Windows через мостовой адаптер.

Кроме того, беспроводная 6LoWPAN (беспроводная персональная сеть с низким энергопотреблением через IPv6 с использованием 802.15.4) подключается к интерфейсу usb0 моей виртуальной машины с помощью ключа. В этой сети несколько узлов Zigduino. Теперь мне нужно пропинговать телефон с этих сенсорных узлов.

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

Проблема в том, что я уже потратил на это часы, но я все еще не могу этого сделать. Я дал eth0 статический адрес IPv6 aaaa::xxxx:xxxx:xxxx:xxxx и сделать рекламу маршрутизатора с этого интерфейса с префиксом aaaa::/64 используя Radvd (так что мой телефон также получает aaaa::xxxx:xxxx:xxxx:xxxx адрес). IP-адрес моего ключа и сенсорных узлов тоже что-то вроде aaaa::xxxx:xxxx:xxxx:xxxx, Во время пинга я отслеживал трафик с помощью wireshark. Я заметил, что eth0 получает запросы маршрутизатора от моего телефона, но они не достигают usb0. Похоже, они не перенаправляются на интерфейс usb0, поэтому моя виртуальная машина не знает, что делать с этими сообщениями, и эхо-запрос не выполняется.

Переадресация IPv6 и все, что уже включено, и я понимаю, что этого будет достаточно из того, что я читаю в Интернете. Есть идеи, что я делаю не так?

2 ответа

Решение

Оказывается, ошибка в драйверах Wi-Fi VirtualBox. Ничего не поделаешь. Теперь я использую маршрутизатор / точку доступа IPv6, которая подключена к моему компьютеру через Ethernet.

Два комментария: вы должны использовать адреса ULA вместо aaaa:, но это не имеет значения для вашей проблемы.

Причина, по которой ваш мост не работает, заключается в том, что 6LoWPAN не совместим с Ethernet, поэтому вы не можете соединить их между собой. Мостовое соединение копирует только кадры между интерфейсами, но 6LoWPAN использует другой формат кадра с адресами уровня 2 (MAC), отличными от Ethernet.

Решение было бы использовать один /64 подсеть для вашей сети Ethernet и отдельный /64 для вашей сети 6LoWPAN. Тогда вам действительно нужно включить переадресацию IPv6, чтобы ваш компьютер пересылал пакеты между сетями. Если ваш ящик является шлюзом по умолчанию для обеих сетей, он будет пересылать пакеты между ними. Если это не так, вам нужно настроить некоторую маршрутизацию, чтобы другие шлюзы / маршрутизаторы знали, куда отправлять пакеты для этих сетей.

Другие вопросы по тегам