Jak korzystać z ipv6 z Vagrant i VirtualBox?


9

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ć.


Żeby było jasne, to jest VirtualBox na hoście FreeBSD?
Michael Hampton,

to jest host OSX
kevzettler

Odpowiedzi:


3

Wygląda na to, że użycie public_networkopcji włóczęgi połączy interfejs virtualbox z interfejsem hosta piggy backing IPV6

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.