fortinet.fortios.fortios_firewall_shaping_policy 模块 – 配置 Fortinet 的 FortiOS 和 FortiGate 中的整形策略。

注意

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

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

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

要在剧本中使用它,请指定: fortinet.fortios.fortios_firewall_shaping_policy

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

action

字符串

在列表中移动对象的动作指示器

选项

  • "move"

after

字符串

目标标识符的 mkey

before

字符串

目标标识符的 mkey

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

firewall_shaping_policy

字典

配置整形策略。

app_category

列表 / 元素=字典

此整形器将应用控制流量整形应用于的一个或多个应用程序类别的 ID。

id

整数 / 必需

类别 ID。请参见 <a href=’#notes’>注释</a>。

app_group

列表 / 元素=字典

一个或多个应用程序组名称。

name

字符串 / 必需

应用程序组名称。来源 application.group.name。

application

列表 / 元素=字典

此整形器将应用控制流量整形应用于的一个或多个应用程序的 ID。

id

整数 / 必需

应用程序 ID。请参见 <a href=’#notes’>注释</a>。

class_id

整数

流量类别 ID。来源 firewall.traffic-class.class-id。

comment

字符串

注释。

cos

字符串

VLAN CoS 位模式。

cos_mask

字符串

VLAN CoS 评估位。

diffserv_forward

字符串

启用将数据包的 DiffServ 值更改为指定的 diffservcode-forward 值。

选项

  • "enable"

  • "disable"

diffserv_reverse

字符串

启用将数据包的反向 (回复) DiffServ 值更改为指定的 diffservcode-rev 值。

选项

  • "enable"

  • "disable"

diffservcode_forward

字符串

将数据包的 DiffServ 更改为此值。

diffservcode_rev

字符串

将数据包的反向 (回复) DiffServ 更改为此值。

dstaddr

列表 / 元素=字典

IPv4 目的地址和地址组名称。

name

字符串 / 必需

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

dstaddr6

列表 / 元素=字典

IPv6 目的地址和地址组名称。

name

字符串 / 必需

地址名称。来源 firewall.address6.name firewall.addrgrp6.name。

dstintf

列表 / 元素=字典

一个或多个出站 (出接口) 接口。

name

字符串 / 必需

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

groups

列表 / 元素=字典

将此流量整形策略应用于已通过 FortiGate 进行身份验证的用户组。

name

字符串 / 必需

组名称。来源 user.group.name。

id

整数 / 必需

整形策略 ID (0 - 4294967295)。请参见 <a href=’#notes’>注释</a>。

internet_service

字符串

启用/禁用为此策略使用互联网服务。如果启用,则不使用目的地址和服务。

选项

  • "enable"

  • "disable"

internet_service_custom

列表 / 元素=字典

自定义互联网服务名称。

name

字符串 / 必需

自定义互联网服务名称。来源 firewall.internet-service-custom.name。

internet_service_custom_group

列表 / 元素=字典

自定义互联网服务组名称。

name

字符串 / 必需

自定义互联网服务组名称。来源 firewall.internet-service-custom-group.name。

internet_service_group

列表 / 元素=字典

互联网服务组名称。

name

字符串 / 必需

互联网服务组名称。来源 firewall.internet-service-group.name。

internet_service_id

列表 / 元素=字典

互联网服务 ID。

id

整数 / 必需

互联网服务 ID。请参见 <a href=’#notes’>注释</a>。来源 firewall.internet-service.id。

internet_service_name

列表 / 元素=字典

互联网服务 ID。

name

字符串 / 必需

互联网服务名称。来源 firewall.internet-service-name.name。

internet_service_src

字符串

启用/禁用为此策略在源中使用互联网服务。如果启用,则不使用源地址。

选项

  • "enable"

  • "disable"

internet_service_src_custom

列表 / 元素=字典

自定义互联网服务源名称。

name

字符串 / 必需

自定义互联网服务名称。来源 firewall.internet-service-custom.name。

internet_service_src_custom_group

列表 / 元素=字典

自定义互联网服务源组名称。

name

字符串 / 必需

自定义互联网服务组名称。来源 firewall.internet-service-custom-group.name。

internet_service_src_group

列表 / 元素=字典

互联网服务源组名称。

name

字符串 / 必需

互联网服务组名称。来源 firewall.internet-service-group.name。

internet_service_src_id

列表 / 元素=字典

互联网服务源 ID。

id

整数 / 必需

互联网服务 ID。请参见 <a href=’#notes’>注释</a>。来源 firewall.internet-service.id。

internet_service_src_name

列表 / 元素=字典

互联网服务源名称。

name

字符串 / 必需

互联网服务名称。来源 firewall.internet-service-name.name。

ip_version

字符串

将此流量整形策略应用于 IPv4 或 IPv6 流量。

选项

  • "4"

  • "6"

name

字符串

整形策略名称。

per_ip_shaper

字符串

要与此策略一起应用的每个 IP 流量整形器。来源 firewall.shaper.per-ip-shaper.name。

schedule

字符串

计划名称。来源 firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name。

service

列表 / 元素=字典

服务和服务组名称。

name

字符串 / 必需

服务名称。源防火墙服务自定义名称 firewall.service.custom.name 防火墙服务组名称 firewall.service.group.name。

srcaddr

列表 / 元素=字典

IPv4 源地址和地址组名称。

name

字符串 / 必需

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

srcaddr6

列表 / 元素=字典

IPv6 源地址和地址组名称。

name

字符串 / 必需

地址名称。来源 firewall.address6.name firewall.addrgrp6.name。

srcintf

列表 / 元素=字典

一个或多个入站接口。

name

字符串 / 必需

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

status

字符串

启用/禁用此流量整形策略。

选项

  • "enable"

  • "disable"

tos

字符串

用于比较的服务类型 (ToS) 值。

tos_mask

字符串

非零位用于比较,而零位被忽略。

tos_negate

字符串

启用反向 TOS 匹配。

选项

  • "enable"

  • "disable"

traffic_shaper

字符串

应用于防火墙策略转发的流量的流量整形器。源 firewall.shaper.traffic-shaper.name。

traffic_shaper_reverse

字符串

应用于防火墙策略接收的响应流量的流量整形器。源 firewall.shaper.traffic-shaper.name。

traffic_type

字符串

流量类型。

选项

  • "forwarding"

  • "local-in"

  • "local-out"

url_category

列表 / 元素=字典

此整形器应用流量整形的FortiGuard Web 过滤类别的一个或多个 ID。

id

整数 / 必需

URL 类别 ID。参见 注释

users

列表 / 元素=字典

将此流量整形策略应用于已通过 FortiGate 进行身份验证的单个用户。

name

字符串 / 必需

用户名。源 user.local.name。

uuid

字符串

通用唯一标识符 (UUID;自动分配,但可以手动重置)。

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

指定 member_state 时,将忽略状态选项。

选项

  • "present"

  • "absent"

self

字符串

self 标识符的 mkey

state

字符串

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

选项

  • "present"

  • "absent"

vdom

字符串

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

默认值: "root"

注释

注意

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

  • 旧版 fortiosapi 已弃用,httpapi 是运行剧本的首选方法。

  • 通过在另一个对象之后(之前)移动 self 来调整对象顺序。

  • 当操作为移动对象时,只能指定 [after, before] 中的一个。

  • 该模块支持 check_mode。

示例

- name: Configure shaping policies.
  fortinet.fortios.fortios_firewall_shaping_policy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_shaping_policy:
          app_category:
              -
                  id: "4"
          app_group:
              -
                  name: "default_name_6 (source application.group.name)"
          application:
              -
                  id: "8"
          class_id: "0"
          comment: "Comments."
          cos: "<your_own_value>"
          cos_mask: "<your_own_value>"
          diffserv_forward: "enable"
          diffserv_reverse: "enable"
          diffservcode_forward: "<your_own_value>"
          diffservcode_rev: "<your_own_value>"
          dstaddr:
              -
                  name: "default_name_18 (source firewall.address.name firewall.addrgrp.name)"
          dstaddr6:
              -
                  name: "default_name_20 (source firewall.address6.name firewall.addrgrp6.name)"
          dstintf:
              -
                  name: "default_name_22 (source system.interface.name system.zone.name system.sdwan.zone.name)"
          groups:
              -
                  name: "default_name_24 (source user.group.name)"
          id: "25"
          internet_service: "enable"
          internet_service_custom:
              -
                  name: "default_name_28 (source firewall.internet-service-custom.name)"
          internet_service_custom_group:
              -
                  name: "default_name_30 (source firewall.internet-service-custom-group.name)"
          internet_service_group:
              -
                  name: "default_name_32 (source firewall.internet-service-group.name)"
          internet_service_id:
              -
                  id: "34 (source firewall.internet-service.id)"
          internet_service_name:
              -
                  name: "default_name_36 (source firewall.internet-service-name.name)"
          internet_service_src: "enable"
          internet_service_src_custom:
              -
                  name: "default_name_39 (source firewall.internet-service-custom.name)"
          internet_service_src_custom_group:
              -
                  name: "default_name_41 (source firewall.internet-service-custom-group.name)"
          internet_service_src_group:
              -
                  name: "default_name_43 (source firewall.internet-service-group.name)"
          internet_service_src_id:
              -
                  id: "45 (source firewall.internet-service.id)"
          internet_service_src_name:
              -
                  name: "default_name_47 (source firewall.internet-service-name.name)"
          ip_version: "4"
          name: "default_name_49"
          per_ip_shaper: "<your_own_value> (source firewall.shaper.per-ip-shaper.name)"
          schedule: "<your_own_value> (source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name)"
          service:
              -
                  name: "default_name_53 (source firewall.service.custom.name firewall.service.group.name)"
          srcaddr:
              -
                  name: "default_name_55 (source firewall.address.name firewall.addrgrp.name)"
          srcaddr6:
              -
                  name: "default_name_57 (source firewall.address6.name firewall.addrgrp6.name)"
          srcintf:
              -
                  name: "default_name_59 (source system.interface.name system.zone.name system.sdwan.zone.name)"
          status: "enable"
          tos: "<your_own_value>"
          tos_mask: "<your_own_value>"
          tos_negate: "enable"
          traffic_shaper: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
          traffic_shaper_reverse: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
          traffic_type: "forwarding"
          url_category:
              -
                  id: "68"
          users:
              -
                  name: "default_name_70 (source user.local.name)"
          uuid: "<your_own_value>"

返回值

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

描述

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"

作者

  • 郑链 (@chillancezen)

  • 薛杰 (@JieX19)

  • 陆宏斌 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)