文档管理中心

@ohos.net.netFirewall (网络防火墙)

PC/2in114+

本模块为应用程序提供网络防火墙能力。应用程序可以对机器进行防火墙拦截记录的查询。

说明

本模块首批接口从API version 15开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';

netFirewall.setNetFirewallPolicy

PC/2in115+

setNetFirewallPolicy(userId: number, policy: NetFirewallPolicy): Promise<void>

设置系统用户ID的防火墙策略,包含防火墙开关状态,默认的出站/入站行为(允许/阻止)。支持不同的系统用户ID配置不同的防火墙策略。使用Promise异步回调。

说明

同一系统用户下,多应用调用该接口下发策略,会以最新下发的策略为准。

需要权限:ohos.permission.MANAGE_NET_FIREWALL

系统能力:SystemCapability.Communication.NetManager.NetFirewall

参数:

展开
参数名 类型 必填 说明
userId number 系统用户ID,只能是存在的用户ID。
policy NetFirewallPolicy 设置的防火墙策略。

返回值:

展开
类型 说明
Promise<void> 无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见通用错误码网络连接管理错误码防火墙错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Parameter error.
2100001 Invalid parameter value.
2100002 Operation failed. Cannot connect to service.
2100003 System internal error.
29400000 The specified user does not exist.

示例:

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. let policy: netFirewall.NetFirewallPolicy = {
  4. isOpen: true,
  5. inAction: netFirewall.FirewallRuleAction.RULE_DENY,
  6. outAction: netFirewall.FirewallRuleAction.RULE_ALLOW
  7. };
  8. netFirewall.setNetFirewallPolicy(100, policy).then(() => {
  9. console.info("set firewall policy success.");
  10. }).catch((error : BusinessError) => {
  11. console.error("set firewall policy failed: " + JSON.stringify(error));
  12. });

netFirewall.getNetFirewallPolicy

PC/2in115+

getNetFirewallPolicy(userId: number): Promise<NetFirewallPolicy>

查询系统用户ID的防火墙策略,包含防火墙开关状态,默认出站入站行为(允许/阻止)。使用Promise异步回调。

需要权限:ohos.permission.GET_NET_FIREWALL

系统能力:SystemCapability.Communication.NetManager.NetFirewall

参数:

展开
参数名 类型 必填 说明
userId number 系统用户ID,只能是存在的用户ID。

返回值:

展开
类型 说明
Promise<NetFirewallPolicy> 以Promise形式返回当前用户防火墙策略。

错误码:

以下错误码的详细介绍请参见通用错误码网络连接管理错误码防火墙错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Parameter error.
2100001 Invalid parameter value.
2100002 Operation failed. Cannot connect to service.
2100003 System internal error.
29400000 The specified user does not exist.

示例:

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. netFirewall.getNetFirewallPolicy(100).then((result: netFirewall.NetFirewallPolicy) => {
  4. console.info('firewall policy: ', JSON.stringify(result));
  5. }, (reason: BusinessError) => {
  6. console.error('get firewall policy failed: ', JSON.stringify(reason));
  7. });

netFirewall.addNetFirewallRule

PC/2in115+

addNetFirewallRule(rule: NetFirewallRule): Promise<number>

添加系统用户ID的防火墙规则,目前支持的规则类型有:IP、Domain、DNS。使用Promise异步回调。

说明
  1. 防火墙规则优先级说明(setNetFirewallPolicyaddNetFirewallRule无调用顺序要求):

    • 调用setNetFirewallPolicy设置默认策略为阻止,调用addNetFirewallRule新增显式规则,规则优先级由高到低为:
      • 显式阻止规则
      • 显式允许规则
      • 默认阻止策略
    • 调用setNetFirewallPolicy设置默认策略为允许,调用addNetFirewallRule新增显式规则,规则优先级由高到低为:
      • 显式允许规则
      • 显式阻止规则
      • 默认允许策略
    • 防火墙IP规则和域名规则冲突时(域名解析的IP与IP规则的IP相同,规则行为冲突):
      • 若以域名方式访问,则域名规则优先级高于IP规则,不受域名解析出的IP的规则影响。
      • 若以IP方式访问,遵循以下原则:
        • 域名规则放行时,IP规则或默认策略的拦截均不生效,最终以IP方式访问放行。
        • 域名规则拦截时,IP规则或默认策略的放行仍生效,最终以IP方式访问放行。
      • 系统侧识别域名访问与IP访问的方式:
        • 若目标IP与系统网络层域名缓存表中的IP地址匹配,则认为应用侧以域名形式访问;
        • 若目标IP未匹配上系统网络层域名缓存表中的任意IP地址,则认为应用侧以IP形式访问;
        • 其中,系统网络层会主动查询防火墙配置的DNS信息,并缓存对应的IP地址,使域名放行规则生效。
  2. 规则类型补充说明:

    • 当addNetFirewallRule的入参rule.type配置为RULE_IP时:
      • 若rule.action为RULE_ALLOW,且rule.localIps、rule.remoteIps均不配置,规则生效为全IP段允许通行;
      • 若rule.action 为RULE_DENY,且rule.localIps、rule.remoteIps均不配置,规则生效为全IP段拦截。
    • 当addNetFirewallRule的入参rule.type配置为RULE_DOMAIN时,若rule.domains未配置,该规则不生效。
  3. 防火墙规则添加上限说明:

    • 单个系统用户ID添加的防火墙规则上限是1000,若超过该上限,则报错29400001。
    • 所有的系统用户ID添加的防火墙规则总和的上限是2000,若超过该上限,则报错29400001。
    • 所有的系统用户ID添加的模糊域名规则总和的上限是100,若超过该上限,则报错29400005。

需要权限:ohos.permission.MANAGE_NET_FIREWALL

系统能力:SystemCapability.Communication.NetManager.NetFirewall

参数:

展开
参数名 类型 必填 说明
rule NetFirewallRule 防火墙规则。

返回值:

展开
类型 说明
Promise<number> 以Promise形式返回防火墙规则ID,防火墙规则ID由系统自动生成。

错误码:

以下错误码的详细介绍请参见通用错误码网络连接管理错误码防火墙错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Parameter error.
2100001 Invalid parameter value.
2100002 Operation failed. Cannot connect to service.
2100003 System internal error.
29400000 The specified user does not exist.
29400001 The number of firewall rules exceeds the maximum.
29400002 The number of IP address rules in the firewall rule exceeds the maximum.
29400003 The number of port rules in the firewall rule exceeds the maximum.
29400004 The number of domain rules in the firewall rule exceeds the maximum.
29400005 The number of domain rules exceeds the maximum.
29400007 The dns rule is duplication.

示例:

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. let ipRule: netFirewall.NetFirewallRule = {
  4. name: "rule1",
  5. description: "rule1 description",
  6. direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
  7. action:netFirewall.FirewallRuleAction.RULE_DENY,
  8. type: netFirewall.NetFirewallRuleType.RULE_IP,
  9. isEnabled: true,
  10. appUid: 20001,
  11. localIps: [
  12. {
  13. family: 1,
  14. type: 1,
  15. address: "10.10.1.1",
  16. mask: 32
  17. },{
  18. family: 1,
  19. type: 2,
  20. startIp: "10.20.1.1",
  21. endIp: "10.20.1.10"
  22. }],
  23. remoteIps:[
  24. {
  25. family: 1,
  26. type: 1,
  27. address: "20.10.1.1",
  28. mask: 32
  29. },{
  30. family: 1,
  31. type: 2,
  32. startIp: "20.20.1.1",
  33. endIp: "20.20.1.10"
  34. }],
  35. protocol: 6,
  36. localPorts: [
  37. {
  38. startPort: 1000,
  39. endPort: 1000
  40. },{
  41. startPort: 2000,
  42. endPort: 2001
  43. }],
  44. remotePorts: [
  45. {
  46. startPort: 443,
  47. endPort: 443
  48. }],
  49. userId: 100,
  50. interface:"wlan0" // 从API版本26.0.0开始支持
  51. };
  52. netFirewall.addNetFirewallRule(ipRule).then((result: number) => {
  53. console.info('rule Id: ', result);
  54. }, (reason: BusinessError) => {
  55. console.error('add firewall rule failed: ', JSON.stringify(reason));
  56. });
  57. let domainRule: netFirewall.NetFirewallRule = {
  58. name: "rule2",
  59. description: "rule2 description",
  60. direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
  61. action:netFirewall.FirewallRuleAction.RULE_DENY,
  62. type: netFirewall.NetFirewallRuleType.RULE_DOMAIN,
  63. isEnabled: true,
  64. appUid: 20002,
  65. domains: [
  66. {
  67. isWildcard: false,
  68. domain: "www.example.cn"
  69. },{
  70. isWildcard: true,
  71. domain: "*.example.cn"
  72. },{
  73. isWildcard: true,
  74. domain: "*w.example.cn" // 从API版本26.0.0开始支持
  75. },{
  76. isWildcard: true,
  77. domain: "www.example.*" // 从API版本26.0.0开始支持
  78. },{
  79. isWildcard: true,
  80. domain: "www.example.c*" // 从API版本26.0.0开始支持
  81. }],
  82. userId: 100,
  83. interface:"wlan0" // 从API版本26.0.0开始支持
  84. };
  85. netFirewall.addNetFirewallRule(domainRule).then((result: number) => {
  86. console.info('rule Id: ', result);
  87. }, (reason: BusinessError) => {
  88. console.error('add firewall rule failed: ', JSON.stringify(reason));
  89. });
  90. let dnsRule: netFirewall.NetFirewallRule = {
  91. name: "rule3",
  92. description: "rule3 description",
  93. direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
  94. action:netFirewall.FirewallRuleAction.RULE_DENY,
  95. type: netFirewall.NetFirewallRuleType.RULE_DNS,
  96. isEnabled: true,
  97. appUid: 20003,
  98. dns:{
  99. primaryDns: "4.4.4.4",
  100. standbyDns: "8.8.8.8",
  101. },
  102. userId: 100,
  103. interface:"wlan0" // 从API版本26.0.0开始支持
  104. };
  105. netFirewall.addNetFirewallRule(dnsRule).then((result: number) => {
  106. console.info('rule Id: ', result);
  107. }, (reason: BusinessError) => {
  108. console.error('add firewall rule failed: ', JSON.stringify(reason));
  109. });

netFirewall.removeNetFirewallRule

PC/2in115+

removeNetFirewallRule(userId: number, ruleId: number): Promise<void>

删除系统用户ID的指定防火墙规则。使用Promise异步回调。

需要权限:ohos.permission.MANAGE_NET_FIREWALL

系统能力:SystemCapability.Communication.NetManager.NetFirewall

参数:

展开
参数名 类型 必填 说明
userId number 系统用户ID,只能是存在的用户ID。
ruleId number 防火墙规则ID。

返回值:

展开
类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见通用错误码网络连接管理错误码防火墙错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Parameter error.
2100001 Invalid parameter value.
2100002 Operation failed. Cannot connect to service.
2100003 System internal error.
29400000 The specified user does not exist.
29400006 The specified rule does not exist.

示例:

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. netFirewall.removeNetFirewallRule(100, 1).then(() => {
  4. console.info("delete firewall rule success.");
  5. }).catch((error : BusinessError) => {
  6. console.error("delete firewall rule failed: " + JSON.stringify(error));
  7. });

netFirewall.updateNetFirewallRule

PC/2in115+

updateNetFirewallRule(rule: NetFirewallRule): Promise<void>

更新防火墙规则。使用Promise异步回调。

需要权限:ohos.permission.MANAGE_NET_FIREWALL

系统能力:SystemCapability.Communication.NetManager.NetFirewall

参数:

展开
参数名 类型 必填 说明
rule NetFirewallRule 防火墙规则。

返回值:

展开
类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见通用错误码网络连接管理错误码防火墙错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Parameter error.
2100001 Invalid parameter value.
2100002 Operation failed. Cannot connect to service.
2100003 System internal error.
29400000 The specified user does not exist.
29400002 The number of IP address rules in the firewall rule exceeds the maximum.
29400003 The number of port rules in the firewall rule exceeds the maximum.
29400004 The number of domain rules in the firewall rule exceeds the maximum.
29400005 The number of domain rules exceeds the maximum.
29400006 The specified rule does not exist.
29400007 The dns rule is duplication.

示例:

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. let ipRuleUpd: netFirewall.NetFirewallRule = {
  4. id: 1,
  5. name: "rule1",
  6. description: "rule1 description update",
  7. direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
  8. action:netFirewall.FirewallRuleAction.RULE_DENY,
  9. type: netFirewall.NetFirewallRuleType.RULE_IP,
  10. isEnabled: false,
  11. appUid: 20001,
  12. localIps: [
  13. {
  14. family: 1,
  15. type: 1,
  16. address: "10.10.1.1",
  17. mask: 32
  18. },{
  19. family: 1,
  20. type: 2,
  21. startIp: "10.20.1.1",
  22. endIp: "10.20.1.10"
  23. }],
  24. userId: 100,
  25. interface:"wlan0" // 从API版本26.0.0开始支持
  26. };
  27. netFirewall.updateNetFirewallRule(ipRuleUpd).then(() => {
  28. console.info('update firewall rule success.');
  29. }, (reason: BusinessError) => {
  30. console.error('update firewall rule failed: ', JSON.stringify(reason));
  31. });

netFirewall.getNetFirewallRules

PC/2in115+

getNetFirewallRules(userId: number, requestParam: RequestParam): Promise<FirewallRulePage>

按用户ID获取防火墙规则,需要指定分页查询参数。目前支持根据防火墙规则名排序。使用Promise异步回调。

需要权限:ohos.permission.GET_NET_FIREWALL

系统能力:SystemCapability.Communication.NetManager.NetFirewall

参数:

展开
参数名 类型 必填 说明
userId number 系统用户ID,只能是存在的用户ID。
requestParam RequestParam 分页查询参数,其中orderField字段仅支持根据防火墙规则名排序。

返回值:

展开
类型 说明
Promise<FirewallRulePage> 以Promise形式返回防火墙分页规则列表。

错误码:

以下错误码的详细介绍请参见通用错误码网络连接管理错误码防火墙错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Parameter error.
2100001 Invalid parameter value.
2100002 Operation failed. Cannot connect to service.
2100003 System internal error.
29400000 The specified user does not exist.

示例:

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. let ruleParam: netFirewall.RequestParam = {
  4. page: 1,
  5. pageSize: 10,
  6. orderField: netFirewall.NetFirewallOrderField.ORDER_BY_RULE_NAME,
  7. orderType: netFirewall.NetFirewallOrderType.ORDER_ASC
  8. };
  9. netFirewall.getNetFirewallRules(100, ruleParam).then((result: netFirewall.FirewallRulePage) => {
  10. console.info("result:", JSON.stringify(result));
  11. }, (error: BusinessError) => {
  12. console.error("get firewall rules failed: " + JSON.stringify(error));
  13. });

netFirewall.getNetFirewallRule

PC/2in115+

getNetFirewallRule(userId: number, ruleId: number): Promise<NetFirewallRule>

通过userId和ruleId获取指定的防火墙规则。使用Promise异步回调。

需要权限:ohos.permission.GET_NET_FIREWALL

系统能力:SystemCapability.Communication.NetManager.NetFirewall

参数:

展开
参数名 类型 必填 说明
userId number 系统用户ID,只能是存在的用户ID。
ruleId number 防火墙规则ID。

返回值:

展开
类型 说明
Promise<NetFirewallRule> 以Promise形式返回防火墙规则。

错误码:

以下错误码的详细介绍请参见通用错误码网络连接管理错误码防火墙错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Parameter error.
2100001 Invalid parameter value.
2100002 Operation failed. Cannot connect to service.
2100003 System internal error.
29400000 The specified user does not exist.
29400006 The specified rule does not exist.

示例:

收起
自动换行
深色代码主题
复制
  1. import { netFirewall } from '@kit.NetworkKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. netFirewall.getNetFirewallRule(100, 1).then((rule: netFirewall.NetFirewallRule) => {
  4. console.info("result:", JSON.stringify(rule));
  5. }).catch((error : BusinessError) => {
  6. console.error(" get firewall rules failed: " + JSON.stringify(error));
  7. });

NetFirewallRule

PC/2in115+

防火墙规则信息结构。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
userId number 系统用户ID,只能是存在的用户ID。
name string 规则名称,必填,最多128个字符。
direction NetFirewallRuleDirection 规则方向,包含入站和出站。
action FirewallRuleAction 行为,包含允许和阻止。
type NetFirewallRuleType 规则类型,包含IP、Domain、DNS。
isEnabled boolean 是否启用规则。true表示启用,false表示不启用。
id number 防火墙规则的ID。
description string 规则描述,可选,最多256个字符。
appUid number 应用程序或服务UID。
localIps Array<NetFirewallIpParams> 本地IP地址。当type=RULE_IP时有效,否则将被忽略,最多10个。
remoteIps Array<NetFirewallIpParams> 远端IP地址。当type=RULE_IP时有效,否则将被忽略,最多10个。
protocol number 协议,包含TCP:6,UDP:17。当type=RULE_IP时有效。
localPorts Array<NetFirewallPortParams> 本地端口。当type=RULE_IP时有效,否则将被忽略,最多10个。
remotePorts Array<NetFirewallPortParams> 远端端口。当type=RULE_IP时有效,否则将被忽略。最多10个。
domains Array<NetFirewallDomainParams> 域名列表,当type=RULE_DOMAIN时有效,否则将被忽略,目前不支持中文域名。
dns NetFirewallDnsParams DNS:当type=RULE_DNS时有效,否则将被忽略。当type=RULE_DNS时,该字段不能为空。
interface string

物理网卡名称,例如wlan0。当type=RULE_IP时有效,否则将被忽略。可选,最多16个字符。

起始版本:26.0.0

模型约束:此接口仅可在Stage模型下使用。

RequestParam

PC/2in115+

查询输入信息结构。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
page number 页码,值范围:[1, 1000]。
pageSize number 页面大小,值范围:[1, 50]。
orderField NetFirewallOrderField 排序方法。 该字段仅支持根据防火墙规则名排序。
orderType NetFirewallOrderType 排序顺序。

FirewallRulePage

PC/2in115+

防火墙规则页信息结构。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
page number 当前页码,值范围:[1,1000]。
pageSize number 页大小,值范围:[1,50]。
totalPage number 总页数,值范围:[1,1000]。
data Array<NetFirewallRule> 页面数据。

NetFirewallPolicy

PC/2in115+

防火墙策略,包含防火墙开关状态,默认的出站/入站行为(允许/阻止)。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
isOpen boolean 是否开启防火墙。true表示开启防火墙,false表示关闭防火墙。
inAction FirewallRuleAction 入站行为。
outAction FirewallRuleAction 出站行为。

NetFirewallRuleDirection

PC/2in115+

枚举类型,防火墙规则方向,包含入站、出站。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 说明
RULE_IN 1 入站。
RULE_OUT 2 出站。

FirewallRuleAction

PC/2in115+

枚举类型,防火墙规则行为,包含允许网络连接、阻止网络连接。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 说明
RULE_ALLOW 0 允许。
RULE_DENY 1 阻止。

NetFirewallRuleType

PC/2in115+

枚举类型,防火墙规则类型,包含IP、Domain、DNS。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 说明
RULE_IP 1 IP类规则。
RULE_DOMAIN 2 域名类规则。
RULE_DNS 3 DNS规则。

NetFirewallOrderField

PC/2in115+

枚举类型,防火墙规则排序方法。

说明

getNetFirewallRules接口,仅支持ORDER_BY_RULE_NAME字段。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 说明
ORDER_BY_RULE_NAME 1 根据防火墙规则名排序。
ORDER_BY_RECORD_TIME 100 根据记录时间排序。

NetFirewallOrderType

PC/2in115+

枚举类型,防火墙规则排序顺序,包含升序或降序。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 说明
ORDER_ASC 1 按防火墙规则排序类型升序排序。
ORDER_DESC 100 按防火墙规则排序类型降序排序。

NetFirewallIpParams

PC/2in115+

防火墙规则的IP参数,IP类型包括IPv4、IPv6,支持单个IP或IP段。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
type number

1:IP地址或子网。该场景下必须指定address和mask字段,当使用单个IP时,mask字段需设置为32。

2:IP段,该场景下必须指定startIp和endIp字段。

family number

1:表示family地址族设置为IPv4。

2:表示family地址族设置为IPv6。

默认IPv4,其他当前不支持。

address string IP地址。当type等于1时需要设置,并且仅在type等于1时有效,否则将被忽略。
mask number

IPv4:子网掩码。

IPv6:前缀。

当type等于1时需要设置,并且仅在type等于1时有效,否则将被忽略。

startIp string 起始IP。当type等于2时需要设置,并且仅在type等于2时有效,范围从0.0.0.1到255.255.255.254,否则将被忽略。
endIp string 结束IP。当type等于2时需要设置,并且仅在type等于2时有效,范围从0.0.0.1到255.255.255.254,否则将被忽略。

NetFirewallPortParams

PC/2in115+

防火墙规则端口参数。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
startPort number 开始端口。
endPort number 结束端口。

NetFirewallDomainParams

PC/2in115+

防火墙规则域名参数,目前不支持中文域名。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
isWildcard boolean 是否包含通配符。true表示包含,false表示不包含。
domain string 当isWildcard为false时,需要确定的完整域, 例如"www.example.cn";当isWildcard为true时,支持通配符规则,具体格式见下文说明。

当isWildcard为true时,domain支持使用通配符"",""可出现在域名的首部、尾部或首尾同时出现,表示匹配任意长度(包括零)的任意字符。支持以下通配符格式:

  • "*.xxx.xxx":前缀通配,匹配xxx.xxx及其所有子域名。例如"*.example.com"可匹配"example.com"、"www.example.com"、"a.b.example.com"。(从API版本21开始支持)
  • "*xx.xxx.xxx":前缀通配,匹配以"xx.xxx.xxx"结尾的域名。例如"*a.example.com"可匹配"a.example.com"、"www.a.example.com"。(从API版本26.0.0开始支持)
  • "xxx.xxx.xxx.*":后缀通配,匹配以"xxx.xxx.xxx."开头的域名。例如"www.example.*"可匹配"www.example.com"、"www.example.cn"。(从API版本26.0.0开始支持)
  • "xxx.xxx.xxx.xx*":后缀通配,匹配以"xxx.xxx.xxx.xx"开头的域名。例如"www.example.co*"可匹配"www.example.com"、"www.example.com.cn"。(从API版本26.0.0开始支持)

NetFirewallDnsParams

PC/2in115+

防火墙规则DNS信息。

说明

addNetFirewallRule的入参rule.type配置为RULE_DNS时,该字段不能为空。

系统能力:SystemCapability.Communication.NetManager.NetFirewall

展开
名称 类型 只读 可选 说明
primaryDns string 主域名服务器。
standbyDns string 备份DNS。
请输入您想要搜索的关键词