Mam Vagrant instalację Ubuntu w VirtualBox. Próbuję utworzyć publiczny interfejs sieci wirtualnej, do którego mogę uzyskać dostęp z hosta. Nie miałem problemu z zrobieniem tego z ipv4. Za pomocą ipv6 konfiguruję interfejs w następujący sposób:
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
Interfejs wygląda następująco:
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)
Z komputera hosta nie wydaje się pingować tego adresu w interfejsie.
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
Myślę, że być może będę musiał skonfigurować Vagrant lub VirtualBox, aby akceptował połączenia ipv6.
Kolejny punkt. Mój obecny dostawca usług internetowych nie jest jeszcze przyjazny dla IPv6. Nie podejrzewam, że ma to coś wspólnego z tym, ponieważ powinno to być lokalne żądanie.
Aktualizacja: Dla lepszej oceny podałem interfejsowi adres IPv4, taki jak:
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)
I mogę pingować z hosta bez problemu:
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
Aktualizacja: Interfejs hosta wygląda następująco:
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
Który pokazuje, że żaden z interfejsów VirtualBox nie ma inet6, i prawdopodobnie jest to problem, ale nie jestem pewien, jak to włączyć.
źródło
Odpowiedzi:
Wygląda na to, że użycie
public_network
opcji włóczęgi połączy interfejs virtualbox z interfejsem hosta piggy backing IPV6źródło