Vmware Fusion Vpn

Nov 12, 2021

Problem

I can't use my VPN connection in Mac OS BigSur when I'm in a Linux virtual machine running on VMWare Fusion 12.1.2

Solution

The problem with creating a VPN tunnel is that it's hard to recreate the IP address of the machine on which you're installing the software. To solve this, I created a script that automatically creates and connects a VPN tunnel to my VM.

#!/bin/bash

function ask_yes_or_no() {
    read -p "$1 ([y]es or [N]o): "
    case $(echo $REPLY | tr '[A-Z]' '[a-z]') in
        y|yes) echo "yes" ;;
        *)     echo "no" ;;
    esac
}

currNatRules=$(sudo pfctl -a com.apple.internet-sharing/shared_v4 -s nat 2>/dev/null)
if test -z "$currNatRules" 
then
    echo -e "\nThere are currently no NAT rules loaded\n"
    exit 0
fi

utunCheck=$(echo $currNatRules | grep utun)
if test -n "$utunCheck"
then
    echo -e "\nIt looks like the VPN tunnel utun2 has already been created"
    echo -e "\n$currNatRules\n"

    if [[ "no" == $(ask_yes_or_no "Do you want to continue?") ]]
    then
        echo -e "\nExiting\n"
        exit 0
    fi
fi


natCIDR=$(echo $currNatRules | grep en | grep nat | cut -d\  -f 6)
if test -z "$natCIDR" 
then
    echo -e "\nCannot extract the NAT CIDR from:"
    echo -e "\n$currNatRules\n"
    exit 0
fi

interface=$(route get 10/8 | grep interface | cut -d\  -f 4)

echo -e "\nNAT CIDR=$natCIDR Interface=$interface\n"

newRule="nat on ${interface} inet from ${natCIDR} to any -> (${interface}) extfilter ei"

echo -e "\nAdding new rule: $newRule\n"

configFile="fixnat_rules.conf"

[[ -d $configFile ]] && rm $configFile
echo "$currNatRules" > $configFile
echo "$newRule" >> $configFile

sudo pfctl -a com.apple.internet-sharing/shared_v4 -N -f  ${configFile} 2>/dev/null

echo -e "\nConfig update applied\n"

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

echo -e "\n"

exit 0
I can see that the VM has installed and...
Another strange error, when I press the "Run" button...
I had a crash on my VM, and after...
I currently use VMware Fusion 6 on my Mac...
I managed to create a VM with server software...
What's the best way for me to virtualize my...