How fix poor quality audio and video on Zoom when using Global Protect VPN

Purpose:

As of Feb ’25, There appear to be on-going issues with Zoom and GlobalProtect VPN, even when the zoom app is whitelisted and the dns requests for *.zoom.us are correctly setup the VPN client fails to bypass the VPN.

The result of these issues causes performance problems, breaking audio and laggy video. This guide provides a script to manually add routes, it is possible to automate the exection of this script but thats for another one.

Guide is for:

  • Mac Users
  • Tested on macOS: Sequoila 15.3
  • Tested with: Global Protect VPN 6.2.6-857
  • MacBook Pro 14inch M3 Pro (2023)

Step 1: Create a script

#add_zoom_routes.sh

#!/bin/bash

# Define variables
URL="https://assets.zoom.us/docs/ipranges/ZoomMeetings.txt"
LOG_FILE="/tmp/add_zoom_routes.log"

//This gets the gateway IP for your adaptor, this may need to be changed
GATEWAY=$(netstat -rn | grep 'en0' | awk '$1 == "default" {print $2}')

if [[ -z "$GATEWAY" ]]; then
    echo "Error: Could not determine the adapter's default gateway."
    exit 1
fi

echo "Using default gateway: $GATEWAY"

# Temporary file for storing subnets
TEMP_FILE="/tmp/zoom_subnets.txt"

# Download the subnet list
curl -s $URL -o $TEMP_FILE

# Check if the file was downloaded successfully
if [[ ! -s $TEMP_FILE ]]; then
    echo "Failed to download subnet list from $URL"
    exit 1
fi

# Add each subnet to the routing table
while IFS= read -r subnet; do
    if [[ ! -z "$subnet" ]]; then
        echo "Adding route for $subnet via $GATEWAY"
        sudo route -n add -net $subnet $GATEWAY
    fi
done < "$TEMP_FILE"

# Cleanup
rm -f $TEMP_FILE

echo "All routes added successfully!"

Step 2 – Make the script executable

chmod +x add_zoom_routes.sh

Step 3 – Run the Script

./add_zoom_routes.sh

Notes

  • You need sudo because modifying the routing table requires admin privileges.
  • This script only adds routes; it does not check for existing ones.
  • If you want it to run on startup, you can add it to a cron job or a launch agent.
  • To view the routing table on your MacBook run netstat -rn


Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *