Nachbarwerbung oder Werbung, die nicht zwischen Schnittstellen weitergeleitet wird

844
Sam

Ich habe Ubuntu 12.04 in einer VirtualBox-VM auf einem Windows 8-Hostcomputer installiert. Windows 8 hatte ein gehostetes (drahtloses) Netzwerk, mit dem ich mich mit meinem Android-Telefon verbinden kann. Die eth0-Schnittstelle meiner VM ist über einen Brückenadapter mit dem Windows-Netzwerk verbunden.

Darüber hinaus ist ein drahtloses 6LoWPAN (drahtloses persönliches Netzwerk mit geringem Stromverbrauch über IPv6 unter Verwendung von 802.15.4) über einen Dongle an die USB0-Schnittstelle meiner VM angeschlossen. In diesem Netzwerk befinden sich mehrere Zigduino-Knoten. Jetzt muss ich von meinem Telefon an diese Sensorknoten pingen.

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

Das Problem ist jetzt, dass ich bereits Stunden damit verbracht habe, aber ich kann das immer noch nicht. Ich habe eth0 eine statische IPv6-Adresse gegeben aaaa::xxxx:xxxx:xxxx:xxxxund mache Router-Ankündigungen von dieser Schnittstelle mit Präfix aaaa::/64über radvd (damit mein Telefon auch eine aaaa::xxxx:xxxx:xxxx:xxxxAdresse erhält ). Die IP-Adresse meines Dongles und der Sensorknoten ist auch so etwas aaaa::xxxx:xxxx:xxxx:xxxx. Während des Pings beobachtete ich den Verkehr mit Wireshark. Mir ist aufgefallen, dass eth0 Router-Vorwürfe von meinem Telefon erhält, aber diese erreichen usb0 nicht. Es sieht so aus, als würden sie nicht an die usb0-Schnittstelle weitergeleitet, so dass meine VM nicht weiß, was mit diesen Nachrichten zu tun ist, und der Ping-Vorgang fehlschlägt.

IPv6-Weiterleitung und alle diese Funktionen sind bereits aktiviert, und ich verstehe, dass dies aus dem reicht, was ich im Internet gelesen habe. Irgendwelche Ideen, was ich falsch mache?

1

2 Antworten auf die Frage

3
Sander Steffann

Zwei Anmerkungen: Sie sollten ULA-Adressen anstelle von verwenden aaaa:, aber das ist für Ihr Problem egal.

Der Grund dafür, dass Ihre Bridge nicht funktioniert, ist, dass 6LoWPAN nicht mit Ethernet kompatibel ist. Daher können Sie keine Bridge zwischen ihnen herstellen. Beim Bridging werden nur Frames zwischen Schnittstellen kopiert. 6LoWPAN verwendet jedoch ein anderes Frame-Format mit anderen Layer-2-Adressen (MAC-Adressen) als Ethernet.

Eine Lösung wäre, ein /64Subnetz für Ihr Ethernet-Netzwerk und ein separates /64für Ihr 6LoWPAN-Netzwerk zu verwenden. Dann müssen Sie tatsächlich die IPv6-Weiterleitung aktivieren, damit Ihre Box Pakete zwischen den Netzwerken weiterleitet. Wenn Ihre Box das Standard-Gateway für beide Netzwerke ist, werden die Pakete zwischen ihnen weitergeleitet. Ist dies nicht der Fall, müssen Sie ein Routing einrichten, damit die anderen Gateways / Router wissen, wohin Pakete für diese Netzwerke gesendet werden sollen.

Vielen Dank für Ihre hilfreiche Antwort. Ich habe jetzt zwei verschiedene Subnetze eingerichtet (eines mit dem Präfix 'aaaa :: / 64' und eines mit 'bbbb :: / 64'), die IPv6-Weiterleitung ist aktiviert und meine Box ist das Standard-Gateway für beide Netzwerke. Trotzdem bekomme ich dasselbe Ergebnis. Das Hinzufügen von Routing-Einträgen zu meiner Box funktioniert nicht (ungültige Argumente für meine Gateway-Adresse?). Eine andere Sache: Könnte es etwas mit der Tatsache zu tun haben, dass dieses gehostete Windows 8-Netzwerk standardmäßig IPv4-Adressen verwendet (mit Ausnahme von Link-Local-Adressen) und ich nur radvd verwende, um mein 'bbbb ::' - Präfix anzukündigen, um eine IPv6-Adresse zu erhalten auf meinem Telefon? vor 9 Jahren 0
Damit dies funktioniert, benötigen Sie auf allen Geräten IPv6 (echte Adressen, nicht nur Link-Local). Sander Steffann vor 9 Jahren 0
Tatsächlich ist das der Fall ... Aber sie haben auch noch ihre IPv4-Adressen. vor 9 Jahren 0
Dann verstehe ich Ihren Kommentar zu Ihrem gehosteten Windows 8-Netzwerk nicht. Sander Steffann vor 9 Jahren 0
Ich meine, dieses "gehostete Windows-Netzwerk" auf der eth0-Seite unterstützt wahrscheinlich kein IPv6, da es meinen Geräten nicht automatisch globale IP-Adressen gibt. Diese Geräte haben IPv6-Adressen erhalten, weil ich das Präfix mit radvd angekündigt habe. Könnte das der Grund sein, dass es nicht funktioniert? Soll ich stattdessen Tunnel verwenden? Oder gibt es eine Möglichkeit, vom IPv4-Netzwerk zum IPv6-Netzwerk weiterzuleiten? Sam vor 9 Jahren 0
Es tut mir leid, ich kann dir nicht folgen. Zuerst sagen Sie "IPv6 wird nicht unterstützt" und "Globale IP-Adressen werden meinen Geräten nicht automatisch zugewiesen", gefolgt von "Diese Geräte haben IPv6-Adressen erhalten, weil ich das Präfix mit radvd angekündigt habe", was den vorherigen Anweisungen ausdrücklich widerspricht ... Sander Steffann vor 9 Jahren 0
Dann unterstützt es wahrscheinlich IPv6. Ich weiß es nicht. Der eth0-Schnittstelle in meiner VM wird eine statische IPv6-Adresse zugewiesen, die mit der von radvd angekündigten Werbung übereinstimmt, und mein Telefon verwendet die Ankündigungen, um eine IPv6-Adresse zu erhalten. Vielleicht spielt das auch keine Rolle, aber ich gebe nur ein bisschen mehr Informationen zu meinem Setup, weil es nicht funktioniert, obwohl es Ihrer (und vielen anderen) Erklärung entsprechen sollte. Sam vor 9 Jahren 0
0
Sam

Es stellt sich heraus, dass es sich bei den Wi-Fi-Treibern von VirtualBox um einen Fehler handelt. Nichts dagegen zu tun. Ich verwende jetzt einen IPv6-Router / AP, der über Ethernet mit meinem Computer verbunden ist.