fortinet.fortios.fortios_firewall_acl 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 IPv4 访问控制列表。

注意

此模块是 fortinet.fortios 集合 (版本 2.3.8) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:fortinet.fortios.fortios_firewall_acl

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够配置 FortiGate 或 FortiOS (FOS) 设备,允许用户设置和修改防火墙功能和 ACL 类别。示例包括所有参数,在使用前需要将值调整为数据源。已在 FOS v6.0.0 上测试。

要求

执行此模块的主机需要以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 FortiGate 的 GUI 生成。

enable_log

布尔值

启用/禁用任务的日志记录。

选项

  • false ← (默认)

  • true

firewall_acl

字典

配置 IPv4 访问控制列表。

comments

字符串

注释。

dstaddr

列表 / 元素=字典

目标地址名称。

name

字符串 / 必需

地址名称。来源 firewall.address.name firewall.addrgrp.name。

fragment

字符串

传递/丢弃与 L3 信息匹配的碎片。

选项

  • "pass"

  • "drop"

interface

字符串

接口名称。来源 system.zone.name system.interface.name。

name

字符串

策略名称。

policyid

整数 / 必需

策略 ID。参见 注释

service

列表 / 元素=字典

服务名称。

name

字符串 / 必需

服务名称。来源 firewall.service.custom.name firewall.service.group.name。

srcaddr

列表 / 元素=字典

源地址名称。

name

字符串 / 必需

地址名称。来源 firewall.address.name firewall.addrgrp.name。

status

字符串

启用/禁用访问控制列表状态。

选项

  • "enable"

  • "disable"

member_path

字符串

要操作的成员属性路径。

如果有多个属性,则用斜杠字符分隔。

标有 member_path 的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

指定 member_state 时,将忽略 state 选项。

选项

  • "present"

  • "absent"

state

字符串 / 必需

指示是创建还是删除对象。

选项

  • "present"

  • "absent"

vdom

字符串

虚拟域,在先前定义的虚拟域中。vdom 是 FortiGate 的虚拟实例,可以将其配置并用作不同的单元。

默认值: "root"

注释

注意

  • 我们强烈建议使用您自己的值作为 policyid,而不是 0,虽然 '0' 是一个特殊的占位符,允许后端为对象分配最新的可用编号,但它确实有一些限制。请在问答中找到更多详细信息。

  • 传统的 fortiosapi 已被弃用,httpapi 是运行 playbook 的首选方式。

  • 此模块支持 check_mode。

示例

- name: Configure IPv4 access control list.
  fortinet.fortios.fortios_firewall_acl:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_acl:
          comments: "<your_own_value>"
          dstaddr:
              -
                  name: "default_name_5 (source firewall.address.name firewall.addrgrp.name)"
          fragment: "pass"
          interface: "<your_own_value> (source system.zone.name system.interface.name)"
          name: "default_name_8"
          policyid: "<you_own_value>"
          service:
              -
                  name: "default_name_11 (source firewall.service.custom.name firewall.service.group.name)"
          srcaddr:
              -
                  name: "default_name_13 (source firewall.address.name firewall.addrgrp.name)"
          status: "enable"

返回值

常见的返回值已在 此处 记录,以下是此模块独有的字段。

描述

build

字符串

FortiGate 镜像的构建编号

返回: 始终

示例: "1547"

http_method

字符串

上次用于将内容置备到 FortiGate 的方法

返回: 始终

示例: "PUT"

http_status

字符串

FortiGate 在上次应用的操作中给出的最后结果

返回: 始终

示例: "200"

mkey

字符串

上次调用 FortiGate 时使用的主密钥 (ID)

返回: 成功

示例: "id"

name

字符串

用于完成请求的表的名称

返回: 始终

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回: 始终

示例: "webfilter"

revision

字符串

内部修订号

返回: 始终

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回: 始终

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果的指示

返回: 始终

示例: "success"

vdom

字符串

使用的虚拟域

返回: 始终

示例: "root"

version

字符串

FortiGate 的版本

返回: 始终

示例: "v5.6.3"

作者

  • 郑 link (@chillancezen)

  • 薛杰 (@JieX19)

  • 卢宏斌 (@fgtdev-hblu)

  • 沈弗兰克 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • 尼古拉斯·托马斯 (@thomnico)