f5networks.f5_modules.bigip_snat_translation 模块 – 在 BIG-IP 上管理 SNAT 转换

注意

此模块是 f5networks.f5_modules 集合 (版本 1.32.1) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install f5networks.f5_modules

要在 playbook 中使用它,请指定: f5networks.f5_modules.bigip_snat_translation

f5networks.f5_modules 1.0.0 中的新增功能

概要

  • 管理 BIG-IP 系统上的 SNAT 转换。

参数

参数

注释

address

别名:ip

字符串

指定 SNAT 转换的 IP 地址。当 statepresentenableddisabled 时,此参数是必需的。

此参数设置后无法更新。

arp

布尔值

如果为 true,则指定 NAT 发送 ARP 请求。

选项

  • false

  • true

connection_limit

整数

指定转换地址必须达到的连接数限制,超过此限制后,它将不再启动连接。 0 的默认值表示该设置已禁用。

可接受的值范围是 0 - 65535

description

字符串

snat-translation 的描述。 none or '' 设置为默认的空描述。

ip_idle_timeout

字符串

指定使用 SNAT 地址启动的到 IP 地址的连接在自动断开之前允许保持空闲的时间量。 indefinite 可防止连接超时。

可接受的值范围是 0 - 4294967295 秒。指定 indefinite 将其设置为最大值。

name

字符串 / 必需

SNAT 转换的名称。

partition

字符串

用于管理资源的设备分区。

当使用 Common 以外的分区时,与 state absent 一起使用时是必需的。

provider

字典

f5networks.f5_modules 1.0.0 中新增

包含连接详细信息的字典对象。

auth_provider

字符串

配置 auth provider 以从远程设备获取身份验证令牌。

此选项在使用 BIG-IQ 设备时才会真正使用。

no_f5_teem

布尔值

如果为 yes,则不会将 TEEM 遥测数据发送到 F5。

您可以通过设置环境变量 F5_TELEMETRY_OFF 来省略此选项。

先前使用的变量 F5_TEEM 已弃用,因为其名称令人困惑。

选项

  • false ← (默认)

  • true

password

别名:pass, pwd

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。

您可以通过设置环境变量 F5_PASSWORD 来省略此选项。

server

字符串 / 必需

BIG-IP 主机或 BIG-IQ 主机。

您可以通过设置环境变量 F5_SERVER 来省略此选项。

server_port

整数

BIG-IP 服务器端口。

您可以通过设置环境变量 F5_SERVER_PORT 来省略此选项。

默认值: 443

timeout

整数

指定与网络设备通信的超时时间(秒),用于连接或发送命令。如果在操作完成之前超时,模块将出错。

transport

字符串

配置连接到远程设备时要使用的传输连接。

选项

  • "rest" ← (默认)

user

字符串 / 必需

连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须在设备上具有管理员权限。

您可以通过设置环境变量 F5_USER 来省略此选项。

validate_certs

布尔值

如果为 no,则不会验证 SSL 证书。仅在使用自签名证书的个人控制站点上使用此选项。

您可以通过设置环境变量 F5_VALIDATE_CERTS 来省略此选项。

选项

  • false

  • true ← (默认)

state

字符串

SNAT 转换状态。如果为 absent,则删除 SNAT 转换(如果存在)。 present 创建 SNAT 转换并启用它。如果为 enabled,则启用 SNAT 转换(如果存在)。如果为 disabled,则根据需要创建 SNAT 转换,并将状态设置为 disabled

选项

  • "present" ← (默认)

  • "absent"

  • "enabled"

  • "disabled"

tcp_idle_timeout

字符串

指定使用 SNAT 地址启动的 TCP 连接在自动断开之前允许保持空闲的时间。indefinite 可防止连接超时。

可接受的值范围是 0 - 4294967295 秒。指定 indefinite 将其设置为最大值。

traffic_group

字符串

snat-translation 地址的流量组。创建新地址时,如果未指定此值,则默认为 /Common/traffic-group-1

udp_idle_timeout

字符串

指定使用 SNAT 地址启动的 UDP 连接在自动断开之前允许保持空闲的时间。indefinite 可防止连接超时。

可接受的值范围是 0 - 4294967295 秒。指定 indefinite 将其设置为最大值。

备注

注意

  • 有关使用 Ansible 管理 F5 网络设备的更多信息,请参见 https://ansible.org.cn/integrations/networks/f5

  • 需要 BIG-IP 软件版本 >= 12。

  • F5 模块仅操作 F5 产品的运行配置。为确保 BIG-IP 特定配置持久保存到磁盘,请务必包含至少一项使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。有关如何正确使用该模块保存运行配置,请参阅该模块的文档。

示例

- name: Create a SNAT translation 'my-snat-translation'
  bigip_snat_translation:
    name: my-snat-pool
    state: present
    address: 10.10.10.10
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Modify a SNAT translation 'my-snat-translation'
  bigip_snat_translation:
    name: my-snat-pool
    state: present
    address: 10.10.10.10
    arp: false
    connection_limit: 300
    ip_idle_timeout: 1800
    tcp_idle_timeout: 1800
    udp_idle_timeout: 1800
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Disable a SNAT translation 'my-snat-translation'
  bigip_snat_translation:
    name: my-snat-pool
    state: disabled
    address: 10.10.10.10
    arp: false
    connection_limit: 300
    ip_idle_timeout: 1800
    tcp_idle_timeout: 1800
    udp_idle_timeout: 1800
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Enable a SNAT translation 'my-snat-translation'
  bigip_snat_translation:
    name: my-snat-pool
    state: enabled
    address: 10.10.10.10
    arp: false
    connection_limit: 300
    ip_idle_timeout: 1800
    tcp_idle_timeout: 1800
    udp_idle_timeout: 1800
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Create using partition other then /Common on a SNAT translation 'my-new-snat-translation'
  bigip_snat_translation:
    name: my-new-snat-pool
    state: enabled
    address: 10.10.10.10
    arp: false
    connection_limit: 300
    ip_idle_timeout: 1800
    partition: ansible
    tcp_idle_timeout: 1800
    udp_idle_timeout: 1800
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Modify using traffic group other then /Common/traffic-group-1 on a SNAT translation 'my-new-snat-translation'
  bigip_snat_translation:
    name: my-new-snat-pool
    state: enabled
    address: 10.10.10.10
    arp: false
    connection_limit: 300
    ip_idle_timeout: 1800
    partition: ansible
    tcp_idle_timeout: 1800
    traffic_group: /Common/ansible
    udp_idle_timeout: 1800
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

返回值

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

描述

address

字符串

用于 SNAT 转换的 IP 地址。

返回:changed 和 success

示例: "10.10.10.10"

arp

布尔值

snat-translation 是否发送 arp 请求。

返回:changed

示例: true

connection_limit

整数

虚拟地址的新连接限制。

返回:changed

示例: 1000

description

字符串

snat-translation 的描述。

返回:changed

示例: "My snat-translation"

ip_idle_timeout

字符串

snat-translation 的 IP 空闲超时值。

返回:changed

示例: "300"

state

字符串

snat-translation 的新状态。

返回:changed

示例: "disabled"

tcp_idle_timeout

字符串

snat-translation 的 TCP 空闲超时值。

返回:changed

示例: "1800"

traffic_group

字符串

分配的流量组。

返回:changed

示例: "/Common/traffic-group-1"

udp_idle_timeout

字符串

snat-translation 的 UDP 空闲超时值。

返回:changed

示例: "indefinite"

作者

  • Greg Crosby (@crosbygw)

  • Wojciech Wypior (@wojtek0806)