1

У меня 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 ответа2

3

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

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

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .