Opened 9 years ago
Last modified 8 years ago
#14457 new defect
cannot ping host <--> VMs after upgrade to VirtualBox 5.0.x with NDIS6 driver
Reported by: | qd01a | Owned by: | |
---|---|---|---|
Component: | network | Version: | VirtualBox 5.0.2 |
Keywords: | NDIS6 | Cc: | |
Guest type: | all | Host type: | Windows |
Description
In reference to this forum post:
https://forums.virtualbox.org/viewtopic.php?f=6&t=69597
after upgrading to VirtualBox 5.0.x I could no longer ping between the host and the VMs (bridged mode), while the VMs could still ping each other, and all (host and VMs) could still ping other computers on the same subnet. By reverting back to using the NDIS5 driver, all worked properly again, so the issue is related to some bug/defect in the new NDIS6 driver implementation.
Attachments (7)
Change History (59)
comment:1 by , 9 years ago
comment:4 by , 9 years ago
I have this issue too with NDIS6 driver.
Host: Windows 7 x64 Ultimate
Guests: Windows 7, Windows 8.1, Windows 10 etc.
Host network adapter: Realtek PCIe GBE Family Controller
Guest network: all guests bridged to host adapter
No network communication is possible between host - guest.
comment:6 by , 9 years ago
The Version 5.0.0-101573 works already with NDIS6-Driver and it works OK. After upgrade to 5.0.4-102546 the problem is not solved. So i changed back to previous Version and it works now.
comment:7 by , 9 years ago
Could you please provide VM log, VBoxSVC.log, and packet capture when pinging between host and VM (as described here)?
comment:8 by , 9 years ago
I have this issue too.
Host Windows 10 x64 Enterprise. Guest: Ubuntu 15.04. Host adapter: Intel 82579V
Interestingly I managed to fix the issue *temporarily* by uninstalling VMWare Workstation from my machine thinking that perhaps the virtualbox and vmware virtual network adapters were clashing with each other. As soon as I rebooted my host machine however the issue returned. Perhaps this gives as a clue as to the root cause.
follow-up: 12 comment:9 by , 9 years ago
Ok, another update: Disabling IPV6 and then renabling it on the host adapter also fixes the issue. You can enable ipv6 again immediately afterwards and it still works (at least until you reboot the host).
comment:10 by , 9 years ago
ndis5 trick doesn't work on win10. getting VERR_SUPDRV_COMPONENT_NOT_FOUND error on vm launch.
comment:11 by , 9 years ago
Host: Windows 10 Home x64
Guests: Windows 7 Home x64 and Windows 10 Home x64
Uninstalled and reinstalled 5.0.4-102546 with -msiparams NETWORKTYPE=NDIS5 argument. Still can't ping between host and guests.
Downgraded to 5.0.2-102096 (no argument) and everything works fine again.
comment:12 by , 9 years ago
Replying to endeavour:
Ok, another update: Disabling IPV6 and then renabling it on the host adapter also fixes the issue. You can enable ipv6 again immediately afterwards and it still works (at least until you reboot the host).
Switching IPv6 off/on on host adapter works indeed.
comment:13 by , 9 years ago
I can confirm this issue happens with VirtualBox 5.0.4-102546 on Windows 7 x64 host.
For my specific issues see this forum topic: https://forums.virtualbox.org/viewtopic.php?f=3&t=70127. I have included virtual machine log files in that forum topic.
comment:14 by , 9 years ago
eddiegi686, could the problem be related to Avast VirtualBox driver you have on your host? Did you try to disable it or uninstall it?
comment:15 by , 9 years ago
I'm coming from #14588 and got a similiar issue!
Trying to use "VirtualBox-x.x.x-yyyyy-Win.exe -msiparams NETWORKTYPE=NDIS5" didn't helped me and I couldn't even start my VM afterswards because it didn't found the interface.
After reinstalling I could start the vm but the problem was still there. I can ping but can't connect to any port.
Disabling and enabling IPv6 worked. It's a workaround for the moment.
follow-up: 17 comment:16 by , 9 years ago
The interesting thing is that the messages send to the guest had an incorrect checksum before and after disabling ipv6 the incoming checksum is correct while outgoing (to the host) is still incorrect.
Also other external machines doesn't have the issue to begin with but show the same correct/incorrect checksum like after disabling ipv6.
Before from host:
192.168.0.30.52563 > 192.168.0.40.80: Flags [S], cksum 0x81bd (incorrect -> 0xeb4e), seq 539096165, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
Afterwards from host:
... 192.168.0.30.49921 > 192.168.0.40.80: Flags [P.], cksum 0x2af3 (correct), seq 1832048564:1832049002, ack 929365627, win 256, length 438 192.168.0.40.80 > 192.168.0.30.49921: Flags [.], cksum 0x81b1 (incorrect -> 0xed1d), ack 438, win 337, length 0 ...
From external client before and after:
... 192.168.0.13.36103 > 192.168.0.40.80: Flags [F.], cksum 0x211f (correct), seq 289524838, ack 2838106706, win 457, options [nop,nop,TS val 35951704 ecr 70997], length 0 192.168.0.40.80 > 192.168.0.13.36106: Flags [.], cksum 0x81ac (incorrect -> 0x56b0), ack 1, win 227, options [nop,nop,TS val 89513 ecr 35951704], length 0 ...
comment:17 by , 9 years ago
Replying to Chocoloper:
Also other external machines doesn't have the issue to begin with but show the same correct/incorrect checksum like after disabling ipv6.
This is expected, since you are capturing on the guest and it most likely has checksum offloading enabled, so you see outbound packets before network adapter set the right checksum.
The interesting thing is that the messages send to the guest had an incorrect checksum before and after disabling ipv6 the incoming checksum is correct
This is the real problem, it seems.
comment:18 by , 9 years ago
Could you try to disable IPv4 checksum offloading in adapter's advanced properties on the host?
comment:19 by , 9 years ago
My default "Host Ethernet Adapter" advanced properties:
IPv4 Checksum Offload: Disabled TCP Checksum Offload (IPv4): Rx& Tx Enabled TCP Checksum Offload (IPv6): Rx& Tx Enabled UDP Checksum Offload (IPv4): Rx& Tx Enabled UDP Checksum Offload (IPv6): Rx& Tx Enabled
So "IPv4 Checksum Offload" was already disabled. Ping always worked for me with ipv6/ipv4 but i had problems with http. (I also only tested it with http. See #14588 ). But the guy who opened this ticket couldn't ping. Two different cases?
comment:20 by , 9 years ago
I see. Not sure how different the case is. Could you try to disable TCP checksum offload on host?
comment:22 by , 9 years ago
Hey sry! wasn't available last few days but i just tested 5.0.51 and it seemm to work for me with old checksum settings. (newly restarted host without re-enabling ipv6).
comment:23 by , 9 years ago
Replying to aleksey:
Could you try build 102781? It fixes offloading issues.
This does indeed seem to work for me too :) Thanks!
comment:24 by , 9 years ago
Problems also solved with build 102781
Problem of this duplicate fixed: https://www.virtualbox.org/ticket/14608
comment:27 by , 9 years ago
VirtualBox-5.0.5-102808-Win.exe did not fix, however VirtualBox-5.0.5-102814-Win.exe has worked. Network traffic now flowing in both directions with Windows 10 host and Ubuntu 15.04 guest.
comment:28 by , 9 years ago
Problem not solved for me, even with VirtualBox-5.0.5-102814. After some time the VMs are running (about 4-5 hours) bridged network stops working. I'm on windows 2008 R2 host, Windows 7 and Windws 8 clients. They all stop working in the same time. I need to shutdown every VM and reboot them to get them working again.
comment:29 by , 9 years ago
kidmar,
Could you provide the output of "ipconfig /all" taken at non-working VMs? Can you ping the host from VMs? Can you ping remote hosts? Did you try to disable/re-enable adapters in the guests? Did you try to "disconnect network cable" from the guest? It would really be great if you could provide a packet capture taken in non-working VM (Wireshark in the guest may help) while it is pinging the host.
comment:30 by , 9 years ago
I'll post an ipconfig /all as soon as they stop working again. When they are in that state I can't ping (from / to). I've tried disconnecting vm cable, disabling and enabling adapter (with vm shutdown), adding a NAT adapter. I can't give you a Wireshark log because when network does not work it does not even ping. The only thing that can bring them on again is shutting down every bridged vm (I can leave turned on NATted ones). Please let me know how to help you solving this (if ipconfig isn't enough)
comment:32 by , 9 years ago
kidmar,
Please provide VM log. Do you ping VMs from local host or remote host or both? When you ping what does it say: timeout or destination unreachable? Do I understand it right that if you shut down only one of several VMs bridged to the same host adapter, networking won't work upon its restart?
comment:33 by , 9 years ago
Ping from hosto to VM1: OK. Ping from VM1 to host: OK. Ping from VM1 to VM2: OK. Ping from a non VM pc to host: OK. Ping from a non VM pc to VM1/VM2: timeout. Ping from VM1/VM2 to a non VM pc: unreachable. Rebooting 1 VM does not solve the problem. I have to shut down every VM that has a bridget network and then I can start them all. Attached you can find a partial log. If you need the full log please give me a private channel to send it to you. Thanks
by , 9 years ago
Attachment: | Log_VM1.txt added |
---|
comment:34 by , 9 years ago
Update: It's been 48 hours without this bug to show up. I haven't changed anything. No windows updates, no VB configuration changes, no VB updates installed. I don't know what happened and if the bug will come back in the next days. I'm just scared and I don't want to touch anything couse I fear it will break again. Have you tracked it down so that I can feel safe installing next version?
comment:35 by , 9 years ago
Fix is part of VBox 5.0.6. If you still have problems, please attach a VBox.log file for VBox 5.0.6.
by , 9 years ago
Attachment: | VBox.log-no-host-coms added |
---|
Linux guest startup, unable to ping host via Internet adapter.
comment:36 by , 9 years ago
This problem sadly returned after the weekend for me. I Upgraded to v5.0.6 3 days ago. It started working for me again.
I came back 3 days later and now guest<->host communication using an internal network interface no longer works. I've restarted the guest to no avail. Host can't ping guest. Guest can't ping host.
guest<->guest works fine.
Guest machine is linux. eth0 is attached to NAT, eth1 is attached to a host-only adapter.
I've attached the VBox.log.
- notice it doesn't mention IP assigned to second internal-only interface.
- Notice that "VBoxService 5.0.4" , should I expect 5.0.6?
by , 9 years ago
Attachment: | VBox_kidmar2.log added |
---|
comment:37 by , 9 years ago
It looks like it happens less often (once in 3-4 days), but it still happens as described in my previous post. Attached vbox log
comment:38 by , 9 years ago
I'm unable to convince a "bad" hostonlyif to work again without a host reboot. (Maybe there is a particular way to restart the driver without rebooting?)
Here is a gnarly workaround that could be scripted if you pull out IP and interface number.
# Where Network #3 is bad after sleep/resume # And Network #4 is result of hostonlyif create. # #Disable network connection, so we can re-use the same IP netsh interface set interface name="VirtualBox Host-Only Network #3" admin=disabled vboxmanage hostonlyif create vboxmanage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter #4" --ip 192.168.99.1 #modifyvm when not running. use controlvm when running vboxmanage controlvm default nic2 hostonly "VirtualBox Host-Only Ethernet Adapter #4" #pause resume for a HUP on the network to take effect. vboxmanage controlvm default pause vboxmanage controlvm default resume
comment:41 by , 9 years ago
@kdimar: Do you think that this ticket is still in the focus of the developers or is there any other chance to put this more in front. I was quite sure that this will be fixed with the new release. I can´t believe, that this issue does not affect more people.
comment:42 by , 9 years ago
@max-300: I beleave that most VB users use VMs for fun or in a very simple environment. This problem occurs (in my case) only if I have more then one birdged VM active at the same time. I think that the reason this has not become a blocking problem is that users that have such a complex (it is not complex at all) environment simply use a more reliable system (such VMWare or whatever). I've upgraded to VB 5.0.6 because in VB 4 I had a blocking problem (VM crash without a reason). The upgrade solved this problem but introduced an even worst one.
I've migrated one of the bridged VMs to VMware, so now I have no problems. I'm planning to move everything to another software/hypervisor because sadly I've got no more time to spare on this. Maybe buying the paid support for VB would help getting the problem solved quickier, but I don't know if it is the right way to go.
comment:43 by , 9 years ago
There is an temporary fix or an alternative Solution. Turn on your File and Printersharing.
This works with Windows 10/Virtualbox 5.0.12 and Windows 7/Virtualbox 5.0.10
follow-up: 45 comment:44 by , 9 years ago
I have two VM. VM1 and VM2. This two VM is connection. Bat I not have connection with my PC. For examplo, I ping my PC to VM1 or VM2 and respond "Request time out". Now insade VM1, I ping VM1 to VM2 the request is 1 ms. The VitualBox is 5.0.10 and Windows 7 64 bit.
What is the problem ?
Regards
comment:45 by , 9 years ago
Do you have enabled File and Printersharing in the Advanced Sharing Settings from Windows ?
comment:46 by , 9 years ago
Hi guys, (I'm new in this) I've tried everything to fix this issue and nothing works. I have Windows 10 and VB 5.0.12. Bridged Adapter (which I think it's the same as Bridged Network) doesn't work. Host (Windows 10) cannot access Guest (Ubuntu 14.04) running in VB. I've been trying for about 6 hours :( any help will be welcome.
update: ping from host to guest is working as well as folder sharing. Still cannot access to my Node.js server from host :(
comment:48 by , 9 years ago
It didn't work at version 5.0.4. After upgrade to 5.0.14 issue seems to be solved: ping between any machine (host and 2 VMs) works. Thank you.
comment:50 by , 9 years ago
Upgrade to 5.0.14 worked for me too. Ping guest <-> host works now. Thanks
comment:51 by , 9 years ago
STILL AN ISSUE. Just tested with 5.0.16 NDIS6 Driver on Windows 7 After a sleep-resume on laptop (dell precision M4800), I am unable to ping from host to linux guest via host-only adapter. Also unable to ping from guest to host's host-only adapter IP.
Guest has Adapter1: NAT Adapter2: Host only
Host-Only Network Details: IPv4 Address 192.168.99.1 DHCP Server enabled (192.168.99.6) Lower address: 192.168.99.100
WORKAROUND: I am able to un-assign the host-only adapter, and then use virtualbox to remove the adapter in global preferences. And then re-create the host-only adapter with the same settings and assign it to the guest, then stop/start the guest and then communication works again.
WORKAROUND: installing virtualbox 5.0.16 .msi on Windows 7 using NETWORKTYPE=NDIS5 parameter.
cc: @aleksey
comment:52 by , 8 years ago
Replying to qd01a:
In reference to this forum post:
https://forums.virtualbox.org/viewtopic.php?f=6&t=69597
after upgrading to VirtualBox 5.0.x I could no longer ping between the host and the VMs (bridged mode), while the VMs could still ping each other, and all (host and VMs) could still ping other computers on the same subnet. By reverting back to using the NDIS5 driver, all worked properly again, so the issue is related to some bug/defect in the new NDIS6 driver implementation.
For me, the Windows-Firewall was the cause of the problem. I fixed it with a new inbound Rule. Go to Windows-Firewall->advanced settings->inbound rules->new rule -> custom->all programs->all protocolls-> <Remote IP>
For those affected by this issue, the quick fix (until the issue is resolved) is to force VirtualBox 5.0.x to install with the NDIS5 driver:
VirtualBox-x.x.x-yyyyy-Win.exe -msiparams NETWORKTYPE=NDIS5