В случае, если это все еще имеет значение. Я нашел способ проверить. По крайней мере, для IPSec и Juniper кажется, что VPN-соединение изменяет настройки прокси устройства:
NSDictionary *dict = (__bridge NSDictionary *)(CFNetworkCopySystemProxySettings());
Когда VPN не включен, dict содержит 0 элементов. Когда VPN включен, dict имеет контент, относящийся к конкретному соединению vpn.