IPv6 on Win7 in Virtualbox with ipv4 and ipv6 traffic separated over network adaptors
![]()
Hi,
For this problem, I have the following setup:
Running Ubuntu 10.10 on my laptop. Connected via a tunnel to SiXXS. Tunnel works great. Also got a whole subnet routed through that tunnel.
Then I run VirtualBox on it, with a Windows 7 installation. VirtualBox provides 2 network interfaces to the Windows client. I use one for IPv4 (NAT interface). The other one is a host only interface which I use for IPv6. On the Ubuntu side I have defined the host only adaptor with an address from the subnet, setup radvd. Windows 7 seems to pick that up all pretty well.
Can somebody please explain this behaviour:
C:\Users\Tom>ping ipv6.google.com
Ping request could not find host ipv6.google.com. Please check the name and try
again.
C:\Users\Tom>nslookup
Default Server: UnKnown
Address: 192.168.50.20
Disabling the IPv4 interface makes IPv6 work without problems.
ipv6.google.com Server: UnKnown
Address: 192.168.50.20
Non-authoritative answer:
Name: ipv6.l.google.com
Address: 2a00:1450:8005::68
Aliases: ipv6.google.com
quit
C:\Users\Tom>ping 2a00:1450:8005::68
Pinging 2a00:1450:8005::68 with 32 bytes of data:
Reply from 2a00:1450:8005::68: time=190ms
Reply from 2a00:1450:8005::68: time=141ms
Reply from 2a00:1450:8005::68: time=187ms
Reply from 2a00:1450:8005::68: time=208ms
Ping statistics for 2a00:1450:8005::68:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 141ms, Maximum = 208ms, Average = 181ms
C:\Users\Tom>
IPv6 on Win7 in Virtualbox with ipv4 and ipv6 traffic separated over network adaptors
I suspect that Windows 7 does not do any AAAA lookups towards a DNS server which is assigned to an IPv4-only interface.
Try configuring the DNS server also on the IPv6 interface, then it might work, might... best way to figure this one out is ask Microsoft.
Better solution: just run dual-stack ;)
IPv6 on Win7 in Virtualbox with ipv4 and ipv6 traffic separated over network adaptors
![]()
Forcing Windows to do AAAA lookups over IPv4 should work as well:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters]
"AddrConfigControl"=dword:00000000
IPv6 on Win7 in Virtualbox with ipv4 and ipv6 traffic separated over network adaptors
![]()
In the Windows 7 guest OS, the metric of the NAT interface will need to be lower than the metric of the host-only interface if you want IPv6 to prefer it. To check the metric of your interfaces, run:
netsh interface ipv6 show interface
This will also show you the interface index number which you can use in netsh commands in place of the name (a two-digit number is quicker than "Local Area Connection"). Then use this command to change the metric, in this example to 200:
netsh interface ipv6 set interface 25 metric=200
That will tell Windows to send IPv6 traffic (such as your DNS query from the ping command) to Ubuntu. Hopefully Ubuntu can successfully route it from there.
|