staging.inyokaproject.org

IPv6 QEMU VM Multicast Verbindung zu Host

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

max5432432

Anmeldungsdatum:
29. Oktober 2022

Beiträge: Zähle...

Ich möchte zwischen einer QEMU VM und meinem Host der im WLAN hängt eine Verbindung herstellen. Ziel ist, dass die VM und der Host sich gegenseitig über IPv6 Multicast Pakete schicken können. Dafür nutze ich https://github.com/troglobit/mcjoin

Unter IPv4 habe ich es mit diesen Schritten (https://forum.ubuntuusers.de/post/9363969/) geschafft.

Jetzt wollte ich mit genau den gleichen Schritten das ganze auch unter IPv6 zum laufen kriegen.

1. Habe mir mit https://network00.com/NetworkTools/IPv6LocalAddressRangeGenerator/ eine IPv6 Adresse generieren lassen.

IPv6 Network Address
fd46:da63:1201:12d2::/64
First IP
fd46:da63:1201:12d2::1
Last IP
fd46:da63:1201:12d2:ffff:ffff:ffff:ffff

2. Mit nmtui IPv6 Network Address in Bridge eingetragen:

fd46:da63:1201:12d2::1/64

3. ifconfig auf dem Host:

nm-br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.147  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::3415:ae6:c692:604c  prefixlen 64  scopeid 0x20<link>
        inet6 fd46:da63:1201:12d2::1  prefixlen 64  scopeid 0x0<global>
        ether ce:62:28:4e:1b:39  txqueuelen 1000  (Ethernet)
        RX packets 569  bytes 181968 (181.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 3472 (3.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

4. auf vm statisch fd46:da63:1201:12d2:ffff:ffff:ffff:ffff setzen

ifconfig:

eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56  
          inet6 addr: fe80::5054:ff:fe12:3456/64 Scope:Link
          inet6 addr: fd46:da63:1201:12d2:ffff:ffff:ffff:ffff/128 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17 errors:0 dropped:3 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2249 (2.1 KiB)  TX bytes:5206 (5.0 KiB)

5. Multicast Route auf Host setzen

~$ sudo ip -6 route add ff02::1 via fd46:da63:1201:12d2::1 dev nm-br0
Error: Gateway can not be a local address.

Wie geht es richtig? Ich verstehe nicht, in meinem Fall muss das Gateway doch eine lokale Addresse sein?

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 16818

ff02::1 ist link-local all nodes multicast. https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml

Da ist nix mit Routing. Das braucht dann min. site-local.

Ein Router (auch Gateway genannt) hat ein oder mehrere IPs. Alle erreichbaren IPs (also ::! nicht) können als via eingetragen werden. Die müssen eh auf dem gleichen Link sein wie der Rechner (sonst macht das Routing keinen Sinn).

max5432432

(Themenstarter)

Anmeldungsdatum:
29. Oktober 2022

Beiträge: Zähle...

Ich wollte ff02::1 routen, damit es am Bridge Interface landet und nicht am Host WLAN Interface. Ich möchte dann nämlich mit https://scapy.net/ eine General Query an die VM schicken und die VM soll auf diese reagieren.

In MLDv2, General Queries are sent to the link-scope all-nodes multicast address (FF02::1).

https://datatracker.ietf.org/doc/html/rfc3810

Im Vergleich dazu, bei IPv4 musste ich 224.0.0.1 auf die VM routen und wollte das analog jetzt für IPv6 wieder tun.

sudo ip route add 224.0.0.1 via 192.168.3.100 dev nm-br0

encbladexp schrieb:

Du kannst eine Bridge anlegen, in welcher nur die VM ist. Der Host ist automatisch, auch ohne weiteres Interface in der Bridge, teil der Bridge. Musst halt IP/Netzmaske nach deinen Vorlieben konfigurieren.

https://forum.ubuntuusers.de/post/9349038/

Es geht nur um Host - VM Kommunikation. So wie ich das Zitat verstehe, wird da nicht der Router genutzt, da die Pakete gar nicht am Router ankommen, sondern die Pakete gehen von Host Interface direkt zum VM Interface anhand der Linux Routing Table. Die ich mit ip route add setze. Oder verstehe ich etwas komplett falsch?

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 16818

Link-local ist nicht dafür vorgesehen, geroutet zu werden. Dafür braucht man mindestens site-local.

Antworten |