How do I bridge my internal wireless card to VMWare Workstation 10 guest and still isolate the host?
My current setup:
- VMWare Workstation 10.0.3
- Host OS is Windows 8.1 x64
- Guest VM is Windows 8.1 x64
- Host has 1 wired ethernet and 1 internal wireless NIC
- No antivirus (except windows defender) is installed
- Firewall on both the host OS and guest VM are turned off
What I'm trying to accomplish is to have the host OS use the wired ethernet to connect to an internal private network and the guest VM to use the wireless NIC in bridge mode to access the internet but still keep the host OS isolated from the internet.
I have followed the VMWare guide which instructed me to disable everything on the wireless NIC except VMWare Bridge Protocol
. I changed VMNet 0
from automatic bridging to bridge the specific wireless NIC and set my guest VM to use bridging. I connect to the wireless network from the host OS and then attempt to get a DHCP address inside the guest VM but it does not work. I even tried assigning a static IP and pinging the gateway which also does not work.
I tried uninstalling the wireless NIC drivers, reinstalling them, resetting the winsock catalog and ip stack, uninstalled and reinstalling VMWare, but nothing seems to work. I have also tried to connect to the wireless network through the same wireless NIC on the host (with all the appropriate protocols enabled) and the host is able to connect and pull a DHCP address from the router; it just will not work in the VM.
Any idea of what I'm doing wrong?
EDIT: The network topology over here is such that the internet facing network is wireless only and the private internal network is wired only, so testing the internet connection on a wired NIC isn't possible. Plus, this is a laptop and it only has 1 wired NIC so using something like an external wireless-to-ethernet bridge is out of the question.
I was using a wireless USB adapter and connecting that directly to the guest VM and this works but is a huge headache since over time, the USB adapter seems to stop working inside the VM and I constantly need to unplug the adapter, plug it back in and even sometimes have to go so far as to disable the device and re-enable it inside the guest VM's device manager (and yes, the drivers for the device are made for windows 8 and the device is fully compatible).
EDIT2: If it helps any, the wireless card is a Broadcom 802.11n and I'm guessing it's the BCM43XX chipset.
UPDATE If I leave everything checked in the wireless NIC properties (ipv4, ipv6, file sharing, etc...), the bridging works. As soon as I remove everything except the VMWare Bridge Protocol, it fails to work.
Wireless connections cannot be bridged. The OpenWrt wiki provides a good explanation:
The 802.11 standard only uses three MAC addresses for frames transmitted between the Access Point and the Station. Frames transmitted from the Station to the AP don't include the ethernet source MAC of the requesting host and response frames are missing the destination ethernet MAC to address the target host behind the client bridge.
- Bridged Host sends a packet to the Target host
- Frame is relayed via the W-LAN Client and the MAC address of the transmitting wireless adapter is used as source MAC, the sending ethernet MAC is discarded
- W-LAN AP receives the frame and redirects it to the Target
- Target receives the frame and generates a response
- Target responds to the received frame using the (wrong) source MAC as destination
- W-LAN AP relays the frame to the W-LAN Client with the given destination MAC
- W-LAN Client receives the frame and assumes it is the final destination since it's wireless MAC is used in the frame, the packet is not forwarded
- Bridged Host never sees a response frame since the W-LAN Client became the destination, no connection is possible
The fact that the “Bridged Host” is virtual in your case doesn’t matter.
VMware Fusion on OS X can bridge wireless, it’s probably using some sort of MAC NAT.
“Media bridges” and generic WiFi repeaters open multiple connections to the upstream AP with different MAC addresses, circumventing the problem.
A very simple solution for your problem is to use a USB WiFi adapter. You can connect the entire USB device to your VM and use “native WiFi” inside the VM.
I had the same issue with trying to use the bridged mode on the wireless. I was able to resolve by setting up two networks, network 0 and network 9 in my case. You can then set them up for bridged mode, but instead of automatically selecting, choose the network conneciton. I setup 0 as bridged to the wired NIC and 9 as bridged to my wireless adapater and it is working great.