fortinet.fortios.fortios_switch_controller_flow_tracking 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 FortiSwitch 流量跟踪并通过 ipfix/netflow 导出。

注意

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

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

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

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

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选项

  • "present"

  • "absent"

switch_controller_flow_tracking

字典

配置 FortiSwitch 流量跟踪并通过 ipfix/netflow 导出。

aggregates

列表 / 元素=字典

配置聚合,其中所有与 IP 地址匹配的流量会话都将分组到同一个流中。

id

整数 / 必需

聚合 ID。参见 注释

ip

字符串

将所有匹配的流量会话分组到一个流中的 IP 地址。

collector_ip

字符串

配置收集器 IP 地址。

collector_port

整数

配置收集器端口号 (0-65535)。

collectors

列表 / 元素=字典

为流配置收集器。

ip

字符串

收集器 IP 地址。

name

字符串 / 必需

收集器名称。

port

整数

收集器端口号 (0-65535)。

transport

字符串

用于导出数据包的收集器 L4 传输协议。

选项

  • "udp"

  • "tcp"

  • "sctp"

format

字符串

配置流量跟踪协议。

选项

  • "netflow1"

  • "netflow5"

  • "netflow9"

  • "ipfix"

level

字符串

配置流量跟踪级别。

选项

  • "vlan"

  • "ip"

  • "port"

  • "proto"

  • "mac"

max_export_pkt_size

整数

配置流最大导出数据包大小 (512-9216)。

sample_mode

字符串

配置流量跟踪的采样模式。

选项

  • "local"

  • "perimeter"

  • "device-ingress"

sample_rate

整数

配置周界和设备入口采样的采样率 (0-99999)。

template_export_period

整数

配置模板导出周期 (1-60)。

timeout_general

整数

配置流会话通用超时 (60-604800)。

timeout_icmp

整数

配置流会话 ICMP 超时 (60-604800)。

timeout_max

整数

配置流会话最大超时 (60-604800)。

timeout_tcp

整数

配置流会话 TCP 超时 (60-604800)。

timeout_tcp_fin

整数

配置流会话 TCP FIN 超时 (60-604800)。

timeout_tcp_rst

整数

配置流会话 TCP RST 超时 (60-604800)。

timeout_udp

整数

配置流会话 UDP 超时 (60-604800)。

transport

字符串

配置用于导出数据包的 L4 传输协议。

选项

  • "udp"

  • "tcp"

  • "sctp"

vdom

字符串

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

默认: "root"

注释

注意

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

示例

- name: Configure FortiSwitch flow tracking and export via ipfix/netflow.
  fortinet.fortios.fortios_switch_controller_flow_tracking:
      vdom: "{{ vdom }}"
      switch_controller_flow_tracking:
          aggregates:
              -
                  id: "4"
                  ip: "<your_own_value>"
          collector_ip: "<your_own_value>"
          collector_port: "0"
          collectors:
              -
                  ip: "<your_own_value>"
                  name: "default_name_10"
                  port: "0"
                  transport: "udp"
          format: "netflow1"
          level: "vlan"
          max_export_pkt_size: "512"
          sample_mode: "local"
          sample_rate: "512"
          template_export_period: "5"
          timeout_general: "3600"
          timeout_icmp: "300"
          timeout_max: "604800"
          timeout_tcp: "3600"
          timeout_tcp_fin: "300"
          timeout_tcp_rst: "120"
          timeout_udp: "300"
          transport: "udp"

返回值

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

描述

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"

状态

字符串

操作结果指示

返回: 始终

示例: "success"

vdom

字符串

使用的虚拟域

返回: 始终

示例: "root"

版本

字符串

FortiGate 版本

返回: 始终

示例: "v5.6.3"

作者

  • 郑链 (@chillancezen)

  • 薛杰 (@JieX19)

  • 陆宏斌 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)