Host: Lenovo ThinkPad W530, i7 quad-core processor, 16MB RAM, Windows 7 Pro
VirtualBox: 4.3.22 r98236
Guests: Ubuntu 12.04 and 13.10, Red Hat 6.5
I struggled for a few weeks trying to troubleshoot intermittent (yet frequent) blue screens on my laptop when running one or more guests. This laptop only crashes when VB is running with one or more guests running as well, so I'm pretty certain the BSOD had to do with a conflict between the VB guest and my laptop. Crashes happened with guests of all different operating systems (Windows 8.1, RHEL 6.5, Ubuntu 12.04, Ubuntu 13.10). I used Bridged networking for all of my guests because it seemed like the easiest way to set up networking for the server applications (Alfresco and Ephesoft) that I wanted to run on headless VMs, connecting to the applications from my laptop or other network PCs via a browser. Aside from the crashes, everything worked exactly as I wanted. I couldn't ever come up with a specific task or action that caused the crash - the crashes were VERY random.
The WhoCrashed application showed that Windows reported the crash as a tcpip.sys conflict, but WhoCrashed traced the crash to the local NVIDIA nvkflt.sys driver. I tried deinstalling and reinstalling all of the NVIDIA drivers, but it didn’t make a difference – the crashes continued to occur.
Finally, I came across the VB forum posting about 3rd-party driver incompatibilities which listed the NVIDIA nForce network driver as an incompatible driver. That thread also talked about using NAT instead of Bridged networking, so I switched to NAT, retarted my guests, and set up port forwarding to allow communication between my laptop and the guests. So far, I haven’t had a single crash yet. I’m hopeful, but cautious, because I had periods of several days between BSODs in the past when I was using Bridged networking before.
My long-term goal is to set up a dedicated VirtualBox host with numerous guests running different versions of the server products (Alfresco and Ephesoft) on different operating systems that we need to test against (my laptop is just a short-term test). Because of that, my concern is that our employees who need to connect to these guests will have to connect to the host instead, and know what ports have been mapped between the host and the guests. This is why I initially thought that Bridged would be the best networking approach, since the guests would get IP addresses from our DHCP server, and the guests would be accessible directly via the IP addresses.
Sorry for the long-winded intro, but my real question is whether NAT networking should be considered the correct approach here. It appears that NAT is safer than Bridged when NVIDIA drivers are present on the host, but I think the port forwarding settings across the different guests would get difficult to manage over time. On paper, Bridged networking does everything I need, but the crashes are preventing it from being a legitimate solution. How have other people handled the creation of environments like this in the past?