如何扩展VpnService以在Android中以编程方式打开L2TP / IPSEC连接?

问题描述 投票:2回答:1

我正在寻求实现从android应用程序打开L2TP/IPSEC连接的解决方案,因此我可以简单地传递server ippre-shared keyusernamepassword,因此设备已连接到此VPN服务器

我看过这里https://developer.android.com/reference/android/net/VpnService.html,我们需要扩展并构建自己的VPN解决方案来做到这一点。

是否有任何可用的解决方案,所以我们可以用它代替重新发明轮子吗?

我尝试了以下VpnService的实现,但没有一个对我有用

并尝试过此

并收到以下错误

mtpd:启动VPN守护进程:mtp W / libc:将属性“ ctl.start”设置为“ mtpd”无法将属性“ ctl.start”设置为“ mtpd”:连接失败; errno = 13(权限被拒绝)E / SysPropJNI:SystemProperties_set键:ctl.start,val:mtpd W / System.err:java.io.IOException:无法启动服务:mtp W / System.err:在com.mega.speed.vpn.DaemonProxy.start(DaemonProxy.java:58)W / System.err:位于com.mega.speed.vpn.VpnDaemons.startDaemon(VpnDaemons.java:92)在com.mega.speed.vpn.VpnDaemons.startMtpd(VpnDaemons.java:113)在com.mega.speed.vpn.VpnDaemons.startL2tp(VpnDaemons.java:36)W / System.err:位于com.mega.speed.vpn.L2tpService.connect(L2tpService.java:16)在com.mega.speed.fragments.HotspotFragment.onCreateView(HotspotFragment.java:125)W / System.err:位于android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)W / System.err:位于android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)W / System.err:位于android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)在android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)W / System.err:位于android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)在android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)W / System.err:位于android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)在android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:733)在android.os.Handler.handleCallback(Handler.java:808)W / System.err处:在android.os.Handler.dispatchMessage(Handler.java:101)在android.os.Looper.loop(Looper.java:166)W / System.err:atandroid.app.ActivityThread.main(ActivityThread.java:7529)W / System.err:位于java.lang.reflect.Method.invoke(本机方法)在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:245)W / System.err:位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

android vpn ipsec l2tp
1个回答
0
投票
有关此主题的任何新闻?我也遇到类似的挑战,尝试使用PSK + Xauth实现Cisco IPSec(普通IPsec)VPN客户端,我的研究使我说没有现成的代码-除了Google自己的android内置工具,它允许我建立这种联系。就我而言,不幸的是我得出结论是不可能的,除非我想自己重新构建它。这是我对其他问题的汇编,同样得到了回答:How to establish a VPN connection (Cisco IPSec Xauth PSK) within my android app instead of activating it through Android's inbuilt VPN tool?
© www.soinside.com 2019 - 2024. All rights reserved.