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。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

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

fortinet.fortios 2.0.0 中的新功能

概要

  • 此模块能够通过允许用户设置和修改防火墙功能和 shaping_policy 类别来配置 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

字符串

启用/禁用此策略对 Internet 服务的使用。如果启用,则不使用目标地址和服务。

选择

  • "enable"

  • "disable"

internet_service_custom

列表 / 元素=字典

自定义 Internet 服务名称。

name

字符串 / 必需

自定义 Internet 服务名称。源 firewall.internet-service-custom.name。

internet_service_custom_group

列表 / 元素=字典

自定义 Internet 服务组名称。

name

字符串 / 必需

自定义 Internet 服务组名称。源 firewall.internet-service-custom-group.name。

internet_service_group

列表 / 元素=字典

Internet 服务组名称。

name

字符串 / 必需

Internet 服务组名称。源 firewall.internet-service-group.name。

internet_service_id

列表 / 元素=字典

Internet 服务 ID。

id

整数 / 必需

Internet 服务 ID。请参阅 <a href=’#notes’>备注</a>。源 firewall.internet-service.id。

internet_service_name

列表 / 元素=字典

Internet 服务 ID。

name

字符串 / 必需

Internet 服务名称。源 firewall.internet-service-name.name。

internet_service_src

字符串

启用/禁用此策略中对 Internet 服务源的使用。如果启用,则不使用源地址。

选择

  • "enable"

  • "disable"

internet_service_src_custom

列表 / 元素=字典

自定义 Internet 服务源名称。

name

字符串 / 必需

自定义 Internet 服务名称。源 firewall.internet-service-custom.name。

internet_service_src_custom_group

列表 / 元素=字典

自定义 Internet 服务源组名称。

name

字符串 / 必需

自定义 Internet 服务组名称。源 firewall.internet-service-custom-group.name。

internet_service_src_group

列表 / 元素=字典

Internet 服务源组名称。

name

字符串 / 必需

Internet 服务组名称。源 firewall.internet-service-group.name。

internet_service_src_id

列表 / 元素=字典

Internet 服务源 ID。

id

整数 / 必需

Internet 服务 ID。请参阅 <a href=’#notes’>备注</a>。源 firewall.internet-service.id。

internet_service_src_name

列表 / 元素=字典

Internet 服务源名称。

name

字符串 / 必需

Internet 服务名称。源 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。请参阅 <a href=’#notes’>备注</a>。

users

列表 / 元素=字典

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

name

字符串 / 必需

用户名。源 user.local.name。

uuid

字符串

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

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选择

  • "present"

  • "absent"

self

字符串

自身标识符的 mkey

state

字符串

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

选择

  • "present"

  • "absent"

vdom

字符串

虚拟域,在之前定义的那些之中。vdom 是 FortiGate 的一个虚拟实例,可以配置并用作不同的单元。

默认值: "root"

注意事项

注意

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

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

  • 通过将自身移动到另一个对象之后(之前)来调整对象顺序。

  • 当操作是移动对象时,必须仅指定 [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>"

返回值

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

描述

构建

字符串

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 Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)