I've been trying to get this worked out, but to no avail. In /etc/NetworkManager/dispatcher.d I created 02VPN1.
Code:
#!/bin/bash
VPN_CONNECTION_NAME="blah blah"
NetID=$(/usr/sbin/iwgetid -r)
OkNetwork1="Home Wifi"
if [ "$2" = "up" ] && [ $NetID != OkNetwork1 ]; then
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
...but it always connects to VPN even when my $NetID is OkNetwork1. I'm not a pro, so please excuse any obvious error. Ideally I would like to have several OkNetworks (1, 2, 3), so I guess I'd change to [[ $NetID != OkNetwork1 || $NetID != OkNetwork2 || $NetID != OkNetwork3 ]]. I'm on Fedora 27.
Thanks for any pointers!!