Hi JosephS,
To answer the original question: No, the iPhone hotspot is NOT exclusively IPv6. It provides a Dual-Stack environment to connected devices.
However, I want to share my factual observations regarding why we get the "Network is unavailable" error on OpenVPN in this environment.
[Observable Facts on current iOS/iPadOS 26.4]
When an iPad is tethered to an iPhone operating on an IPv6-only cellular network, the following network state is observed on the connected iPad:
- The iPad successfully receives valid global IPv6 addresses.
- Instead of receiving a traditional 172.20.10.x IPv4 address from the iPhone, the iPad utilizes its internal 464XLAT (Self-CLAT) and assigns itself a virtual IPv4 interface:
- IP: 192.0.0.2 (RFC 7335 - IPv4 Service Continuity Prefix)
- Subnet Mask: 255.255.255.255 (/32)
- Gateway: 192.0.0.1
[The Issue with OpenVPN Connect]
All other internet-bound applications work perfectly fine in this Dual-Stack state. However, OpenVPN Connect immediately throws the "Network is unavailable" error and halts.
This indicates that the app's pre-flight network detection logic (or the underlying OS API it calls) seems to fail to recognize this specific 192.0.0.2/32 interface as a valid, active IPv4 internet connection. FYI, my openvpn server destination is IPv4.
[Workarounds Tested (and Failed)]
I have already tested the following common suggestions, and they do not work or are not viable:
- Manual IP Override: Manually changing the iPad's IPv4 settings to a standard /24 subnet (e.g., Mask 255.255.255.0) does NOT bypass the app's error.
- Changing Carrier APN (Not possible): Modifying the iPhone's cellular APN to force IPv4/IPv6 is physically impossible for users whose carriers lock the APN settings.
[To the OpenVPN Dev folks]
Since there looks no viable on-device workaround for users with locked carrier profiles, an app update is critical. Could anyone from the development team please review the network state detection logic to ensure it properly recognizes Apple's modern Self-CLAT environment (192.0.0.2/32) as an active network?