fortinet.fortios.fortios_firewall_consolidated_policy 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置统一的 IPv4/IPv6 策略。

注意

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

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

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

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

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

firewall_consolidated_policy

字典

配置统一的 IPv4/IPv6 策略。

action

字符串

策略操作 (允许/拒绝/ipsec)。

选项

  • "accept"

  • "deny"

  • "ipsec"

application_list

字符串

现有应用程序列表的名称。源 application.list.name。

auto_asic_offload

字符串

启用/禁用策略流量 ASIC 卸载。

选项

  • "enable"

  • "disable"

av_profile

字符串

现有防病毒配置文件的名称。源 antivirus.profile.name。

captive_portal_exempt

字符串

启用某些用户免除强制门户。

选项

  • "enable"

  • "disable"

cifs_profile

字符串

现有 CIFS 配置文件的名称。源 cifs.profile.name。

comments

字符串

注释。

diffserv_forward

字符串

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

选项

  • "enable"

  • "disable"

diffserv_reverse

字符串

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

选项

  • "enable"

  • "disable"

diffservcode_forward

字符串

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

diffservcode_rev

字符串

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

dlp_sensor

字符串

现有 DLP 传感器的名称。源 dlp.sensor.name。

dnsfilter_profile

字符串

现有 DNS 过滤配置文件的名称。源 dnsfilter.profile.name。

dstaddr4

列表 / elements=字典

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

name

字符串 / 必需

地址名称。源 firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name system.external-resource .name。

dstaddr6

列表 / elements=字典

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

name

字符串 / 必需

地址名称。源 firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system .external-resource.name。

dstaddr_negate

字符串

启用后,dstaddr 指定目标地址不能是什么。

选项

  • "enable"

  • "disable"

dstintf

列表 / elements=字典

传出(出口)接口。

name

字符串 / 必需

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

emailfilter_profile

字符串

现有电子邮件过滤配置文件的名称。源 emailfilter.profile.name。

fixedport

字符串

启用后,防止源 NAT 更改会话的源端口。

选项

  • "enable"

  • "disable"

fsso_groups

列表 / elements=字典

FSSO 组的名称。

name

字符串 / 必需

FSSO 组的名称。源 user.adgrp.name。

global_label

字符串

当 GUI 处于全局视图模式时,策略显示的标签。

groups

列表 / elements=字典

可以使用此策略进行身份验证的用户组的名称。

name

字符串 / 必需

组名称。源 user.group.name。

http_policy_redirect

字符串

将 HTTP(S) 流量重定向到匹配的透明 Web 代理策略。

选项

  • "enable"

  • "disable"

icap_profile

字符串

现有 ICAP 配置文件的名称。源 icap.profile.name。

inbound

字符串

基于策略的 IPsec VPN:只有来自远程网络的流量才能发起 VPN。

选项

  • "enable"

  • "disable"

inspection_mode

字符串

策略检查模式(流/代理)。默认为流模式。

选项

  • "proxy"

  • "flow"

internet_service

字符串

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

选项

  • "enable"

  • "disable"

internet_service_custom

列表 / elements=字典

自定义 Internet 服务名称。

name

字符串 / 必需

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

internet_service_custom_group

列表 / elements=字典

自定义 Internet 服务组名称。

name

字符串 / 必需

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

internet_service_group

列表 / elements=字典

Internet 服务组名称。

name

字符串 / 必需

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

internet_service_id

列表 / elements=字典

Internet 服务 ID。

id

整数 / 必需

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

internet_service_negate

字符串

启用后,internet-service 指定服务不能是什么。

选项

  • "enable"

  • "disable"

internet_service_src

字符串

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

选项

  • "enable"

  • "disable"

internet_service_src_custom

列表 / elements=字典

自定义 Internet 服务源名称。

name

字符串 / 必需

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

internet_service_src_custom_group

列表 / elements=字典

自定义 Internet 服务源组名称。

name

字符串 / 必需

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

internet_service_src_group

列表 / elements=字典

Internet 服务源组名称。

name

字符串 / 必需

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

internet_service_src_id

列表 / elements=字典

Internet 服务源 ID。

id

整数 / 必需

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

internet_service_src_negate

字符串

启用后,internet-service-src 指定服务不能是什么。

选项

  • "enable"

  • "disable"

ippool

字符串

启用后,将 IP 池用于源 NAT。

选项

  • "enable"

  • "disable"

ips_sensor

字符串

现有 IPS 传感器的名称。源 ips.sensor.name。

logtraffic

字符串

启用或禁用日志记录。记录所有会话或安全配置文件会话。

选项

  • “全部”

  • “utm”

  • "disable"

logtraffic_start

字符串

当会话开始时记录日志。

选项

  • "enable"

  • "disable"

mms_profile

字符串

现有 MMS 配置文件的名称。来源 firewall.mms-profile.name。

name

字符串

策略名称。

nat

字符串

启用/禁用源 NAT。

选项

  • "enable"

  • "disable"

outbound

字符串

基于策略的 IPsec VPN:只有来自内部网络的流量才能发起 VPN。

选项

  • "enable"

  • "disable"

per_ip_shaper

字符串

每个 IP 流量整形器。来源 firewall.shaper.per-ip-shaper.name。

policyid

整数 / 必需

策略 ID (0 - 4294967294)。请参阅 <a href=’#notes’>注释</a>。

poolname4

列表 / elements=字典

IPv4 池名称。

name

字符串 / 必需

IPv4 池名称。来源 firewall.ippool.name。

poolname6

列表 / elements=字典

IPv6 池名称。

name

字符串 / 必需

IPv6 池名称。来源 firewall.ippool6.name。

profile_group

字符串

配置文件组的名称。来源 firewall.profile-group.name。

profile_protocol_options

字符串

现有协议选项配置文件的名称。来源 firewall.profile-protocol-options.name。

profile_type

字符串

确定防火墙策略是否只允许安全配置文件组或单个配置文件。

选项

  • “single”

  • “group”

schedule

字符串

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

service

列表 / elements=字典

服务和服务组名称。

name

字符串 / 必需

服务名称。来源 firewall.service.custom.name firewall.service.group.name。

service_negate

字符串

启用后,服务指定服务必须不是什么。

选项

  • "enable"

  • "disable"

session_ttl

整数

此策略接受的会话的 TTL(以秒为单位,0 表示使用系统值)。

srcaddr4

列表 / elements=字典

源 IPv4 地址名称和地址组名称。

name

字符串 / 必需

地址名称。来源 firewall.address.name firewall.addrgrp.name system.external-resource.name。

srcaddr6

列表 / elements=字典

源 IPv6 地址名称和地址组名称。

name

字符串 / 必需

地址名称。来源 firewall.address6.name firewall.addrgrp6.name system.external-resource.name。

srcaddr_negate

字符串

启用后,srcaddr 指定源地址必须不是什么。

选项

  • "enable"

  • "disable"

srcintf

列表 / elements=字典

传入(入口)接口。

name

字符串 / 必需

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

ssh_filter_profile

字符串

现有 SSH 筛选配置文件的名称。来源 ssh-filter.profile.name。

ssh_policy_redirect

字符串

将 SSH 流量重定向到匹配的透明代理策略。

选项

  • "enable"

  • "disable"

ssl_ssh_profile

字符串

现有 SSL SSH 配置文件的名称。来源 firewall.ssl-ssh-profile.name。

status

字符串

启用或禁用此策略。

选项

  • "enable"

  • "disable"

tcp_mss_receiver

整数

接收器 TCP 最大段大小 (MSS)。

tcp_mss_sender

整数

发送器 TCP 最大段大小 (MSS)。

traffic_shaper

字符串

流量整形器。来源 firewall.shaper.traffic-shaper.name。

traffic_shaper_reverse

字符串

反向流量整形器。来源 firewall.shaper.traffic-shaper.name。

users

列表 / elements=字典

可以使用此策略进行身份验证的单个用户的名称。

name

字符串 / 必需

用户名。来源 user.local.name。

utm_status

字符串

启用以向防火墙策略添加一个或多个安全配置文件(AV、IPS 等)。

选项

  • "enable"

  • "disable"

uuid

字符串

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

voip_profile

字符串

现有 VoIP 配置文件的名称。来源 voip.profile.name。

vpntunnel

字符串

基于策略的 IPsec VPN:IPsec VPN 第一阶段的名称。来源 vpn.ipsec.phase1.name vpn.ipsec.manualkey.name。

waf_profile

字符串

现有 Web 应用程序防火墙配置文件的名称。来源 waf.profile.name。

wanopt

字符串

启用/禁用 WAN 优化。

选项

  • "enable"

  • "disable"

wanopt_detection

字符串

WAN 优化自动检测模式。

选项

  • “active”

  • “passive”

  • “off”

wanopt_passive_opt

字符串

WAN 优化被动模式选项。此选项决定将使用哪个 IP 地址连接到服务器。

选项

  • “default”

  • “transparent”

  • “non-transparent”

wanopt_peer

字符串

WAN 优化对等点。来源 wanopt.peer.peer-host-id。

wanopt_profile

字符串

WAN 优化配置文件。来源 wanopt.profile.name。

webcache

字符串

启用/禁用 Web 缓存。

选项

  • "enable"

  • "disable"

webcache_https

字符串

启用/禁用 HTTPS 的 Web 缓存。

选项

  • "disable"

  • "enable"

webfilter_profile

字符串

现有 Web 筛选配置文件的名称。来源 webfilter.profile.name。

webproxy_forward_server

字符串

Web 代理转发服务器名称。来源 web-proxy.forward-server.name web-proxy.forward-server-group.name。

webproxy_profile

字符串

Web 代理配置文件名称。来源 web-proxy.profile.name。

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选项

  • “present”

  • “absent”

state

字符串 / 必需

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

选项

  • “present”

  • “absent”

vdom

字符串

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

默认值: "root"

注释

注意

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

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

  • 该模块支持 check_mode。

示例

- name: Configure consolidated IPv4/IPv6 policies.
  fortinet.fortios.fortios_firewall_consolidated_policy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_consolidated_policy:
          action: "accept"
          application_list: "<your_own_value> (source application.list.name)"
          auto_asic_offload: "enable"
          av_profile: "<your_own_value> (source antivirus.profile.name)"
          captive_portal_exempt: "enable"
          cifs_profile: "<your_own_value> (source cifs.profile.name)"
          comments: "<your_own_value>"
          diffserv_forward: "enable"
          diffserv_reverse: "enable"
          diffservcode_forward: "<your_own_value>"
          diffservcode_rev: "<your_own_value>"
          dlp_sensor: "<your_own_value> (source dlp.sensor.name)"
          dnsfilter_profile: "<your_own_value> (source dnsfilter.profile.name)"
          dstaddr_negate: "enable"
          dstaddr4:
              -
                  name: "default_name_18 (source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name system.external-resource
                    .name)"
          dstaddr6:
              -
                  name: "default_name_20 (source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system
                    .external-resource.name)"
          dstintf:
              -
                  name: "default_name_22 (source system.interface.name system.zone.name)"
          emailfilter_profile: "<your_own_value> (source emailfilter.profile.name)"
          fixedport: "enable"
          fsso_groups:
              -
                  name: "default_name_26 (source user.adgrp.name)"
          global_label: "<your_own_value>"
          groups:
              -
                  name: "default_name_29 (source user.group.name)"
          http_policy_redirect: "enable"
          icap_profile: "<your_own_value> (source icap.profile.name)"
          inbound: "enable"
          inspection_mode: "proxy"
          internet_service: "enable"
          internet_service_custom:
              -
                  name: "default_name_36 (source firewall.internet-service-custom.name)"
          internet_service_custom_group:
              -
                  name: "default_name_38 (source firewall.internet-service-custom-group.name)"
          internet_service_group:
              -
                  name: "default_name_40 (source firewall.internet-service-group.name)"
          internet_service_id:
              -
                  id: "42 (source firewall.internet-service.id)"
          internet_service_negate: "enable"
          internet_service_src: "enable"
          internet_service_src_custom:
              -
                  name: "default_name_46 (source firewall.internet-service-custom.name)"
          internet_service_src_custom_group:
              -
                  name: "default_name_48 (source firewall.internet-service-custom-group.name)"
          internet_service_src_group:
              -
                  name: "default_name_50 (source firewall.internet-service-group.name)"
          internet_service_src_id:
              -
                  id: "52 (source firewall.internet-service.id)"
          internet_service_src_negate: "enable"
          ippool: "enable"
          ips_sensor: "<your_own_value> (source ips.sensor.name)"
          logtraffic: "all"
          logtraffic_start: "enable"
          mms_profile: "<your_own_value> (source firewall.mms-profile.name)"
          name: "default_name_59"
          nat: "enable"
          outbound: "enable"
          per_ip_shaper: "<your_own_value> (source firewall.shaper.per-ip-shaper.name)"
          policyid: "<you_own_value>"
          poolname4:
              -
                  name: "default_name_65 (source firewall.ippool.name)"
          poolname6:
              -
                  name: "default_name_67 (source firewall.ippool6.name)"
          profile_group: "<your_own_value> (source firewall.profile-group.name)"
          profile_protocol_options: "<your_own_value> (source firewall.profile-protocol-options.name)"
          profile_type: "single"
          schedule: "<your_own_value> (source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name)"
          service:
              -
                  name: "default_name_73 (source firewall.service.custom.name firewall.service.group.name)"
          service_negate: "enable"
          session_ttl: "1382400"
          srcaddr_negate: "enable"
          srcaddr4:
              -
                  name: "default_name_78 (source firewall.address.name firewall.addrgrp.name system.external-resource.name)"
          srcaddr6:
              -
                  name: "default_name_80 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
          srcintf:
              -
                  name: "default_name_82 (source system.interface.name system.zone.name)"
          ssh_filter_profile: "<your_own_value> (source ssh-filter.profile.name)"
          ssh_policy_redirect: "enable"
          ssl_ssh_profile: "<your_own_value> (source firewall.ssl-ssh-profile.name)"
          status: "enable"
          tcp_mss_receiver: "32767"
          tcp_mss_sender: "32767"
          traffic_shaper: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
          traffic_shaper_reverse: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
          users:
              -
                  name: "default_name_92 (source user.local.name)"
          utm_status: "enable"
          uuid: "<your_own_value>"
          voip_profile: "<your_own_value> (source voip.profile.name)"
          vpntunnel: "<your_own_value> (source vpn.ipsec.phase1.name vpn.ipsec.manualkey.name)"
          waf_profile: "<your_own_value> (source waf.profile.name)"
          wanopt: "enable"
          wanopt_detection: "active"
          wanopt_passive_opt: "default"
          wanopt_peer: "<your_own_value> (source wanopt.peer.peer-host-id)"
          wanopt_profile: "<your_own_value> (source wanopt.profile.name)"
          webcache: "enable"
          webcache_https: "disable"
          webfilter_profile: "<your_own_value> (source webfilter.profile.name)"
          webproxy_forward_server: "<your_own_value> (source web-proxy.forward-server.name web-proxy.forward-server-group.name)"
          webproxy_profile: "<your_own_value> (source web-proxy.profile.name)"

返回值

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

描述

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"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)