Ich habe ein Vagrant-Setup, auf dem Ubuntu in VirtualBox ausgeführt wird. Ich versuche, eine öffentliche virtuelle Netzwerkschnittstelle zu erstellen, auf die ich vom Host aus zugreifen kann. Ich hatte kein Problem damit mit IPv4. Mit ipv6 habe ich die Schnittstelle wie folgt eingerichtet:
guest$ ip link add derpcraft link eth1 type macvlan mode bridge;
guest$ ip -6 addr add fdfe:dcba:9876:ffff::/64 dev derpcraft
guest$ ip link set derpcraft up
Die Oberfläche sieht aus wie:
derpcraft Link encap:Ethernet HWaddr 26:22:d5:54:95:00
inet6 addr: fe80::2422:d5ff:fe54:9500/64 Scope:Link
inet6 addr: fdfe:dcba:9876:ffff::/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:264 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:52989 (52.9 KB) TX bytes:2040 (2.0 KB)
Auf dem Host-Computer kann ich diese Adresse anscheinend nicht auf der Schnittstelle anpingen.
host$ ping6 fe80::2422:d5ff:fe54:9500
ping6: UDP connect: No route to host
host$ ping6 fe80::2422:d5ff:fe54:9500%::1
ping6: UDP connect: No route to host
host$ ping6 fdfe:dcba:9876:ffff::
ping6: UDP connect: No route to host
host$ ping6 fdfe:dcba:9876:ffff::%::1
ping6: UDP connect: No route to host
Ich denke, ich muss möglicherweise Vagrant oder VirtualBox konfigurieren, um IPv6-Verbindungen zu akzeptieren.
Ein weiterer Punkt. Mein aktueller ISP ist noch nicht IPv6-freundlich. Ich vermute nicht, dass das etwas damit zu tun hat, denn dies sollte alles eine lokale Anfrage sein.
Update: Aus gutem Grund habe ich der Benutzeroberfläche eine IPv4-Adresse gegeben wie:
guest$ ip address add 192.168.33.11/24 broadcast 192.168.33.255 dev derpcraft
guest$ ifconfig
derpcraft Link encap:Ethernet HWaddr 26:22:d5:54:95:00
inet addr:192.168.33.11 Bcast:192.168.33.255 Mask:255.255.255.0
inet6 addr: fe80::2422:d5ff:fe54:9500/64 Scope:Link
inet6 addr: fdfe:dcba:9876:ffff::/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1736 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:418224 (418.2 KB) TX bytes:2040 (2.0 KB)
Und ich kann das vom Host aus problemlos anpingen:
host$ ping 192.168.33.11
PING 192.168.33.11 (192.168.33.11): 56 data bytes
64 bytes from 192.168.33.11: icmp_seq=0 ttl=64 time=0.497 ms
64 bytes from 192.168.33.11: icmp_seq=1 ttl=64 time=0.426 ms
64 bytes from 192.168.33.11: icmp_seq=2 ttl=64 time=0.388 ms
^C
--- 192.168.33.11 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.388/0.437/0.497/0.045 ms
Update: Die Host-Oberfläche sieht folgendermaßen aus:
host$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 04:0c:ce:e4:1f:be
inet6 fe80::60c:ceff:fee4:1fbe%en0 prefixlen 64 scopeid 0x4
inet 192.168.1.72 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 06:0c:ce:e4:1f:be
media: autoselect
status: inactive
vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00
vboxnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:01
inet 192.168.33.1 netmask 0xffffff00 broadcast 192.168.33.255
Was zeigt, dass keine der VirtualBox-Schnittstellen inet6 hat, und dies ist wahrscheinlich das Problem, aber ich bin nicht sicher, wie ich es aktivieren soll.