lix_fortinet.fortios.fortios_switch_controller_flow_tracking (102.2.120) — module

Configure FortiSwitch flow tracking and export via ipfix/netflow in Fortinet's FortiOS and FortiGate.

| "added in version" 2.0.0 of lix_fortinet.fortios"

Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install collection

Install with ansible-galaxy collection install lix_fortinet.fortios:==102.2.120


Add to requirements.yml

  collections:
    - name: lix_fortinet.fortios
      version: 102.2.120

Description

This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify switch_controller feature and flow_tracking category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: fortigates
  collections:
    - fortinet.fortios
  connection: httpapi
  vars:
   vdom: "root"
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: Configure FortiSwitch flow tracking and export via ipfix/netflow.
    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"

Inputs

    
vdom:
    default: root
    description:
    - Virtual domain, among those defined previously. A vdom is a virtual instance of
      the FortiGate that can be configured and used as a different unit.
    type: str

enable_log:
    default: false
    description:
    - Enable/Disable logging for task.
    required: false
    type: bool

member_path:
    description:
    - Member attribute path to operate on.
    - Delimited by a slash character if there are more than one attribute.
    - Parameter marked with member_path is legitimate for doing member operation.
    type: str

access_token:
    description:
    - Token-based authentication. Generated from GUI of Fortigate.
    required: false
    type: str

member_state:
    choices:
    - present
    - absent
    description:
    - Add or delete a member under specified attribute path.
    - When member_state is specified, the state option is ignored.
    type: str

switch_controller_flow_tracking:
    default: null
    description:
    - Configure FortiSwitch flow tracking and export via ipfix/netflow.
    suboptions:
      aggregates:
        description:
        - Configure aggregates in which all traffic sessions matching the IP Address will
          be grouped into the same flow.
        elements: dict
        suboptions:
          id:
            description:
            - Aggregate id.
            type: int
          ip:
            description:
            - IP address to group all matching traffic sessions to a flow.
            type: str
        type: list
      collector_ip:
        description:
        - Configure collector ip address.
        type: str
      collector_port:
        description:
        - Configure collector port number(0-65535).
        type: int
      collectors:
        description:
        - Configure collectors for the flow.
        elements: dict
        suboptions:
          ip:
            description:
            - Collector IP address.
            type: str
          name:
            description:
            - Collector name.
            type: str
          port:
            description:
            - Collector port number(0-65535).
            type: int
          transport:
            choices:
            - udp
            - tcp
            - sctp
            description:
            - Collector L4 transport protocol for exporting packets.
            type: str
        type: list
      format:
        choices:
        - netflow1
        - netflow5
        - netflow9
        - ipfix
        description:
        - Configure flow tracking protocol.
        type: str
      level:
        choices:
        - vlan
        - ip
        - port
        - proto
        - mac
        description:
        - Configure flow tracking level.
        type: str
      max_export_pkt_size:
        description:
        - Configure flow max export packet size (512-9216).
        type: int
      sample_mode:
        choices:
        - local
        - perimeter
        - device-ingress
        description:
        - Configure sample mode for the flow tracking.
        type: str
      sample_rate:
        description:
        - Configure sample rate for the perimeter and device-ingress sampling(0 - 99999).
        type: int
      template_export_period:
        description:
        - Configure template export period (1-60).
        type: int
      timeout_general:
        description:
        - Configure flow session general timeout (60-604800).
        type: int
      timeout_icmp:
        description:
        - Configure flow session ICMP timeout (60-604800).
        type: int
      timeout_max:
        description:
        - Configure flow session max timeout (60-604800).
        type: int
      timeout_tcp:
        description:
        - Configure flow session TCP timeout (60-604800).
        type: int
      timeout_tcp_fin:
        description:
        - Configure flow session TCP FIN timeout (60-604800).
        type: int
      timeout_tcp_rst:
        description:
        - Configure flow session TCP RST timeout (60-604800).
        type: int
      timeout_udp:
        description:
        - Configure flow session UDP timeout (60-604800).
        type: int
      transport:
        choices:
        - udp
        - tcp
        - sctp
        description:
        - Configure L4 transport protocol for exporting packets.
        type: str
    type: dict

Outputs

build:
  description: Build number of the fortigate image
  returned: always
  sample: '1547'
  type: str
http_method:
  description: Last method used to provision the content into FortiGate
  returned: always
  sample: PUT
  type: str
http_status:
  description: Last result given by FortiGate on last operation applied
  returned: always
  sample: '200'
  type: str
mkey:
  description: Master key (id) used in the last call to FortiGate
  returned: success
  sample: id
  type: str
name:
  description: Name of the table used to fulfill the request
  returned: always
  sample: urlfilter
  type: str
path:
  description: Path of the table used to fulfill the request
  returned: always
  sample: webfilter
  type: str
revision:
  description: Internal revision number
  returned: always
  sample: 17.0.2.10658
  type: str
serial:
  description: Serial number of the unit
  returned: always
  sample: FGVMEVYYQT3AB5352
  type: str
status:
  description: Indication of the operation's result
  returned: always
  sample: success
  type: str
vdom:
  description: Virtual domain used
  returned: always
  sample: root
  type: str
version:
  description: Version of the FortiGate
  returned: always
  sample: v5.6.3
  type: str