• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.net.netFirewall (网络防火墙)
2
3本模块提供网络防火墙能力,为应用程序提供查询防火墙能力。应用程序可以对机器进行防火墙拦截记录的查询。
4
5
6> **说明:**
7>
8> 本模块首批接口从API version 15开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
9
10## 导入模块
11
12```ts
13import { netfirewall } from '@kit.NetworkKit';
14```
15
16
17## netFirewall.getNetFirewallPolicy
18
19getNetFirewallPolicy(userId: number): Promise\<NetFirewallPolicy>
20
21查询防火墙状态。
22
23**需要权限**:ohos.permission.GET_NET_FIREWALL
24
25**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
26
27**参数:**
28
29| 参数名   | 类型                   | 必填 | 说明                                           |
30| -------- | ---------------------- | ---- | ---------------------------------------------- |
31| userId   | number                 | 是   | 系统中的多用户用户ID,只能是存在的用户ID。   |
32
33**返回值:**
34
35| 类型                                              | 说明                                  |
36| ------------------------------------------------- | ------------------------------------- |
37| Promise\<[NetFirewallPolicy](#netfirewallpolicy)> | 以Promise形式返回当前用户防火墙策略。 |
38
39
40**错误码:**
41
42以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[网络连接管理错误码](errorcode-net-connection.md)。
43
44| 错误码ID | 错误信息                                            |
45| -------  | ----------------------------------------------------|
46| 201      | Permission denied.                                  |
47| 401      | Parameter error.                                    |
48| 2100001  | Invalid parameter value.                            |
49| 2100002  | Operation failed. Cannot connect to service.        |
50| 2100003  | System internal error.                              |
51| 29400000 | The specified user does not exist.                  |
52
53**示例:**
54
55```ts
56import { netFirewall } '@kit.NetworkKit';
57import { BusinessError } from '@kit.BasicServicesKit';
58
59netFirewall.getNetFirewallPolicy(100).then((result: netFirewall.NetFirewallPolicy) => {
60  console.info('firewall policy: ', JSON.stringify(result));
61}, (reason: BusinessError) => {
62  console.error('get firewall policy failed: ', JSON.stringify(reason));
63});
64```
65
66
67## netFirewall.updateNetFirewallRule
68
69updateNetFirewallRule(rule: NetFirewallRule): Promise\<void>
70
71更新防火墙规则。
72
73**需要权限**:ohos.permission.MANAGE_NET_FIREWALL
74
75**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
76
77**参数:**
78
79| 参数名  | 类型                                   | 必填 | 说明                             |
80| ------- | -------------------------------------- | ---- | -------------------------------- |
81| rule    | [NetFirewallRule](#netfirewallrule)    | 是   | 防火墙规则。                     |
82
83**返回值:**
84
85| 类型                 | 说明                                                                |
86| -------------------  | ------------------------------------------------------------------- |
87| Promise\<void>       | Promise对象。无返回结果的Promise对象。                                |
88
89**错误码:**
90
91以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[网络连接管理错误码](errorcode-net-connection.md)。
92
93| 错误码ID | 错误信息                                                                        |
94| -------  | ------------------------------------------------------------------------------- |
95| 201      | Permission denied.                                                              |
96| 401      | Parameter error.                                                                |
97| 2100001  | Invalid parameter value.                                                        |
98| 2100002  | Operation failed. Cannot connect to service.                                    |
99| 2100003  | System internal error.                                                          |
100| 29400000 | The specified user does not exist.                                              |
101| 29400002 | The number of IP address rules in the firewall rule exceeds the maximum.        |
102| 29400003 | The number of port rules in the firewall rule exceeds the maximum.              |
103| 29400004 | The number of domain rules in the firewall rule exceeds the maximum.            |
104| 29400005 | The number of domain rules exceeds the maximum.                                 |
105| 29400006 | The specified rule does not exist.                                              |
106| 29400007 | The dns rule is duplication.                                                    |
107
108**示例:**
109
110```ts
111import { netFirewall } '@kit.NetworkKit';
112import { BusinessError } from '@kit.BasicServicesKit';
113
114let ipRuleUpd: netFirewall.NetFirewallRule = {
115  id: 1,
116  name: "rule1",
117  description: "rule1 description update",
118  direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
119  action:netFirewall.NetFirewallRuleDirection.RULE_DENY,
120  type: netFirewall.NetFirewallRuleType.RULE_IP,
121  isEnabled: false,
122  appUid: 20001,
123  localIps: [
124    {
125      family: 1,
126      type: 1,
127      address: "10.10.1.1",
128      mask: 24
129    },{
130      family: 1,
131      type: 2,
132      startIp: "10.20.1.1",
133      endIp: "10.20.1.10"
134    }],
135  userId: 100
136};
137netFirewall.updateNetFirewallRule(ipRuleUpd).then(() => {
138  console.info('update firewall rule success.');
139}, (reason: BusinessError) => {
140  console.error('update firewall rule failed: ', JSON.stringify(reason));
141});
142```
143
144## netFirewall.removeNetFirewallRule
145
146removeNetFirewallRule(userId: number, ruleId: number): Promise\<void>
147
148删除防火墙规则。
149
150**需要权限**:ohos.permission.MANAGE_NET_FIREWALL
151
152**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
153
154**参数:**
155
156| 参数名   | 类型                             | 必填 | 说明                                         |
157| -------- | ----------------------------------- | ---- | -------------------------------------------- |
158| userId   | number                              | 是   | 系统中的多用户用户ID,只能是存在的用户ID。     |
159| ruleId   | number                              | 是   | 防火墙规则ID。                               |
160
161**返回值:**
162
163| 类型                | 说明                                                                 |
164| ------------------- | ---------------------------------------------------------------------|
165| Promise\<void>      | Promise对象。无返回结果的Promise对象。                                 |
166
167**错误码:**
168
169以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[网络连接管理错误码](errorcode-net-connection.md)。
170
171| 错误码ID | 错误信息                                                                        |
172| -------  | ------------------------------------------------------------------------------- |
173| 201      | Permission denied.                                                              |
174| 401      | Parameter error.                                                                |
175| 2100001  | Invalid parameter value.                                                        |
176| 2100002  | Operation failed. Cannot connect to service.                                    |
177| 2100003  | System internal error.                                                          |
178| 29400000 | The specified user does not exist.                                              |
179| 29400006 | The specified rule does not exist.                                              |
180
181**示例:**
182
183```ts
184import { netFirewall } '@kit.NetworkKit';
185import { BusinessError } from '@kit.BasicServicesKit';
186
187netFirewall.removeNetFirewallRule(100, 1).then(() => {
188  console.info("delete firewall rule success.");
189}).catch((error : BusinessError) => {
190  console.error("delete firewall rule failed: " + JSON.stringify(error));
191});
192```
193
194## netFirewall.getNetFirewallRules
195
196getNetFirewallRules(userId: number, requestParam: RequestParam): Promise\<FirewallRulePage>
197
198按userId获取防火墙规则,需要指定分页查询参数。
199
200**需要权限**:ohos.permission.GET_NET_FIREWALL
201
202**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
203
204**参数:**
205
206| 参数名          | 类型                          | 必填 | 说明                                         |
207| --------------- | ----------------------------- | ---- | -------------------------------------------- |
208| userId          | number                        | 是   | 系统中的多用户用户ID,只能是存在的用户ID。     |
209| requestParam    | [RequestParam](#requestparam) | 是   | 分页查询参数。                               |
210
211**返回值:**
212
213| 类型                                            | 说明                                     |
214| ----------------------------------------------- | ---------------------------------------- |
215| Promise\<[FirewallRulePage](#firewallrulepage)> | 以Promise形式返回防火墙分页规则列表。    |
216
217**错误码:**
218
219以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[网络连接管理错误码](errorcode-net-connection.md)。
220
221| 错误码ID | 错误信息                                                                        |
222| -------  | --------------------------------------------------------------------------------|
223| 201      | Permission denied.                                                              |
224| 401      | Parameter error.                                                                |
225| 2100001  | Invalid parameter value.                                                        |
226| 2100002  | Operation failed. Cannot connect to service.                                    |
227| 2100003  | System internal error.                                                          |
228| 29400000 | The specified user does not exist.                                              |
229
230**示例:**
231
232```ts
233import { netFirewall } '@kit.NetworkKit';
234import { BusinessError } from '@kit.BasicServicesKit';
235
236let ruleParam: netFirewall.RequestParam = {
237  page: 1,
238  pageSize: 10,
239  orderField: netFirewall.NetFirewallOrderField.ORDER_BY_RULE_NAME,
240  orderType: netFirewall.NetFirewallOrderType.ORDER_ASC
241};
242netFirewall.getNetFirewallRules(100, ruleParam).then((result: netfirewall.FirewallRulePage) => {
243  console.info("result:", JSON.stringify(result));
244}, (error: BusinessError) => {
245  console.error("get firewall rules failed: " + JSON.stringify(error));
246});
247```
248
249## netFirewall.getNetFirewallRule
250
251getNetFirewallRule(userId: number, ruleId: number): Promise\<NetFirewallRule>
252
253通过userId和ruleId获取指定的防火墙规则。
254
255**需要权限**:ohos.permission.GET_NET_FIREWALL
256
257**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
258
259**参数:**
260
261| 参数名   | 类型                      | 必填 | 说明                                         |
262| -------- | ------------------------- | ---- | -------------------------------------------- |
263| userId   | number                    | 是   | 系统中的多用户用户ID,只能是存在的用户ID。 |
264| ruleId   | number                    | 是   | 防火墙规则ID。                               |
265
266**返回值:**
267
268| 类型                                            | 说明                                     |
269| ----------------------------------------------- | ---------------------------------------- |
270| Promise\<[NetFirewallRule](#netfirewallrule)>   | 以Promise形式返回防火墙规则。            |
271
272**错误码:**
273
274以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[网络连接管理错误码](errorcode-net-connection.md)。
275
276| 错误码ID | 错误信息                                                                        |
277| -------  | ------------------------------------------------------------------------------- |
278| 201      | Permission denied.                                                              |
279| 401      | Parameter error.                                                                |
280| 2100001  | Invalid parameter value.                                                        |
281| 2100002  | Operation failed. Cannot connect to service.                                    |
282| 2100003  | System internal error.                                                          |
283| 29400000 | The specified user does not exist.                                              |
284| 29400006 | The specified rule does not exist.                                              |
285
286**示例:**
287
288```ts
289import { netFirewall } '@kit.NetworkKit';
290import { BusinessError } from '@kit.BasicServicesKit';
291
292netFirewall.getNetFirewallRule(100, 1).then((rule: netFirewall.NetFirewallRule) => {
293  console.info("result:", JSON.stringify(rule));
294}).catch((error : BusinessError) => {
295  console.error(" get firewall rules failed: " + JSON.stringify(error));
296});
297```
298
299## netFirewall.setNetFirewallPolicy
300
301setNetFirewallPolicy(userId: number, policy: NetFirewallPolicy): Promise\<void>
302
303设置防火墙状态。
304
305**需要权限**:ohos.permission.MANAGE_NET_FIREWALL
306
307**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
308
309**参数:**
310
311| 参数名 | 类型                                    | 必填 | 说明                                         |
312| ------ | ----------------------------------------| ---- | -------------------------------------------- |
313| userId | number                                  | 是   | 系统中的多用户用户ID,只能是存在的用户ID。 |
314| policy | [NetFirewallPolicy](#netfirewallpolicy) | 是   | 设置的防火墙策略。                           |
315
316**返回值:**
317
318| 类型                | 说明                                     |
319| ------------------- | ---------------------------------------- |
320| Promise\<void>      | 无返回结果的Promise对象。                |
321
322**错误码:**
323
324以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[网络连接管理错误码](errorcode-net-connection.md)。
325
326| 错误码ID | 错误信息                                            |
327| -------  | ----------------------------------------------------|
328| 201      | Permission denied.                                  |
329| 401      | Parameter error.                                    |
330| 2100001  | Invalid parameter value.                            |
331| 2100002  | Operation failed. Cannot connect to service.        |
332| 2100003  | System internal error.                              |
333| 29400000 | The specified user does not exist.                  |
334
335**示例:**
336
337```ts
338import { netFirewall } '@kit.NetworkKit';
339import { BusinessError } from '@kit.BasicServicesKit';
340
341let policy: netFirewall.NetFirewallPolicy = {
342  isOpen: true,
343  inAction: netFirewall.FirewallRuleAction.RULE_DENY,
344  outAction: netFirewall.FirewallRuleAction.RULE_ALLOW
345};
346netFirewall.setNetFirewallPolicy(100, policy).then(() => {
347  console.info("set firewall policy success.");
348}).catch((error : BusinessError) => {
349  console.error("set firewall policy failed: " + JSON.stringify(error));
350});
351```
352
353## netFirewall.addNetFirewallRule
354
355addNetFirewallRule(rule: NetFirewallRule): Promise\<number>
356
357添加防火墙规则。
358
359**需要权限**:ohos.permission.MANAGE_NET_FIREWALL
360
361**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
362
363**参数:**
364
365| 参数名   | 类型                                              | 必填 | 说明         |
366| -------- | ------------------------------------------------- | ---- | ------------ |
367| rule    |  [NetFirewallRule](#netfirewallrule)               | 是   | 防火墙规则。 |
368
369**返回值:**
370
371| 类型                      | 说明                     	                                  |
372| ------------------------- | ----------------------------------------------------------- |
373| Promise\<number>          | 以Promise形式返回防火墙规则ID,防火墙规则ID由系统自动生成。 |
374
375**错误码:**
376
377以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[网络连接管理错误码](errorcode-net-connection.md)。
378
379| 错误码ID | 错误信息                                                                 |
380| -------  | ------------------------------------------------------------------------ |
381| 201      | Permission denied.                                                       |
382| 401      | Parameter error.                                                         |
383| 2100001  | Invalid parameter value.                                                 |
384| 2100002  | Operation failed. Cannot connect to service.                             |
385| 2100003  | System internal error.                                                   |
386| 29400000 | The specified user does not exist.                                       |
387| 29400001 | The number of firewall rules exceeds the maximum.                        |
388| 29400002 | The number of IP address rules in the firewall rule exceeds the maximum. |
389| 29400003 | The number of port rules in the firewall rule exceeds the maximum.       |
390| 29400004 | The number of domain rules in the firewall rule exceeds the maximum.     |
391| 29400005 | The number of domain rules exceeds the maximum.                          |
392| 29400007 | The dns rule is duplication.                                             |
393
394**示例:**
395
396```ts
397import { netFirewall } '@kit.NetworkKit';
398import { BusinessError } from '@kit.BasicServicesKit';
399
400let ipRule: netFirewall.NetFirewallRule = {
401  name: "rule1",
402  description: "rule1 description",
403  direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
404  action:netFirewall.NetFirewallRuleDirection.RULE_DENY,
405  type: netFirewall.NetFirewallRuleType.RULE_IP,
406  isEnabled: true,
407  appUid: 20001,
408  localIps: [
409    {
410      family: 1,
411      type: 1,
412      address: "10.10.1.1",
413      mask: 24
414    },{
415      family: 1,
416      type: 2,
417      startIp: "10.20.1.1",
418      endIp: "10.20.1.10"
419    }],
420  remoteIps:[
421    {
422      family: 1,
423      type: 1,
424      address: "20.10.1.1",
425      mask: 24
426    },{
427      family: 1,
428      type: 2,
429      startIp: "20.20.1.1",
430      endIp: "20.20.1.10"
431    }],
432  protocol: 6,
433  localPorts: [
434    {
435      startPort: 1000,
436      endPort: 1000
437    },{
438      startPort: 2000,
439      endPort: 2001
440    }],
441  remotePorts: [
442    {
443      startPort: 443,
444      endPort: 443
445    }],
446  userId: 100
447};
448netFirewall.addNetFirewallRule(ipRule).then((result: number) => {
449  console.info('rule Id: ', result);
450}, (reason: BusinessError) => {
451  console.error('add firewall rule failed: ', JSON.stringify(reason));
452});
453
454let domainRule: netFirewall.NetFirewallRule = {
455  name: "rule2",
456  description: "rule2 description",
457  direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
458  action:netFirewall.NetFirewallRuleDirection.RULE_DENY,
459  type: netFirewall.NetFirewallRuleType.RULE_DOMAIN,
460  isEnabled: true,
461  appUid: 20002,
462  domains: [
463    {
464      isWildcard: false,
465      domain: "www.example.cn"
466    },{
467      isWildcard: true,
468      domain: "*.example.cn"
469    }],
470  userId: 100
471};
472netFirewall.addNetFirewallRule(domainRule).then((result: number) => {
473  console.info('rule Id: ', result);
474}, (reason: BusinessError) => {
475  console.error('add firewall rule failed: ', JSON.stringify(reason));
476});
477
478let dnsRule: netFirewall.NetFirewallRule = {
479  name: "rule3",
480  description: "rule3 description",
481  direction: netFirewall.NetFirewallRuleDirection.RULE_IN,
482  action:netFirewall.NetFirewallRuleDirection.RULE_DENY,
483  type: netFirewall.NetFirewallRuleType.RULE_DNS,
484  isEnabled: true,
485  appUid: 20003,
486  primaryDns: "4.4.4.4",
487  standbyDns: "8.8.8.8",
488  userId: 100
489};
490netFirewall.addNetFirewallRule(dnsRule).then((result: number) => {
491  console.info('rule Id: ', result);
492}, (reason: BusinessError) => {
493  console.error('add firewall rule failed: ', JSON.stringify(reason));
494});
495```
496
497## NetFirewallRule
498
499防火墙规则信息结构。
500
501**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
502
503| 名称        | 类型                                                        |必填| 说明                                                           |
504| ------------|-------------------------------------------------------------|----|--------------------------------------------------------------  |
505| userId      | number                                                      | 是 | 系统中的多用户用户ID,只能是存在的用户ID。                   |
506| name        | string                                                      | 是 | 规则名称,必填,最多128个字符。                                |
507| direction   | [NetFirewallRuleDirection](#netfirewallruledirection)       | 是 | 规则方向,入站或出站。                                         |
508| action      | [FirewallRuleAction](#firewallruleaction)                   | 是 | 行为。                                                         |
509| type        | [NetFirewallRuleType](#netfirewallruletype)                 | 是 | 规则类型。                                                     |
510| isEnabled   | boolean                                                     | 是 | 是否启用。true:启用;false:不启用。                                                     |
511| id          | number                                                      | 否 | 规则ID。                                                       |
512| description | string                                                      | 否 | 规则描述,可选,最多256个字符。                                |
513| appUid      | number                                                      | 否 | 应用程序或服务UID。                                            |
514| localIps    | Array\<[NetFirewallIpParams](#netfirewallipparams)>         | 否 | 本地IP地址:ruleType=RULE_IP有效,否则忽略,最多10个。         |
515| remoteIps   | Array\<[NetFirewallIpParams](#netfirewallipparams)>         | 否 | 远端IP地址:当ruleType=RULE_IP时有效,否则将被忽略,最多10个。 |
516| protocol    | number                                                      | 否 | 协议,TCP:6,UDP:17,当ruleType=RULE_IP时有效,否则将被忽略。  |
517| localPorts  | Array\<[NetFirewallPortParams](#netfirewallportparams)>     | 否 | 本地端口:当ruleType=RULE_IP时有效,否则将被忽略,最多10个。   |
518| remotePorts | Array\<[NetFirewallPortParams](#netfirewallportparams)>     | 否 | 远端端口:当ruleType=RULE_IP时有效,否则将被忽略,最多10个。   |
519| domains     | Array\<[NetFirewallDomainParams](#netfirewalldomainparams)> | 否 | 域名列表:当ruleType=RULE_DOMAIN时有效,否则将被忽略。         |
520| dns         | [NetFirewallDnsParams](#netfirewalldnsparams)               | 否 | DNS:当ruleType=RULE_DNS时有效,否则将被忽略。                  |
521
522## RequestParam
523
524查询输入信息结构。
525
526**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
527
528| 名称       | 类型                                             | 必填 | 说明                        |
529|------------|--------------------------------------------------|------|---------------------------- |
530| page       | number                                           | 是   | 页码,值范围:[1,1000]。    |
531| pageSize   | number                                           | 是   | 页面大小,值范围:[1,50]。  |
532| orderField | [NetFirewallOrderField](#netfirewallorderfield)  | 是   | 排序字段。                  |
533| orderType  | [NetFirewallOrderType](#netfirewallordertype)    | 是   | 排序顺序。                  |
534
535
536## FirewallRulePage
537
538防火墙规则页信息结构。
539
540**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
541
542| 名称       | 类型                                        | 必填 | 说明          |
543|------------|-------------------------------------------- |------|---------------|
544| page       | number                                      | 是   | 当前页码,值范围:[1,1000]。    |
545| pageSize   | number                                      | 是   | 页大小,值范围:[1,50]。     |
546| totalPage  | number                                      | 是   | 总页数,值范围:[1,1000]。      |
547| data       | Array\<[NetFirewallRule](#netfirewallrule)> | 是   | 页面数据。    |
548
549## NetFirewallPolicy
550
551防火墙状态。
552
553**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
554
555| 名称       | 类型                                       | 必填 | 说明          |
556| -----------| -------------------------------------------|------|-------------- |
557| isOpen     | boolean                                    | 是   | 防火墙开/关。true:防火墙开启;false:防火墙关闭。 |
558| inAction   | [FirewallRuleAction](#firewallruleaction)  | 是   | 入站行动。    |
559| outAction  | [FirewallRuleAction](#firewallruleaction)  | 是   | 出站行动。    |
560
561
562## NetFirewallRuleDirection
563
564枚举,防火墙规则的拦截方向。
565
566**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
567
568| 名称         | 值   | 说明   |
569|--------------|------|--------|
570| RULE_IN      | 1    | 入站。 |
571| RULE_OUT     | 2    | 出站。 |
572
573
574## FirewallRuleAction
575
576枚举,防火墙规则行为,允许网络连接或阻断连接。
577
578**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
579
580| 名称           | 值   | 说明   |
581|----------------|------|------- |
582| RULE_ALLOW     | 0    | 允许。 |
583| RULE_DENY      | 1    | 阻断。 |
584
585## NetFirewallRuleType
586
587枚举,防火墙规则类型。
588
589**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
590
591| 名称           | 值   | 说明         |
592|----------------| ---- | ------------ |
593| RULE_IP        | 1    | IP类规则。   |
594| RULE_DOMAIN    | 2    | 域名类规则。 |
595| RULE_DNS       | 3    | DNS规则。    |
596
597## NetFirewallOrderField
598
599枚举,防火墙规则排序类型。
600
601**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
602
603| 名称                  | 值   | 说明                   |
604| --------------------- | ---- | --------------------- |
605| ORDER_BY_RULE_NAME    | 1    | 根据防火墙规则名排序。 |
606| ORDER_BY_RECORD_TIME  | 100  | 根据记录时间排序。     |
607
608## NetFirewallOrderType
609
610枚举,防火墙规则排序类型,按名称或时间顺序排序。
611
612**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
613
614| 名称       | 值   | 说明                           |
615| ---------- | ---- | ------------------------------ |
616| ORDER_ASC  | 1    | 按防火墙规则排序类型升序排序。 |
617| ORDER_DESC | 100  | 按防火墙规则排序类型降序排序。 |
618
619
620## NetFirewallIpParams
621
622**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
623
624| 名称        | 类型   |必填| 说明                                                        |
625| ----------- | -------|----|------------------------------------------------------------ |
626| type        | number | 是 | 1:IP地址或子网,当使用单个IP时,掩码为32; 2:IP段。          |
627| family      | number | 否 | IPv4=1, IPv6=2, 默认IPv4,其他当前不支持。                  |
628| address     | string | 否 | IP地址:当类型等于1时有效,否则将被忽略。                   |
629| mask        | number | 否 | IPv4:子网掩码,IPv6:前缀,当类型等于1时有效,否则将被忽略。 |
630| startIp     | string | 否 | 起始IP:当类型等于2时有效,否则将被忽略。                   |
631| endIp       | string | 否 | 结束IP: 当类型等于2时有效,否则将被忽略。                   |
632
633## NetFirewallPortParams
634
635防火墙规则端口参数。
636
637**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
638
639| 名称         | 类型   | 必填 | 说明       |
640| ------------ | -------|------|----------- |
641| startPort    | number | 是   | 开始端口。 |
642| endPort      | number | 是   | 结束端口。 |
643
644## NetFirewallDomainParams
645
646防火墙规则域信息。
647
648**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
649
650| 名称         | 类型    | 必填 | 说明                                      |
651| ------------ | --------|------|------------------------------------------ |
652| isWildcard   | boolean | 是   | 是否包含通配符。true:包含通配符;false:不包含通配符。                         |
653| domain       | string  | 是   | 当isWildcard为false时,需要确定的完整域。 |
654
655## NetFirewallDnsParams
656
657防火墙规则DNS信息。
658
659**系统能力**:SystemCapability.Communication.NetManager.NetFirewall
660
661| 名称         | 类型    | 必填 | 说明           |
662| ------------ | --------|------|--------------- |
663| primaryDns   | string  | 是   | 主域名服务器。 |
664| standbyDns   | string  | 否   | 备份DNS。      |
665