nepackettunnelprovider and per-app-vpn

In thread https://forums.developer.apple.com/thread/17019 there is statement


>>If you’re implementing Per-App VPN, you’ll want AppProxy instead of PacketTunnel.


The documentation states NETunnelProvider has routingMethod property DestinationIP or SourceApplication.

Since NEPacketTunnelProvider inherits from NETunnelProvider, the routing method should be SourceApplication when per-app-vpn profile is installed. Please help me understand why per-app-vpn will not work with NEPacketTunnelProvider

I am using nepackettunnelprovider for my vpn extension and I want to be sure that per-app-vpn works with this.


Also, is checking routingMethod property value at runtime the best way to know if the vpn extn is indeed using per app vpn ?

Replies

Hello, have you solved you problem?

I also want to develop per-app-vpn using NEPacketTunnelProvider.

In this document: http://textlab.io/doc/3214233/what%E2%80%99s-new-in-network-extension-and-vpn-system-frameworks...http://textlab.io/doc/3214233/what%E2%80%99s-new-in-network-extension-and-vpn-system-frameworks...(Page 73,74,75), it says: NEPacketTunnelProvider can receive ip packets from managed apps(?).

I also tested with NETestAppMapping, it is working with NEPacketTunnelProvider.

Hello @eskimo, Please help us to understand this problem.

I don’t have any input here. My recommendation is that you open a DTS tech support incident so that I can look into it.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

hello @xnsystems and @Vbk,

I have the same problem with you. I can't load the per-App-VPN config using method: loadAllFromPreferencesWithCompletionHandler, but I can load VPN config with this method.

Does that mean we can't develop per-app-vpn using NEPacketTunnelProvider?

Thank you very much.

I’m going to respond on the thread that you created for this.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"