Skip to content

Instantly share code, notes, and snippets.

@0xquad
Last active December 20, 2023 23:07
Show Gist options
  • Save 0xquad/6090af4fe2c5b5fc6299 to your computer and use it in GitHub Desktop.
Save 0xquad/6090af4fe2c5b5fc6299 to your computer and use it in GitHub Desktop.
Fixing VirtualBox IPv6 connectivity on bridged wireless adapter (issue 5503)

Fixing VirtualBox IPv6 connectivity on bridged wireless adapter

VirtualBox has a long standing issue about IPv6 connectivity over a bridged wireless adapter.

The current and easiest workaround I've found is to remove the neighbor entry corresponding to the IPv6 router in the neighbor table. This is on in Linux guest on a Windows host.

$ ping6 icanhazip.com
PING icanhazip.com(2606:4700::6812:7361) 56 data bytes
^C
--- icanhazip.com ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 0ms
rtt min/avg/max/mdev = 0.000/0.000/0.000/0.000 ms
$ ip -6 neigh
2001:db8:1::1 dev enp0s3 lladdr 00:11:95:ad:be:ef router STALE
2001:db8:1:211:95ff:dead:beef dev enp0s3  FAILED
fe80::211:95ff:dead:beef dev enp0s3  router FAILED
$ sudo ip -6 neigh del fe80::211:95ff:dead:beef dev enp0s3
$ ping6 -c 3 icanhazip.com
PING icanhazip.com(2606:4700::6812:7361) 56 data bytes
64 bytes from 2606:4700::6812:7361: icmp_seq=1 ttl=51 time=202 ms
64 bytes from 2606:4700::6812:7361: icmp_seq=2 ttl=51 time=213 ms
64 bytes from 2606:4700::6812:7361: icmp_seq=3 ttl=51 time=118 ms

--- icanhazip.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 118.575/178.169/213.682/42.400 ms

The neighbor entry will become STALE again after every 30 seconds and will eventually expire and won't work anymore after some time. An option is to create a cron job that runs every 2 minutes and deletes the table entry.

*/2 * * * *    ip -6 neigh | while read line; do set -- $line; ip neigh del $1 dev $3; done; ping6 -n -c 2 $ipv6_gw &>/dev/null

where $ipv6_gw is the address of the local IPv6 gateway to the Internet.

@0xquad
Copy link
Author

0xquad commented Jan 10, 2022

Original VBox ticket is now closed. However the issue (if it still exists) could still be related to https://www.virtualbox.org/ticket/14212.

Also, I'm not sure if this is related in any way, but if I start docker containers in the Linux VM (I'm now on a Win11 host), the containers can't reach the IPv6 internet, even though the same docker setup works on other non-VM Linux systems (globally routable IPv6 addresses; not using docker6-ipv6nat here and not in favor of using it). (Details: a Wireshark trace running on the Win11 host shows that Neighbor Discovery Solicitations are sent out, but ND Advertisements never reach the VM although I see them come in on the host.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment