Contributor
Contributor

macOS Big Sur - VMware Fusion 12 not working anymore when host is connected to VPN

Hello,

I've updated my macOS from Catalina to Big Sur and since then i also had to upgrade from the VMware fusion 11 to VMware fusion 12.

I've been using expressVPN for couple of months and usually i connect the host machine to the VPN and then i'm also able to have my guest machines under the VPN, but it's happening that now every time i connect to the VPN the guest machines simply can't access the network anymore. Any idea how to solve this issue?

Vmware machines network configurations:

  • I've tried my network adapter using the default configuration (Share with my MAC - NAT)
  • I've also tried with custom vmnet
Tags (3)
55 Replies
Contributor
Contributor

The technical preview resolves the NAT issue for me. I only use the VM as a passthrough for network isolation, so I cannot speak to other compatibilities.

https://blogs.vmware.com/teamfusion/2020/07/fusion-big-sur-tech-preview.html

0 Kudos
Champion
Champion

That's an early beta version of Fusion 12 - you regressed to it and then it works?

0 Kudos
Contributor
Contributor

<slaps forehead>

0 Kudos
Contributor
Contributor

@dlhotka correct. From the release notes, I didn't get the impression from the build that it was a v12 beta: VMware-Fusion-e.x.p-16530630.dmg

Apple has been progressively deprecating 3rd party Kernel Extensions or “kexts” which Fusion needs to run VMs and containers. In order to continue to operate in this model, we’ve re-architected our hypervisor stack to leverage Apple’s native hypervisor APIs, allowing us to run VMs without any kernel extensions.

0 Kudos
Champion
Champion

Yeah, that was the beta for Fusion 12 from earlier this year.  Fusion 12 is the release version that is compatible with Big Sur.

0 Kudos
Contributor
Contributor

Currently I am running Big Sur with Cisco Anyconnect 4.9.0443 and Fusion 12.1

To date I have tried the following and have yet to find a working solution -

1. pfctl commands (In my situation they were already established)

sudo pfctl -a com.apple.internet-sharing/shared_v4 -s nat 2>/dev/null 

nat on utun6 inet from 172.16.99.0/24 to any -> (utun6:0) extfilter ei

nat on en8 inet from 172.16.99.0/24 to any -> (en8:0) extfilter ei

no nat on bridge100 inet from 172.16.99.1 to 172.16.99.0/24

2. static ip vs dhcp address on VM guest OS.

3. Upgrading to Fusion 12.1

 

Current network setup -

Vmware - 172.16.99.0/24

Mac (en8) - 192.168.1.0/24

Utun6 (anyconnect) 10.210.170.0/24

 

Tcpdump results

I see the packets on the bridge as the 172.16.99.0/24 address going to external addresses or intranet addresses (anyconnect).

With external addresses - On the mac interface en8, the same 172.16.99.0/24 address appears which doesnt look like the pfctl nat is being applied correctly.

With intranet addresses (anyconnect) - On the anyconnect interface there are no packets being seen.

 

VMware's workaround is to connect the vpn client from the vmware os, and not the host os. 

Is there another solution that I have yet to try?

 

TIA

Bryan

0 Kudos
Contributor
Contributor

I upgraded to 12.1 and this is what I'm seeing: I have multiple NAT configured VMs. From a completely powered off state, I boot one at a time. NAT interface works for the first NAT interface to come up, but none of the other machines NAT interfaces work. All machines get proper IP association and DHCP. I have to shut down everything, close Fusion, and bring the ONE machine that I want to use back online from powered down state. Hopefully this helps with some diagnostics.

0 Kudos
Contributor
Contributor

More experimenting. If I create an isolated NAT network for each VM on the host, I can get network to work on each individual VM simultaneously. I don't need the VMs to talk to one another, so this workaround is fine for me, for now.

0 Kudos
Contributor
Contributor

Similar problem here with Tunnelblick VPN. Switching the VM from NAT to bridged and installing a VPN client inside the VM works.

But having NATed VPN back would be nice for a couple of situations.

Regards /Götz

 

macOS Big Sur 11.0.1
Fusion 12.1.0

0 Kudos
Contributor
Contributor

I have a simliar issue here.

If VPN is connected on the Host machine, the VM does not have connectivity to it.

Before MacOS Big Sur and VMware Fusion 12 i do not have any issues here.

 

VPN Connected:

DNS resolution succeeded / Unfortunately no ICMP or tcp/udp.

ping internalhost.company.local
PING internalhost.company.local (10.210.200.69) 56(84) bytes of data.
^C
--- internalhost.company.local ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 29ms
ssh internalhost.company.local
ssh: connect to host internalhost.company.local port 22: Connection timed out

 

Without VPN

The "normal internet" connection works ( if no VPN is connected ) with tcp/udp but no ping is possible

ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 16ms
nc -vz deb.debian.org 443
Connection to deb.debian.org 443 port [tcp/https] succeeded!

 

Tried also a lot of Network Adapter / configuration but no  

The Only way around this issue is to install a VPN Client on the guest and connect directly to the company network... but this should not be the solution.

0 Kudos
Contributor
Contributor

Exactly same problem for me.

0 Kudos
Contributor
Contributor

I just tried something on my system. I have MacOS Big Sur 11.1 and VMWare Fusion 12.1. NAT failed to work after upgrading to Big Sur and Fusion 12. I also have Cisco AnyConnect VPN Client. I uninstalled Cisco AnyConnect and NAT worked fine. I had no problem connection and accessing the internet. I re-installed Cisco Anyconnect and NAT no longer worked.

0 Kudos
Contributor
Contributor

It is a known issue. From the Knowledge Base of VMware

Known Issues

  • The virtual machine (VM) cannot access the same network as the host while macOS Big Sur host is connected to the virtual private network (VPN)

    If the Big Sur host is connected to VPN, then the VM cannot access the same network as that of the host.

    Workaround: Connect to the VPN in the VM instead of connecting to the VPN on the host.

 

0 Kudos
Contributor
Contributor

I'm at a loss at this point. I may need to investigate another virtualization provider.

I've tried rebuilding the vms, I've tried several guest operating systems. I've tried a fresh host operating system on a separate machine. No complicated VPN, nothing. NAT networking is pretty much broken. It'll work intermittently; I'll pause the guest, I'll restart the hypervisor software, etc. Things will work for a bit, and then nothing.

0 Kudos
Contributor
Contributor

[deleted]

0 Kudos
Contributor
Contributor

What worked for me was to create a new network interface and connected through the IKEv2 by manually  entering the server address and user info for my VPN. Depending on your VPN you may also be able to download the app and have the setup configured automatically. I'm assuming this works becuase IKEv2 implements NAT traversal. 

*Disclaimer*

I'm new to all of this so if someone has a more detailed explanation or can clarify something I may not have please feel free to do so. Hope this helps

0 Kudos