Not able to start Proxy and VPN tunnel when there is no network

Not able to startTunnel from App proxy provider or NETunnelProvider , when there is no network on the machine.

Whenever I am starting tunnels , I get change of status to disconnected.
in the system log I get as below

[com.apple.networkextension:] NESMVPNSession[Primary Tunnel:XXXXX:YYYYY:(null)] in state NESMVPNSessionStateIdle: received start message
[com.apple.networkextension:] NESMVPNSession[Primary Tunnel:XXXXX:YYYYY:(null)]: Leaving state NESMVPNSessionStateIdle
[com.apple.networkextension:] NESMVPNSession[Primary Tunnel:XXXXX:YYYYY:(null)]: Entering state NESMVPNSessionStatePreparingNetwork
[com.apple.networkextension:] NESMVPNSession[Primary Tunnel:XXXXX:YYYYY:(null)]: No network available
[com.apple.networkextension:] NESMTransparentProxySession[Primary Tunnel:XXXXX:YYYYY:(null)]: Leaving state NESMVPNSessionStatePreparingNetwork
[com.apple.networkextension:] NESMTransparentProxySession[Primary Tunnel:XXXXX:YYYYY:(null)]: Entering state NESMVPNSessionStateStopping, timeout 20 seconds

Please let me know is there a way to start tunnels when there is no network ?

Replies

This is a result of the status checks that the NEVPNConnection API makes before starting a VPN. Like you mentioned, you will probably see this in any provider that uses NEVPNConnection to state the tunnel, so that means NEAppProxyProvider, NETransparentProxyProvider, and NEPacketTunnelProvider. I have seen other Enhancement Requests related to this functionality (r. 73447260), so I would recommend that you do the same and open an Enhancement Request to alter the way this API works to allow a connection to a local server that may not have connectivity to the wider internet.



Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com
Just ran into this as well. Paradoxically, my Network Extension would provide internet connectivity, but because there is none, it cannot get started.

Submitted as FB9049634.