用于 VPN 的 NEVPNManager 或 NEPacketTunnelProvider

NEVPNManager or NEPacketTunnelProvider for VPN

我正在尝试使用 NEVPNManager 创建 VPN,我正在使用证书身份验证和 IKEv2 协议。当 vpn 安装在 iPhone 上并且我尝试连接到服务器时,我收到此错误:

Code Block 
Connection 8: received failure notification
nw_flow_add_write_request [C8.1 (Ip&Port) failed channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] cannot accept write requests
nw_write_request_report [C8] Send failed with error "Socket is not connected"
Connection 5: received failure notification

只有第一次安装后,然后我什么也得不到 VPN。

在这个问题中 https://developer.apple.com/forums/thread/84679

If you want to continue down the NEVPNManager path you will have to get a trusted CA to issue you a certificate for your VPN server answer by eskimo.

我决定使用 NEPacketTunnelProvider 创建 VPN,但我不完全理解我在尝试时应该期待什么。

还有多少工作要做?

我可以为没有证书 CA 信任的用户使用 IKEv2 创建 VPN 吗?

或者有充分的理由将身份验证方法从证书更改为 IKEv2 的登录名和密码,或者更改 IPsec 上的协议并使用登录名、密码和机密身份验证方法?

标题

我决定接受使用 NEVPNManager 的方式,因为我只需要访问被阻止的网站,仅此而已,如果我想对流量做些什么或为我的 vpn 添加一些很酷的功能,我必须使用 NEPacketTunnelProvider . NEPacketTunnelProvider 它是企业解决方案,需要更多工作。