HarmonyOS 基于vpnExtension开发vpn相关的配置问题?

HarmonyOS关于vpn开发的路由配置选项,对VpnConfig里边的的routes配置有一些疑问,因为在官方文档和相关demo里边都没找到稍微详细一点的描述和使用方法,能不能给出相应调用示例或者针对每个字段有一些比较详细(非字面上)的描述和用途。

阅读 482
1 个回答

vpnext中routes参数设置暂可参考如下方式处理:

class Config {
  addresses: AddressWithPrefix[];
  routes: connection.RouteInfo;
  mtu: number;
  dnsAddresses: string[];
  trustedApplications: string[];
  blockedApplications: string[];

  constructor(
    tunIp: string,
    blockedAppName: string
  ) {
    this.addresses = [
      new AddressWithPrefix(new Address(tunIp, 1), 24)
    ];
    this.routes = {
      interface: "",
      destination: {
        address: {
          address: "10.0.0.1"
        },
        prefixLength: 0
      },
      gateway: {
        address: "10.0.0.1"
      },
      hasGateway: true,
      isDefaultRoute: true
    }
    this.dnsAddresses = ["114.114.114.114"];
    this.trustedApplications = [];
    this.blockedApplications = [];
  }
}

let config = new Config(this.tunIp, this.blockedAppName);

关于RouteInfo参数示例可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5\#routeinfo

1、gateway是代表引流地址的参数。它指定了你要连接的VPN服务器的地址,所有的网络流量都会通过这个地址进行引流。

2、hasGateway该参数指定是否为VPN连接指定网关,如果设置为true则VPN连接将使用指定的网关,如果设置为false则VPN连接将不使用指定的网关。isDefaultRoute该参数指定是否将VPN连接设置为默认路由。如果设置为true则所有网络流量都将通过VPN连接发送,如果设置为false则只有目标IP地址与VPN连接相匹配的流量才会通过VPN连接发送。

3、VPN模块黑名单/白名单设置可在vpnconfig中设置trustedApplications、blockedApplications字段。配置名单,使用可参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-vpnextension-V5\#vpnconfig

logo
HarmonyOS
子站问答
访问
宣传栏