fortinet.fortios.fortios_firewall_central_snat_map 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 IPv4 和 IPv6 中心 SNAT 策略。

注意

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

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

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

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

在 fortinet.fortios 2.0.0 中新增

概要

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

字典

配置 IPv4 和 IPv6 中心 SNAT 策略。

comments

字符串

注释。

dst_addr

列表 / 元素=字典

IPv4 目标地址。

name

字符串 / 必需

地址名称。源 firewall.address.name firewall.addrgrp.name。

dst_addr6

列表 / 元素=字典

IPv6 目标地址。

name

字符串 / 必需

地址名称。源 firewall.address6.name firewall.addrgrp6.name。

dst_port

字符串

目标端口或端口范围(1 到 65535,0 表示任何端口)。

dstintf

列表 / 元素=字典

来自可用接口的目标接口名称。

name

字符串 / 必需

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

nat

字符串

启用/禁用源 NAT。

选择

  • "disable"

  • "enable"

nat46

字符串

启用/禁用 NAT46。

选择

  • "enable"

  • "disable"

nat64

字符串

启用/禁用 NAT64。

选择

  • "enable"

  • "disable"

nat_ippool

列表 / 元素=字典

用于转换地址的 IP 池的名称(从可用的 IP 池中)。

name

字符串 / 必需

IP 池名称。源 firewall.ippool.name。

nat_ippool6

列表 / 元素=字典

用于源 NAT 的 IPv6 池。

name

字符串 / 必需

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

nat_port

字符串

转换后的端口或端口范围(1 到 65535,0 表示任何端口)。

orig_addr

列表 / 元素=字典

IPv4 原始地址。

name

字符串 / 必需

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

orig_addr6

列表 / 元素=字典

IPv6 原始地址。

name

字符串 / 必需

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

orig_port

字符串

原始 TCP 端口(1 到 65535,0 表示任何端口)。

policyid

整数 / 必需

策略 ID。请参阅 <a href=’#notes’>注释</a>。

port_preserve

字符串

如果未使用,则启用/禁用从源 NAT 保留原始源端口。

选择

  • "enable"

  • "disable"

protocol

整数

协议类型的整数值 (0 - 255)。

srcintf

列表 / 元素=字典

来自可用接口的源接口名称。

name

字符串 / 必需

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

status

字符串

启用/禁用此策略的活动状态。

选择

  • "enable"

  • "disable"

type

字符串

IPv4/IPv6 源 NAT。

选择

  • "ipv4"

  • "ipv6"

uuid

字符串

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

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选择

  • "present"

  • "absent"

self

字符串

自身标识符的 mkey

state

字符串

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

选择

  • "present"

  • "absent"

vdom

字符串

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

默认值: "root"

注释

注意

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

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

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

  • 当操作是移动对象时,必须仅指定 [after, before] 中的一个。

  • 该模块支持 check_mode。

示例

- name: Configure IPv4 and IPv6 central SNAT policies.
  fortinet.fortios.fortios_firewall_central_snat_map:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_central_snat_map:
          comments: "<your_own_value>"
          dst_addr:
              -
                  name: "default_name_5 (source firewall.address.name firewall.addrgrp.name)"
          dst_addr6:
              -
                  name: "default_name_7 (source firewall.address6.name firewall.addrgrp6.name)"
          dst_port: "<your_own_value>"
          dstintf:
              -
                  name: "default_name_10 (source system.interface.name system.zone.name)"
          nat: "disable"
          nat_ippool:
              -
                  name: "default_name_13 (source firewall.ippool.name)"
          nat_ippool6:
              -
                  name: "default_name_15 (source firewall.ippool6.name)"
          nat_port: "<your_own_value>"
          nat46: "enable"
          nat64: "enable"
          orig_addr:
              -
                  name: "default_name_20 (source firewall.address.name firewall.addrgrp.name system.external-resource.name)"
          orig_addr6:
              -
                  name: "default_name_22 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
          orig_port: "<your_own_value>"
          policyid: "<you_own_value>"
          port_preserve: "enable"
          protocol: "0"
          srcintf:
              -
                  name: "default_name_28 (source system.interface.name system.zone.name)"
          status: "enable"
          type: "ipv4"
          uuid: "<your_own_value>"

返回值

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

描述

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)