首页 > 解决方案 > 开启 VPN 时端口无法访问

问题描述

我有一个 Android 应用程序,它打开一个通信端口。该应用程序充当服务器。

安卓 9:

安卓 10:

当 VPN 开启时,对于 Android 9 和 Android 10,本地网络 IP 和 VPN 网络 IP 地址都会分配给设备。我的服务器客户端正在尝试使用本地 IP 地址访问设备。

注意:我收到了多个导致相同行为的 VPN 应用程序的报告。当用户从 Android 9 -> Android 10 更新他们的设备时,我的应用程序不再工作。

Android 10 中是否有任何更改会改变这种行为?我的应用程序是否需要请求任何额外的权限?

任何帮助,将不胜感激。

标签: androidvpn

解决方案


在 Android 9 上创建 VPN 连接的允许列表功能似乎无法按预期工作。

我的测试

安卓 9:

  • 使用OpenConnect设置 VPN 连接
  • 确保我的应用在应用过滤器中
  • 开始我的申请
  • 测试从同一本地网络上的另一台设备到我的应用程序的连接
  • 我的应用程序有效,但它不应该(它不在通过 OpenConnect 的应用程序过滤器允许的列表中)

安卓 10:

  • 使用OpenConnect设置 VPN 连接
  • 确保我的应用在应用过滤器中
  • 开始我的申请
  • 测试从同一本地网络上的另一台设备到我的应用程序的连接
  • 我的应用程序端口被过滤,因此我无法连接到我的应用程序
  • 从应用过滤器中删除我的应用
  • 我的应用程序按预期工作

我的理解是,根据文档,我的应用程序在 Android 10 上运行的方式是正确的,但是我在 Android 9 上运行的应用程序无需更新 VPN 应用程序的允许列表禁止列表是不正确的。这导致我试图弄清楚这是否基于权限等,因为我希望我的应用程序在 Android 10 上的工作方式与在 Android 9 上的工作方式相同。


推荐阅读