fortinet.fortios.fortios_firewall_service_custom 模块 – 在 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_service_custom

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改 firewall_service 功能和自定义类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括在使用前需要调整为数据源的所有参数和值。已使用 FOS v6.0.0 进行测试

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

string

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

enable_log

boolean

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

选择

  • false ← (默认)

  • true

firewall_service_custom

dictionary

配置自定义服务。

app_category

list / elements=dictionary

应用程序类别 ID。

id

integer / required

应用程序类别 ID。请参阅 <a href=’#notes’>说明</a>。

app_service_type

string

应用程序服务类型。

选择

  • "disable"

  • "app-id"

  • "app-category"

application

list / elements=dictionary

应用程序 ID。

id

integer / required

应用程序 ID。请参阅 <a href=’#notes’>说明</a>。

category

string

服务类别。源 firewall.service.category.name。

check_reset_range

string

配置 ICMP 错误消息验证的类型。

选择

  • "disable"

  • "strict"

  • "default"

color

integer

GUI 上图标的颜色。

comment

string

注释。

fabric_object

string

安全 Fabric 全局对象设置。

选择

  • "enable"

  • "disable"

fqdn

string

完全限定域名。

helper

string

助手名称。

选择

  • "auto"

  • "disable"

  • "ftp"

  • "tftp"

  • "ras"

  • "h323"

  • "tns"

  • "mms"

  • "sip"

  • "pptp"

  • "rtsp"

  • "dns-udp"

  • "dns-tcp"

  • "pmap"

  • "rsh"

  • "dcerpc"

  • "mgcp"

  • "gtp-c"

  • "gtp-u"

  • "gtp-b"

  • "pfcp"

icmpcode

integer

ICMP 代码。

icmptype

integer

ICMP 类型。

iprange

string

与服务关联的 IP 范围的开始和结束。

name

string / required

自定义服务名称。

protocol

string

基于 IANA 编号的协议类型。

选择

  • "TCP/UDP/UDP-Lite/SCTP"

  • "ICMP"

  • "ICMP6"

  • "IP"

  • "HTTP"

  • "FTP"

  • "CONNECT"

  • "SOCKS-TCP"

  • "SOCKS-UDP"

  • "ALL"

  • "TCP/UDP/SCTP"

protocol_number

integer

IP 协议号。

proxy

string

启用/禁用 Web 代理服务。

选择

  • "enable"

  • "disable"

sctp_portrange

string

多个 SCTP 端口范围。

session_ttl

string

会话 TTL (300 - 2764800, 0 = 默认值)。

tcp_halfclose_timer

integer

等待关闭等待未应答的 FIN 数据包的 TCP 会话的时间(1 - 86400 秒,0 = 默认值)。

tcp_halfopen_timer

integer

等待关闭等待未应答的打开会话数据包的 TCP 会话的时间(1 - 86400 秒,0 = 默认值)。

tcp_portrange

string

多个 TCP 端口范围。

tcp_rst_timer

integer

设置 TCP CLOSE 状态的持续时间(以秒为单位)(5 - 300 秒,0 = 默认值)。

tcp_timewait_timer

integer

设置 TCP TIME-WAIT 状态的持续时间(以秒为单位)(1 - 300 秒,0 = 默认值)。

udp_idle_timer

integer

空闲 UDP/UDP-Lite 连接超时前的秒数(0 - 86400 秒,0 = 默认值)。

udp_portrange

string

多个 UDP 端口范围。

udplite_portrange

string

多个 UDP-Lite 端口范围。

uuid

string

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

visibility

string

启用/禁用 GUI 上服务的可见性。

选择

  • "enable"

  • "disable"

member_path

string

要操作的成员属性路径。

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

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

member_state

string

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

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

选择

  • "present"

  • "absent"

state

string / required

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

选择

  • "present"

  • "absent"

vdom

string

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

默认值: "root"

说明

注意

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

  • 该模块支持 check_mode。

示例

- name: Configure custom services.
  fortinet.fortios.fortios_firewall_service_custom:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_service_custom:
          app_category:
              -
                  id: "4"
          app_service_type: "disable"
          application:
              -
                  id: "7"
          category: "<your_own_value> (source firewall.service.category.name)"
          check_reset_range: "disable"
          color: "0"
          comment: "Comment."
          fabric_object: "enable"
          fqdn: "<your_own_value>"
          helper: "auto"
          icmpcode: ""
          icmptype: ""
          iprange: "<your_own_value>"
          name: "default_name_18"
          protocol: "TCP/UDP/UDP-Lite/SCTP"
          protocol_number: "0"
          proxy: "enable"
          sctp_portrange: "<your_own_value>"
          session_ttl: "<your_own_value>"
          tcp_halfclose_timer: "0"
          tcp_halfopen_timer: "0"
          tcp_portrange: "<your_own_value>"
          tcp_rst_timer: "0"
          tcp_timewait_timer: "0"
          udp_idle_timer: "0"
          udp_portrange: "<your_own_value>"
          udplite_portrange: "<your_own_value>"
          uuid: "<your_own_value>"
          visibility: "enable"

返回值

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

描述

build

string

Fortigate 镜像的构建号

返回: 总是

示例: "1547"

http_method

string

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

返回: 总是

示例: "PUT"

http_status

string

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

返回: 总是

示例: "200"

mkey

string

上次调用 FortiGate 时使用的主键 (id)

返回: success

示例: "id"

name

string

用于满足请求的表名称

返回: 总是

示例: "urlfilter"

path

string

用于满足请求的表的路径

返回: 总是

示例: "webfilter"

revision

string

内部修订号

返回: 总是

示例: "17.0.2.10658"

serial

string

设备的序列号

返回: 总是

示例: "FGVMEVYYQT3AB5352"

status

string

操作结果的指示

返回: 总是

示例: "success"

vdom

string

使用的虚拟域

返回: 总是

示例: "root"

version

string

FortiGate 的版本

返回: 总是

示例: "v5.6.3"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)