Thanks for a quick response.On a higher level, I am using PacketTunnelProvider and inside the extension, as part of writing the custom VPN protocol, I would like a method to be called as a response to the interaction from the user with the host app view controller. Is this possible? If so, is the delegate the way to go? I would appreciate an example for this. If not, I would then like to explore other options. Thanks again for taking the time to respond.
Post
Replies
Boosts
Views
Activity
Thanks so much! The answer was exactly what I needed. I just finished implementing and tested; such an elegant way to exchange messages between the host app and the extension.
Can someone please shed some light on this? Thanks,
eskimo do you have any insights to share on this? thanks,
Eskimo, I am interested in the first part of this problem that you mentioned:
Providing IPv6 connectivity for your VPN, that is, passing IPv6 through the tunnel?
How would you support this? Can you please give us some insights?
Thanks a bunch for reading! I really hope to hear back from you on this.
Have you figured this one out yet? For me, IPv6 is excluded from the tunnel and I am trying to see how to tunnel IPv6 through the tunnel. Any insights would be helpful! thank you!
Eskimo, what do you recommend I do if I want to support the second part, i.e., running IPv6 over the tunnel.
thanks for your time!
Matt, thanks a bunch for the response. These are the NEPacketTunnelNetworkSettings I have on the iOS client side.
Does this look right?
let ipv6Settings = NEIPv6Settings.init(addresses: [<Server IPv6 address>], networkPrefixLengths: [64])
tunnelNetworkSettings.ipv6Settings = ipv6Settings
tunnelNetworkSettings.ipv6Settings?.includedRoutes = [NEIPv6Route(destinationAddress: "::", networkPrefixLength: 64)]
let dns = "8.8.8.8,8.4.4.4,2001:4860:4860::8888" // first two are to support IPv4 and the last one is to support IPv6
let dnsSettings = NEDNSSettings(servers: (dns as! String).components(separatedBy: ","))
// This overrides system DNS settings
dnsSettings.matchDomains = [""]
tunnelNetworkSettings.dnsSettings = dnsSettings
p.s. I also would like to mention that my IPv4 settings work great! I am able to see all the IPv4 traffic go through the tunnel. However, Facetime traffic seems to bypass the tunnel which is what kept me wondering if my IPv6 settings are incorrect? thanks,
My main concern regarding this is: It seems many Apple services such as Push Notifications and FaceTime are never routed through the VPN tunnel, as per Apple policy. Is this true? Can I please get a confirmation on this?
Thanks for reading and taking the time to comment.